aeffect.h File Reference

#include <string.h>
#include <stdint.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 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 int16_t VstInt16
 16 bit integer type
typedef int32_t VstInt32
 32 bit integer type
typedef int64_t 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_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 int16_t VstInt16

16 bit integer type

typedef int32_t VstInt32

32 bit integer type

typedef int64_t 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 
Deprecated:
deprecated in VST 2.4 r2

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.