Classes | |
struct | juce::VST3ClientExtensions |
An interface to allow an AudioProcessor to implement extended VST3-specific functionality. More... |
Namespaces | |
namespace | juce |
Macros | |
#define | JUCE_VST3_COMPATIBLE_CLASSES |
An optional user defined preprocessor definition for declaring a comma separated list of VST2 and VST3 plugin identifiers that this VST3 plugin can replace in a DAW session. |
#define JUCE_VST3_COMPATIBLE_CLASSES |
An optional user defined preprocessor definition for declaring a comma separated list of VST2 and VST3 plugin identifiers that this VST3 plugin can replace in a DAW session.
The definition of this preprocessor must be defined at the project level, normally in your CMake or Projucer project files.
This information will be used to implement the IPluginCompatibility interface.
If JUCE_VST3_CAN_REPLACE_VST2 is enabled, the VST3 plugin will have the same identifier as the VST2 plugin and therefore you don't need to implement this preprocessor definition.
This preprocessor definition can contain code that depends on any class or function defined as part of the VST3Interface struct but should avoid any other dependencies!
Each compatible class is a 16-byte array that corresponds to the VST3 interface identifier as reported by a plugins IComponent interface. For VST2 or JUCE plugins these identifiers can be determined in the following ways:
Examples
If the parameter IDs between compatible versions differ VST3ClientExtensions::getCompatibleParameterIds() should also be overridden.