#include <string.h>#include <stdint.h>| #define CCONST | ( | a, | |||
| b, | |||||
| c, | |||||
| d | ) | ((((VstInt32)a) << 24) | (((VstInt32)b) << 16) | (((VstInt32)c) << 8) | (((VstInt32)d) << 0)) |
Four Character Constant (for AEffect->uniqueID)
| #define DECLARE_VST_DEPRECATED | ( | identifier | ) | __##identifier##Deprecated |
Declares identifier as deprecated.
| #define kEffectMagic CCONST ('V', 's', 't', 'P') |
AEffect magic number
| #define kVstVersion 2400 |
Current VST Version
| #define VST_2_1_EXTENSIONS 1 |
Version 2.1 extensions (08-06-2000).
Define SDK Version (you can generate different versions (from 2.0 to 2.4) of this SDK by setting the unwanted extensions to 0).
| #define VST_2_2_EXTENSIONS 1 |
Version 2.2 extensions (08-06-2001).
| #define VST_2_3_EXTENSIONS 1 |
Version 2.3 extensions (20-05-2003).
| #define VST_64BIT_PLATFORM _WIN64 || __LP64__ |
Define for 64 Bit Platform.
| #define VST_FORCE_DEPRECATED VST_2_4_EXTENSIONS |
Disable for Hosts to serve Plug-ins below VST 2.4
| #define VSTCALLBACK |
| typedef int16_t VstInt16 |
16 bit integer type
| typedef int32_t VstInt32 |
32 bit integer type
| typedef int64_t VstInt64 |
64 bit integer type
| enum AEffectOpcodes |
Basic dispatcher Opcodes (Host to Plug-in)
| effOpen |
no arguments
|
| effClose |
no arguments
|
| effSetProgram |
[value]: new program number
|
| effGetProgram |
[return value]: current program number
|
| effSetProgramName |
[ptr]: char* with new program name, limited to kVstMaxProgNameLen
|
| effGetProgramName |
[ptr]: char buffer for current program name, limited to kVstMaxProgNameLen
|
| effGetParamLabel |
[ptr]: char buffer for parameter label, limited to kVstMaxParamStrLen
|
| effGetParamDisplay |
[ptr]: char buffer for parameter display, limited to kVstMaxParamStrLen
|
| effGetParamName |
[ptr]: char buffer for parameter name, limited to kVstMaxParamStrLen
|
| effGetVu |
|
| effSetSampleRate |
[opt]: new sample rate for audio processing
|
| effSetBlockSize |
[value]: new maximum block size for audio processing
|
| effMainsChanged |
[value]: 0 means "turn off", 1 means "turn on"
|
| effEditGetRect |
[ptr]: ERect** receiving pointer to editor size
|
| effEditOpen |
[ptr]: system dependent Window pointer, e.g. HWND on Windows
|
| effEditClose |
no arguments
|
| effEditDraw |
|
| effEditMouse |
|
| effEditKey |
|
| effEditIdle |
no arguments
|
| effEditTop |
|
| effEditSleep |
|
| effIdentify |
|
| effGetChunk |
[ptr]: void** for chunk data address [index]: 0 for bank, 1 for program
|
| effSetChunk |
[ptr]: chunk data [value]: byte size [index]: 0 for bank, 1 for program
|
| effNumOpcodes |
| enum AudioMasterOpcodes |
Basic dispatcher Opcodes (Plug-in to Host)
| audioMasterAutomate |
[index]: parameter index [opt]: parameter value
|
| audioMasterVersion |
[return value]: Host VST version (for example 2400 for VST 2.4)
|
| audioMasterCurrentId |
[return value]: current unique identifier on shell plug-in
|
| audioMasterIdle |
no arguments
|
| audioMasterPinConnected |
|
| enum VstAEffectFlags |
AEffect flags
| effFlagsHasEditor | set if the plug-in provides a custom editor |
| effFlagsCanReplacing | supports replacing process mode (which should the default mode in VST 2.4) |
| effFlagsProgramChunks | program data is handled in formatless chunks |
| effFlagsIsSynth | plug-in is a synth (VSTi), Host may assign mixer channels for its outputs |
| effFlagsNoSoundInStop | plug-in does not produce sound when input is all silence |
| effFlagsCanDoubleReplacing | plug-in supports double precision processing |
| effFlagsHasClip |
|
| effFlagsHasVu |
|
| effFlagsCanMono |
|
| effFlagsExtIsAsync |
|
| effFlagsExtHasBuffer |
|
| enum VstStringConstants |
String length limits (in characters excl. 0 byte)
| kVstMaxProgNameLen | used for effGetProgramName, effSetProgramName, effGetProgramNameIndexed |
| kVstMaxParamStrLen | used for effGetParamLabel, effGetParamDisplay, effGetParamName |
| kVstMaxVendorStrLen | used for effGetVendorString, audioMasterGetVendorString |
| kVstMaxProductStrLen | used for effGetProductString, audioMasterGetProductString |
| kVstMaxEffectNameLen | used for effGetEffectName |
| char* vst_strncat | ( | char * | dst, | |
| const char * | src, | |||
| size_t | maxLen | |||
| ) | [inline] |
String concatenation taking care of null terminator.
| char* vst_strncpy | ( | char * | dst, | |
| const char * | src, | |||
| size_t | maxLen | |||
| ) | [inline] |
String copy taking care of null terminator.