Classes | |
| struct | juce::VST3ClientExtensions |
| An interface to allow an AudioProcessor to implement extended VST3-specific functionality. More... | |
Namespaces | |
| namespace | juce |
Macros | |
| #define | JUCE_VST3_COMPONENT_CLASS |
| An optional user defined preprocessor definition for declaring the VST3 plugin identifier as used by the host. | |
| #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_COMPONENT_CLASS |
An optional user defined preprocessor definition for declaring the VST3 plugin identifier as used by the host.
This is useful if you're creating a VST3 plugin using JUCE that needs to replace a VST3 plugin that was not originally created using JUCE.
If there are multiple identifiers this plugin needs to replace take a look at JUCE_VST3_COMPATIBLE_CLASSES. If required, both preprocessor definitions can be used in combination for maximum compatibility.
The definition of this preprocessor must be defined at the project level, normally in your CMake or Projucer project files.
If JUCE_VST3_CAN_REPLACE_VST2 is enabled, the VST3 plugin will have the same identifier as the VST2 plugin and therefore this preprocessor definition will have no effect!
This preprocessor definition should be defined as a string containing 32 hex characters, for example...
Referenced by juce::VST3Interface::jucePluginId().
| #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.
At the time of writing not all hosts support this feature, if you don't have multiple plugins with different identifiers already released, consider using JUCE_VST3_COMPONENT_CLASS instead.
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.