aeffect.h File Reference

#include <string.h>

Classes

struct  AEffect
struct  ERect

Defines

#define VSTCALLBACK
#define VST_2_1_EXTENSIONS   1
 Version 2.1 extensions (08-06-2000).
#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_2_4_EXTENSIONS   1
 Version 2.4 extensions (01-01-2006).
#define kVstVersion   2400
#define VST_FORCE_DEPRECATED   VST_2_4_EXTENSIONS
#define DECLARE_VST_DEPRECATED(identifier)   __##identifier##Deprecated
#define VST_64BIT_PLATFORM   _WIN64 || __LP64__
#define CCONST(a, b, c, d)   ((((VstInt32)a) << 24) | (((VstInt32)b) << 16) | (((VstInt32)c) << 8) | (((VstInt32)d) << 0))
#define kEffectMagic   CCONST ('V', 's', 't', 'P')

Typedefs

typedef short VstInt16
 16 bit integer type
typedef int VstInt32
 32 bit integer type
typedef long long VstInt64
 64 bit integer type
typedef VstInt32 VstIntPtr
 platform-dependent integer type, same size as pointer

Enumerations

enum  VstAEffectFlags {
  effFlagsHasEditor = 1 << 0, effFlagsCanReplacing = 1 << 4, effFlagsProgramChunks = 1 << 5, effFlagsIsSynth = 1 << 8,
  effFlagsNoSoundInStop = 1 << 9, effFlagsCanDoubleReplacing = 1 << 12, effFlagsHasClip = 1 << 1, effFlagsHasVu = 1 << 2,
  effFlagsCanMono = 1 << 3, effFlagsExtIsAsync = 1 << 10, effFlagsExtHasBuffer = 1 << 11
}
enum  AEffectOpcodes {
  effOpen = 0, effClose, effSetProgram, effGetProgram,
  effSetProgramName, effGetProgramName, effGetParamLabel, effGetParamDisplay,
  effGetParamName, effGetVu, effSetSampleRate, effSetBlockSize,
  effMainsChanged, effEditGetRect, effEditOpen, effEditClose,
  effEditDraw, effEditMouse, effEditKey, effEditIdle,
  effEditTop, effEditSleep, effIdentify, effGetChunk,
  effSetChunk, effNumOpcodes
}
enum  AudioMasterOpcodes {
  audioMasterAutomate = 0, audioMasterVersion, audioMasterCurrentId, audioMasterIdle,
  audioMasterPinConnected
}
enum  VstStringConstants {
  kVstMaxProgNameLen = 24, kVstMaxParamStrLen = 8, kVstMaxVendorStrLen = 64, kVstMaxProductStrLen = 64,
  kVstMaxEffectNameLen = 32
}

Functions

char * vst_strncpy (char *dst, const char *src, size_t maxLen)
char * vst_strncat (char *dst, const char *src, size_t maxLen)
template<class T>
T * FromVstPtr (VstIntPtr &arg)
template<class T>
VstIntPtr ToVstPtr (T *ptr)

Define Documentation

