diff options
author | André Nusser <andre.nusser@googlemail.com> | 2016-07-14 11:57:30 +0200 |
---|---|---|
committer | André Nusser <andre.nusser@googlemail.com> | 2016-07-14 16:35:07 +0200 |
commit | 53b6cbafc8923cb6e305a7e868b502069ece5177 (patch) | |
tree | a834a789438b4599a818456b98685a69599b1005 /plugin.h | |
parent | 1be0af889aaf6d3baba1cad14914a5771c66839c (diff) |
Introduce VST plugin information.
Diffstat (limited to 'plugin.h')
-rw-r--r-- | plugin.h | 25 |
1 files changed, 24 insertions, 1 deletions
@@ -33,6 +33,23 @@ class MidiEvent; +//! Contains the same plugin categories as the VST enum VstPlugCategory +enum class PluginCategory +{ + Unknown = 0, // Unknown, category not implemented + Effect, // Simple Effect + Synth, // VST Instrument (Synths, samplers,...) + Analysis, // Scope, Tuner, ... + Mastering, // Dynamics, ... + Spacializer, // Panners, ... + RoomFx, // Delays and Reverbs + SurroundFx, // Dedicated surround processor + Restoration, // Denoiser, ... + OfflineProcess, // Offline Process + Shell, // Plug-in is container of other plug-ins + Generator // ToneGenerator, ... +}; + //! Abstract base-class for plugin implementations. class Plugin { public: @@ -46,7 +63,7 @@ public: virtual bool getFreeWheel() const = 0; //! This method is called by the host when the free-wheel mode changes. - virtual void onFreeWheelChange(bool freewheel) = 0; + virtual void onFreeWheelChange(bool freewheel) {} //! Call this to get current samplerate. @@ -106,6 +123,12 @@ public: //! Get unique plugin id. virtual std::string getId() = 0; + // Functions used to set plugin information for VST + virtual std::string effectName() = 0; + virtual std::string vendorString() = 0; + virtual std::string productString() = 0; + virtual PluginCategory pluginCategory() = 0; + //! Process callback. virtual void process(std::size_t pos, const std::vector<MidiEvent>& input_events, |