#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.