#define CCONST a,
b,
c,
 )     ((((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_2_4_EXTENSIONS   1
 

Version 2.4 extensions (01-01-2006).

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

typedef short VstInt16
 

16 bit integer type

typedef int VstInt32
 

32 bit integer type

typedef long long VstInt64
 

64 bit integer type

typedef VstInt32 VstIntPtr
 

platform-dependent integer type, same size as pointer


Enumeration Type Documentation

enum AEffectOpcodes
 

Basic dispatcher Opcodes (Host to Plug-in)

Enumerator:
effOpen  no arguments

See also:
AudioEffect::open
effClose  no arguments

See also:
AudioEffect::close
effSetProgram  [value]: new program number

See also:
AudioEffect::setProgram
effGetProgram  [return value]: current program number

See also:
AudioEffect::getProgram
effSetProgramName  [ptr]: char* with new program name, limited to kVstMaxProgNameLen

See also:
AudioEffect::setProgramName
effGetProgramName  [ptr]: char buffer for current program name, limited to kVstMaxProgNameLen

See also:
AudioEffect::getProgramName
effGetParamLabel  [ptr]: char buffer for parameter label, limited to kVstMaxParamStrLen

See also:
AudioEffect::getParameterLabel
effGetParamDisplay  [ptr]: char buffer for parameter display, limited to kVstMaxParamStrLen

See also:
AudioEffect::getParameterDisplay
effGetParamName  [ptr]: char buffer for parameter name, limited to kVstMaxParamStrLen

See also:
AudioEffect::getParameterName
effGetVu 
Deprecated:
deprecated in VST 2.4
effSetSampleRate  [opt]: new sample rate for audio processing

See also:
AudioEffect::setSampleRate
effSetBlockSize  [value]: new maximum block size for audio processing

See also:
AudioEffect::setBlockSize
effMainsChanged  [value]: 0 means "turn off", 1 means "turn on"

See also:
AudioEffect::suspend

AudioEffect::resume

effEditGetRect  [ptr]: ERect** receiving pointer to editor size

See also:
ERect

AEffEditor::getRect

effEditOpen  [ptr]: system dependent Window pointer, e.g. HWND on Windows

See also:
AEffEditor::open
effEditClose  no arguments

See also:
AEffEditor::close
effEditDraw 
Deprecated:
deprecated in VST 2.4
effEditMouse 
Deprecated:
deprecated in VST 2.4
effEditKey 
Deprecated:
deprecated in VST 2.4
effEditIdle  no arguments

See also:
AEffEditor::idle
effEditTop 
Deprecated:
deprecated in VST 2.4
effEditSleep 
Deprecated:
deprecated in VST 2.4
effIdentify 
Deprecated:
deprecated in VST 2.4
effGetChunk  [ptr]: void** for chunk data address [index]: 0 for bank, 1 for program

See also:
AudioEffect::getChunk
effSetChunk  [ptr]: chunk data [value]: byte size [index]: 0 for bank, 1 for program

See also:
AudioEffect::setChunk
effNumOpcodes 

enum AudioMasterOpcodes
 

Basic dispatcher Opcodes (Plug-in to Host)

Enumerator:
audioMasterAutomate  [index]: parameter index [opt]: parameter value

See also:
AudioEffect::setParameterAutomated
audioMasterVersion  [return value]: Host VST version (for example 2400 for VST 2.4)

See also:
AudioEffect::getMasterVersion
audioMasterCurrentId  [return value]: current unique identifier on shell plug-in

See also:
AudioEffect::getCurrentUniqueId
audioMasterIdle  no arguments

See also:
AudioEffect::masterIdle
audioMasterPinConnected  [return value]: 0=true, 1=false [index]: pin index [value]: 0=input, 1=output

See also:
AudioEffect::isInputConnected

AudioEffect::isOutputConnected

enum VstAEffectFlags
 

AEffect flags

Enumerator:
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 
Deprecated:
deprecated in VST 2.4
effFlagsHasVu 
Deprecated:
deprecated in VST 2.4
effFlagsCanMono 
Deprecated:
deprecated in VST 2.4
effFlagsExtIsAsync 
Deprecated:
deprecated in VST 2.4
effFlagsExtHasBuffer 
Deprecated:
deprecated in VST 2.4

enum VstStringConstants
 

String length limits (in characters excl. 0 byte)

Enumerator:
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


Function Documentation

template<class T>
T* FromVstPtr VstIntPtr arg  )  [inline]
 

Cast VstIntPtr to pointer.

template<class T>
VstIntPtr ToVstPtr T *  ptr  )  [inline]
 

Cast pointer to VstIntPtr.

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.

Empty


Copyright ©2006 Steinberg Media Technologies. All Rights Reserved.