VST 3 Interfaces  VST 3.6.14
SDK for developing VST Plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Steinberg::Vst Namespace Reference

All VST specific interfaces are located in Vst namespace. More...

Namespaces

 Attributes
 Attributes used to defined a Layer in a VST XML Representation.
 
 AttributesFlags
 Attributes Flags defining a Layer in a VST XML Representation.
 
 AttributesFunction
 Attributes Function used to defined the function of a Layer in a VST XML Representation.
 
 AttributesStyle
 Attributes Style associated a specific Layer Type in a VST XML Representation.
 
 ChannelContext
 For Channel Context Info Interface.
 
 CurveType
 Curve Types used in a VST XML Representation.
 
 LayerType
 Layer Types used in a VST XML Representation.
 
 MusicalCharacter
 Predefined Musical Character.
 
 MusicalInstrument
 Predefined Musical Instrument.
 
 MusicalStyle
 Predefined Musical Style.
 
 PlugType
 Component Types used as subCategories in PClassInfo2.
 
 PresetAttributes
 Predefined Preset Attributes.
 
 SpeakerArr
 Speaker Arrangement Definitions (SpeakerArrangement)
 
 StateType
 Predefined StateType used for Key kStateType.
 
 ViewType
 View Types used for IEditController::createView.
 

Classes

struct  AudioBusBuffers
 Processing buffers of an audio bus. More...
 
struct  BusInfo
 BusInfo: This is the structure used with getBusInfo, informing the host about what is a specific given bus. More...
 
struct  Chord
 Description of a chord. More...
 
struct  ChordEvent
 Chord event specific data. More...
 
struct  DataEvent
 Data event specific data. More...
 
struct  Event
 Event. More...
 
struct  FrameRate
 Frame Rate A frame rate describes the number of image (frame) displayed per second. More...
 
class  IAttributeList
 Attribute list used in IMessage and IStreamAttributes. More...
 
class  IAudioPresentationLatency
 Extended IAudioProcessor interface for a component. More...
 
class  IAudioProcessor
 Audio Processing Interface. More...
 
class  IAutomationState
 Extended Plug-in interface IEditController. More...
 
class  IComponent
 Component Base Interface. More...
 
class  IComponentHandler
 Host callback interface for an edit controller. More...
 
class  IComponentHandler2
 Extended Host callback interface IComponentHandler2 for an edit controller. More...
 
class  IComponentHandler3
 Extended Host callback interface IComponentHandler3 for an edit controller. More...
 
class  IComponentHandlerBusActivation
 Extended Host callback interface IComponentHandlerBusActivation for an edit controller. More...
 
class  IConnectionPoint
 Connect a component with another one. More...
 
class  IContextMenu
 Context Menu Interface. More...
 
struct  IContextMenuItem
 IContextMenuItem is an entry element of the context menu. More...
 
class  IContextMenuTarget
 Context Menu Item Target Interface. More...
 
class  IEditController
 Edit controller component interface. More...
 
class  IEditController2
 Edit controller component interface extension. More...
 
class  IEditControllerHostEditing
 Parameter Editing from Host. More...
 
class  IEventList
 List of events to process. More...
 
class  IHostApplication
 Basic Host Callback Interface. More...
 
class  IInterAppAudioConnectionNotification
 Extended Plug-in interface IEditController for Inter-App Audio connection state change notifications. More...
 
class  IInterAppAudioHost
 Inter-App Audio host Interface. More...
 
class  IInterAppAudioPresetManager
 Extended Plug-in interface IEditController for Inter-App Audio Preset Management. More...
 
class  IKeyswitchController
 Extended Plug-in interface IEditController for key switches support. More...
 
class  IMessage
 Private Plug-in message. More...
 
class  IMidiLearn
 MIDI Learn Interface. More...
 
class  IMidiMapping
 MIDI Mapping Interface. More...
 
class  INoteExpressionController
 Extended Plug-in interface IEditController for note expression event support. More...
 
class  INoteExpressionPhysicalUIMapping
 Extended Plug-in interface IEditController for note expression event support. More...
 
class  IParameterChanges
 All parameter changes of a processing block. More...
 
class  IParameterFinder
 Extension for IPlugView to find view parameters (lookup value under mouse support) More...
 
class  IParamValueQueue
 Queue of changes for a specific parameter. More...
 
class  IPlugInterfaceSupport
 Host callback interface for an edit controller. More...
 
class  IPrefetchableSupport
 Indicates that the Plug-in could or not support Prefetch (dynamically). More...
 
class  IProgramListData
 Component extension to access program list data. More...
 
class  IStreamAttributes
 Meta attributes of a stream. More...
 
class  ITestPlugProvider
 Test Helper. More...
 
class  IUnitData
 Component extension to access unit data. More...
 
class  IUnitHandler
 Host callback for unit support. More...
 
class  IUnitHandler2
 Host callback for extended unit support. More...
 
class  IUnitInfo
 Edit controller extension to describe the Plug-in structure. More...
 
class  IVst3ToAAXWrapper
 VST 3 to AAX Wrapper Interface. More...
 
class  IVst3ToAUWrapper
 VST 3 to AU Wrapper Interface. More...
 
class  IVst3ToVst2Wrapper
 VST 3 to VST 2 Wrapper Interface. More...
 
class  IVst3WrapperMPESupport
 Wrapper MPE Support Interface. More...
 
class  IXmlRepresentationController
 Extended Plug-in interface IEditController for a component. More...
 
struct  KeyswitchInfo
 KeyswitchInfo is the structure describing a key switch This structure is used by the method IKeyswitchController::getKeyswitchInfo. More...
 
struct  LegacyMIDICCOutEvent
 Legacy MIDI CC Out event specific data. More...
 
struct  NoteExpressionTextEvent
 Note Expression Text event. More...
 
struct  NoteExpressionTypeInfo
 NoteExpressionTypeInfo is the structure describing a note expression supported by the Plug-in. More...
 
struct  NoteExpressionValueDescription
 Description of a Note Expression Type This structure is part of the NoteExpressionTypeInfo structure, it describes for given NoteExpressionTypeID its default value (for example 0.5 for a kTuningTypeID (kIsBipolar: centered)), its minimum and maximum (for predefined NoteExpressionTypeID the full range is predefined too) and a stepCount when the given NoteExpressionTypeID is limited to discrete values (like on/off state). More...
 
struct  NoteExpressionValueEvent
 Note Expression Value event. More...
 
struct  NoteOffEvent
 Note-off event specific data. More...
 
struct  NoteOnEvent
 Note-on event specific data. More...
 
struct  ParameterInfo
 Controller Parameter Info. More...
 
struct  PhysicalUIMap
 PhysicalUIMap describes a mapping of a noteExpression Type to a Physical UI Type. More...
 
struct  PhysicalUIMapList
 PhysicalUIMapList describes a list of PhysicalUIMap. More...
 
struct  PolyPressureEvent
 PolyPressure event specific data. More...
 
struct  ProcessContext
 Audio processing context. More...
 
struct  ProcessData
 Any data needed in audio processing. More...
 
struct  ProcessSetup
 Audio processing setup. More...
 
struct  ProgramListInfo
 Basic Program List Description. More...
 
struct  RepresentationInfo
 RepresentationInfo is the structure describing a representation This structure is used in the function. More...
 
struct  RoutingInfo
 Routing Information: When the Plug-in supports multiple I/O buses, a host may want to know how the buses are related. More...
 
struct  ScaleEvent
 Scale event specific data. More...
 
struct  UnitInfo
 Basic Unit Description. More...
 

Typedefs

typedef int32 KnobMode
 Knob Mode. More...
 
typedef uint32 NoteExpressionTypeID
 
typedef double NoteExpressionValue
 
typedef uint32 KeyswitchTypeID
 
typedef uint32 PhysicalUITypeID
 
typedef uint32 PrefetchableSupport
 
typedef char16 TChar
 UTF-16 character. More...
 
typedef TChar String128 [128]
 128 character UTF-16 string More...
 
typedef const char8CString
 C-String. More...
 
typedef int32 MediaType
 media type (audio/event) More...
 
typedef int32 BusDirection
 bus direction (in/out) More...
 
typedef int32 BusType
 bus type (main/aux) More...
 
typedef int32 IoMode
 I/O mode (see The Simple Mode) More...
 
typedef int32 UnitID
 unit identifier More...
 
typedef double ParamValue
 parameter value type More...
 
typedef uint32 ParamID
 parameter identifier More...
 
typedef int32 ProgramListID
 program list identifier More...
 
typedef int16 CtrlNumber
 MIDI controller number (see ControllerNumbers for allowed values) More...
 
typedef double TQuarterNotes
 time expressed in quarter notes More...
 
typedef int64 TSamples
 time expressed in audio samples More...
 
typedef uint32 ColorSpec
 color defining by 4 component ARGB value (Alpha/Red/Green/Blue) More...
 
typedef float Sample32
 32-bit precision audio sample More...
 
typedef double Sample64
 64-bit precision audio sample More...
 
typedef double SampleRate
 sample rate More...
 
typedef uint64 SpeakerArrangement
 Bitset of speakers. More...
 
typedef uint64 Speaker
 Bit for one speaker. More...
 

Enumerations

enum  ComponentFlags { kDistributable = 1 << 0, kSimpleModeSupported = 1 << 1 }
 Component Flags used as classFlags in PClassInfo2. More...
 
enum  SymbolicSampleSizes { kSample32, kSample64 }
 Symbolic sample size. More...
 
enum  ProcessModes { kRealtime, kPrefetch, kOffline }
 Processing mode informs the Plug-in about the context and at which frequency the process call is called. More...
 
enum  MediaTypes { kAudio = 0, kEvent, kNumMediaTypes }
 Bus media types. More...
 
enum  BusDirections { kInput = 0, kOutput }
 Bus directions. More...
 
enum  BusTypes { kMain = 0, kAux }
 Bus types. More...
 
enum  IoModes { kSimple = 0, kAdvanced, kOfflineProcessing }
 I/O modes. More...
 
enum  RestartFlags {
  kReloadComponent = 1 << 0, kIoChanged = 1 << 1, kParamValuesChanged = 1 << 2, kLatencyChanged = 1 << 3,
  kParamTitlesChanged = 1 << 4, kMidiCCAssignmentChanged = 1 << 5, kNoteExpressionChanged = 1 << 6, kIoTitlesChanged = 1 << 7,
  kPrefetchableSupportChanged = 1 << 8, kRoutingInfoChanged = 1 << 9
}
 Flags used for IComponentHandler::restartComponent. More...
 
enum  KnobModes { kCircularMode = 0, kRelativCircularMode, kLinearMode }
 Knob Mode. More...
 
enum  ControllerNumbers {
  kCtrlBankSelectMSB = 0, kCtrlModWheel = 1, kCtrlBreath = 2, kCtrlFoot = 4,
  kCtrlPortaTime = 5, kCtrlDataEntryMSB = 6, kCtrlVolume = 7, kCtrlBalance = 8,
  kCtrlPan = 10, kCtrlExpression = 11, kCtrlEffect1 = 12, kCtrlEffect2 = 13,
  kCtrlGPC1 = 16, kCtrlGPC2 = 17, kCtrlGPC3 = 18, kCtrlGPC4 = 19,
  kCtrlBankSelectLSB = 32, kCtrlDataEntryLSB = 38, kCtrlSustainOnOff = 64, kCtrlPortaOnOff = 65,
  kCtrlSustenutoOnOff = 66, kCtrlSoftPedalOnOff = 67, kCtrlLegatoFootSwOnOff = 68, kCtrlHold2OnOff = 69,
  kCtrlSoundVariation = 70, kCtrlFilterCutoff = 71, kCtrlReleaseTime = 72, kCtrlAttackTime = 73,
  kCtrlFilterResonance = 74, kCtrlDecayTime = 75, kCtrlVibratoRate = 76, kCtrlVibratoDepth = 77,
  kCtrlVibratoDelay = 78, kCtrlSoundCtrler10 = 79, kCtrlGPC5 = 80, kCtrlGPC6 = 81,
  kCtrlGPC7 = 82, kCtrlGPC8 = 83, kCtrlPortaControl = 84, kCtrlEff1Depth = 91,
  kCtrlEff2Depth = 92, kCtrlEff3Depth = 93, kCtrlEff4Depth = 94, kCtrlEff5Depth = 95,
  kCtrlDataIncrement = 96, kCtrlDataDecrement = 97, kCtrlNRPNSelectLSB = 98, kCtrlNRPNSelectMSB = 99,
  kCtrlRPNSelectLSB = 100, kCtrlRPNSelectMSB = 101, kCtrlAllSoundsOff = 120, kCtrlResetAllCtrlers = 121,
  kCtrlLocalCtrlOnOff = 122, kCtrlAllNotesOff = 123, kCtrlOmniModeOff = 124, kCtrlOmniModeOn = 125,
  kCtrlPolyModeOnOff = 126, kCtrlPolyModeOn = 127, kAfterTouch = 128, kPitchBend = 129,
  kCountCtrlNumber, kCtrlProgramChange = 130, kCtrlPolyPressure = 131, kCtrlQuarterFrame = 132
}
 Controller Numbers (MIDI) More...
 
enum  NoteExpressionTypeIDs : uint32 {
  kVolumeTypeID = 0, kPanTypeID, kTuningTypeID, kVibratoTypeID,
  kExpressionTypeID, kBrightnessTypeID, kTextTypeID, kPhonemeTypeID,
  kCustomStart = 100000, kCustomEnd = 200000, kInvalidTypeID = 0xFFFFFFFF
}
 NoteExpressionTypeIDs describes the type of the note expression. More...
 
enum  KeyswitchTypeIDs : uint32 { kNoteOnKeyswitchTypeID = 0, kOnTheFlyKeyswitchTypeID, kOnReleaseKeyswitchTypeID, kKeyRangeTypeID }
 KeyswitchTypeIDs describes the type of a key switch. More...
 
enum  PhysicalUITypeIDs {
  kPUIXMovement = 0, kPUIYMovement, kPUIPressure, kPUITypeCount,
  kInvalidPUITypeID = 0xFFFFFFFF
}
 PhysicalUITypeIDs describes the type of Physical UI (PUI) which could be associated to a note expression. More...
 
enum  ePrefetchableSupport { kIsNeverPrefetchable = 0, kIsYetPrefetchable, kIsNotYetPrefetchable, kNumPrefetchableSupport }
 

Functions

IMessageallocateMessage (IHostApplication *host)
 

Variables

const int32 kDefaultFactoryFlags = PFactoryInfo::kUnicode
 Standard value for PFactoryInfo::flags. More...
 
const Speaker kSpeakerL = 1 << 0
 Speaker Definitions. More...
 
const Speaker kSpeakerR = 1 << 1
 Right (R) More...
 
const Speaker kSpeakerC = 1 << 2
 Center (C) More...
 
const Speaker kSpeakerLfe = 1 << 3
 Subbass (Lfe) More...
 
const Speaker kSpeakerLs = 1 << 4
 Left Surround (Ls) More...
 
const Speaker kSpeakerRs = 1 << 5
 Right Surround (Rs) More...
 
const Speaker kSpeakerLc = 1 << 6
 Left of Center (Lc) - Front Left Center. More...
 
const Speaker kSpeakerRc = 1 << 7
 Right of Center (Rc) - Front Right Center. More...
 
const Speaker kSpeakerS = 1 << 8
 Surround (S) More...
 
const Speaker kSpeakerCs = kSpeakerS
 Center of Surround (Cs) - Back Center - Surround (S) More...
 
const Speaker kSpeakerSl = 1 << 9
 Side Left (Sl) More...
 
const Speaker kSpeakerSr = 1 << 10
 Side Right (Sr) More...
 
const Speaker kSpeakerTc = 1 << 11
 Top Center Over-head, Top Middle (Tc) More...
 
const Speaker kSpeakerTfl = 1 << 12
 Top Front Left (Tfl) More...
 
const Speaker kSpeakerTfc = 1 << 13
 Top Front Center (Tfc) More...
 
const Speaker kSpeakerTfr = 1 << 14
 Top Front Right (Tfr) More...
 
const Speaker kSpeakerTrl = 1 << 15
 Top Rear/Back Left (Trl) More...
 
const Speaker kSpeakerTrc = 1 << 16
 Top Rear/Back Center (Trc) More...
 
const Speaker kSpeakerTrr = 1 << 17
 Top Rear/Back Right (Trr) More...
 
const Speaker kSpeakerLfe2 = 1 << 18
 Subbass 2 (Lfe2) More...
 
const Speaker kSpeakerM = 1 << 19
 Mono (M) More...
 
const Speaker kSpeakerACN0 = (Speaker)1 << 20
 Ambisonic ACN 0. More...
 
const Speaker kSpeakerACN1 = (Speaker)1 << 21
 Ambisonic ACN 1. More...
 
const Speaker kSpeakerACN2 = (Speaker)1 << 22
 Ambisonic ACN 2. More...
 
const Speaker kSpeakerACN3 = (Speaker)1 << 23
 Ambisonic ACN 3. More...
 
const Speaker kSpeakerACN4 = (Speaker)1 << 38
 Ambisonic ACN 4. More...
 
const Speaker kSpeakerACN5 = (Speaker)1 << 39
 Ambisonic ACN 5. More...
 
const Speaker kSpeakerACN6 = (Speaker)1 << 40
 Ambisonic ACN 6. More...
 
const Speaker kSpeakerACN7 = (Speaker)1 << 41
 Ambisonic ACN 7. More...
 
const Speaker kSpeakerACN8 = (Speaker)1 << 42
 Ambisonic ACN 8. More...
 
const Speaker kSpeakerACN9 = (Speaker)1 << 43
 Ambisonic ACN 9. More...
 
const Speaker kSpeakerACN10 = (Speaker)1 << 44
 Ambisonic ACN 10. More...
 
const Speaker kSpeakerACN11 = (Speaker)1 << 45
 Ambisonic ACN 11. More...
 
const Speaker kSpeakerACN12 = (Speaker)1 << 46
 Ambisonic ACN 12. More...
 
const Speaker kSpeakerACN13 = (Speaker)1 << 47
 Ambisonic ACN 13. More...
 
const Speaker kSpeakerACN14 = (Speaker)1 << 48
 Ambisonic ACN 14. More...
 
const Speaker kSpeakerACN15 = (Speaker)1 << 49
 Ambisonic ACN 15. More...
 
const Speaker kSpeakerTsl = 1 << 24
 Top Side Left (Tsl) More...
 
const Speaker kSpeakerTsr = 1 << 25
 Top Side Right (Tsr) More...
 
const Speaker kSpeakerLcs = 1 << 26
 Left of Center Surround (Lcs) - Back Left Center. More...
 
const Speaker kSpeakerRcs = 1 << 27
 Right of Center Surround (Rcs) - Back Right Center. More...
 
const Speaker kSpeakerBfl = 1 << 28
 Bottom Front Left (Bfl) More...
 
const Speaker kSpeakerBfc = 1 << 29
 Bottom Front Center (Bfc) More...
 
const Speaker kSpeakerBfr = 1 << 30
 Bottom Front Right (Bfr) More...
 
const Speaker kSpeakerPl = (Speaker)1 << 31
 Proximity Left (Pl) More...
 
const Speaker kSpeakerPr = (Speaker)1 << 32
 Proximity Right (Pr) More...
 
const Speaker kSpeakerBsl = (Speaker)1 << 33
 Bottom Side Left (Bsl) More...
 
const Speaker kSpeakerBsr = (Speaker)1 << 34
 Bottom Side Right (Bsr) More...
 
const Speaker kSpeakerBrl = (Speaker)1 << 35
 Bottom Rear Left (Brl) More...
 
const Speaker kSpeakerBrc = (Speaker)1 << 36
 Bottom Rear Center (Brc) More...
 
const Speaker kSpeakerBrr = (Speaker)1 << 37
 Bottom Rear Right (Brr) More...
 

Detailed Description

All VST specific interfaces are located in Vst namespace.

Typedef Documentation

typedef int32 KnobMode

Knob Mode.

typedef double NoteExpressionValue

Enumeration Type Documentation

Component Flags used as classFlags in PClassInfo2.

Enumerator
kDistributable 

Component can be run on remote computer.

kSimpleModeSupported 

Component supports simple IO mode (or works in simple mode anyway) see The Simple Mode.

Symbolic sample size.

See also
ProcessSetup, ProcessData
Enumerator
kSample32 

32-bit precision

kSample64 

64-bit precision

Processing mode informs the Plug-in about the context and at which frequency the process call is called.

VST3 defines 3 modes:

  • kRealtime: each process call is called at a realtime frequency (defined by [numSamples of ProcessData] / samplerate). The Plug-in should always try to process as fast as possible in order to let enough time slice to other Plug-ins.
  • kPrefetch: each process call could be called at a variable frequency (jitter, slower / faster than realtime), the Plug-in should process at the same quality level than realtime, Plug-in must not slow down to realtime (e.g. disk streaming)! The host should avoid to process in kPrefetch mode such sampler based Plug-in.
  • kOffline: each process call could be faster than realtime or slower, higher quality than realtime could be used. Plug-ins using disk streaming should be sure that they have enough time in the process call for streaming, if needed by slowing down to realtime or slower.

Note about Process Modes switching: -Switching between kRealtime and kPrefetch process modes are done in realtime thread without need of calling IAudioProcessor::setupProcessing, the Plug-in should check in process call the member processMode of ProcessData in order to know in which mode it is processed. -Switching between kRealtime (or kPrefetch) and kOffline requires that the host calls IAudioProcessor::setupProcessing in order to inform the Plug-in about this mode change.

See also
ProcessSetup, ProcessData
Enumerator
kRealtime 

realtime processing

kPrefetch 

prefetch processing

kOffline 

offline processing

enum IoModes

I/O modes.

Enumerator
kSimple 

1:1 Input / Output. Only used for Instruments. See The Simple Mode

kAdvanced 

n:m Input / Output. Only used for Instruments.

kOfflineProcessing 

Plug-in used in an offline processing context.

Flags used for IComponentHandler::restartComponent.

Enumerator
kReloadComponent 

The Component should be reloaded [SDK 3.0.0].

kIoChanged 

Input and/or Output Bus configuration has changed [SDK 3.0.0].

kParamValuesChanged 

Multiple parameter values have changed (as result of a program change for example) [SDK 3.0.0].

kLatencyChanged 

Latency has changed (IAudioProcessor.getLatencySamples) [SDK 3.0.0].

kParamTitlesChanged 

Parameter titles or default values or flags have changed [SDK 3.0.0].

kMidiCCAssignmentChanged 

MIDI Controller Assignments have changed [SDK 3.0.1].

kNoteExpressionChanged 

Note Expression has changed (info, count, PhysicalUIMapping, ...) [SDK 3.5.0].

kIoTitlesChanged 

Input and/or Output bus titles have changed [SDK 3.5.0].

kPrefetchableSupportChanged 

Prefetch support has changed (.

See also
IPrefetchableSupport) [SDK 3.6.1]
kRoutingInfoChanged 

RoutingInfo has changed (.

See also
IComponent) [SDK 3.6.6]
enum KnobModes

Knob Mode.

Enumerator
kCircularMode 

Circular with jump to clicked position.

kRelativCircularMode 

Circular without jump to clicked position.

kLinearMode 

Linear: depending on vertical movement.

Controller Numbers (MIDI)

Enumerator
kCtrlBankSelectMSB 

Bank Select MSB.

kCtrlModWheel 

Modulation Wheel.

kCtrlBreath 

Breath controller.

kCtrlFoot 

Foot Controller.

kCtrlPortaTime 

Portamento Time.

kCtrlDataEntryMSB 

Data Entry MSB.

kCtrlVolume 

Channel Volume (formerly Main Volume)

kCtrlBalance 

Balance.

kCtrlPan 

Pan.

kCtrlExpression 

Expression.

kCtrlEffect1 

Effect Control 1.

kCtrlEffect2 

Effect Control 2.

kCtrlGPC1 

General Purpose Controller #1.

kCtrlGPC2 

General Purpose Controller #2.

kCtrlGPC3 

General Purpose Controller #3.

kCtrlGPC4 

General Purpose Controller #4.

kCtrlBankSelectLSB 

Bank Select LSB.

kCtrlDataEntryLSB 

Data Entry LSB.

kCtrlSustainOnOff 

Damper Pedal On/Off (Sustain)

kCtrlPortaOnOff 

Portamento On/Off.

kCtrlSustenutoOnOff 

Sustenuto On/Off.

kCtrlSoftPedalOnOff 

Soft Pedal On/Off.

kCtrlLegatoFootSwOnOff 

Legato Footswitch On/Off.

kCtrlHold2OnOff 

Hold 2 On/Off.

kCtrlSoundVariation 

Sound Variation.

kCtrlFilterCutoff 

Filter Cutoff (Timbre/Harmonic Intensity)

kCtrlReleaseTime 

Release Time.

kCtrlAttackTime 

Attack Time.

kCtrlFilterResonance 

Filter Resonance (Brightness)

kCtrlDecayTime 

Decay Time.

kCtrlVibratoRate 

Vibrato Rate.

kCtrlVibratoDepth 

Vibrato Depth.

kCtrlVibratoDelay 

Vibrato Delay.

kCtrlSoundCtrler10 

undefined

kCtrlGPC5 

General Purpose Controller #5.

kCtrlGPC6 

General Purpose Controller #6.

kCtrlGPC7 

General Purpose Controller #7.

kCtrlGPC8 

General Purpose Controller #8.

kCtrlPortaControl 

Portamento Control.

kCtrlEff1Depth 

Effect 1 Depth (Reverb Send Level)

kCtrlEff2Depth 

Effect 2 Depth (Tremolo Level)

kCtrlEff3Depth 

Effect 3 Depth (Chorus Send Level)

kCtrlEff4Depth 

Effect 4 Depth (Delay/Variation/Detune Level)

kCtrlEff5Depth 

Effect 5 Depth (Phaser Level)

kCtrlDataIncrement 

Data Increment (+1)

kCtrlDataDecrement 

Data Decrement (-1)

kCtrlNRPNSelectLSB 

NRPN Select LSB.

kCtrlNRPNSelectMSB 

NRPN Select MSB.

kCtrlRPNSelectLSB 

RPN Select LSB.

kCtrlRPNSelectMSB 

RPN Select MSB.

kCtrlAllSoundsOff 

All Sounds Off.

kCtrlResetAllCtrlers 

Reset All Controllers.

kCtrlLocalCtrlOnOff 

Local Control On/Off.

kCtrlAllNotesOff 

All Notes Off.

kCtrlOmniModeOff 

Omni Mode Off + All Notes Off.

kCtrlOmniModeOn 

Omni Mode On + All Notes Off.

kCtrlPolyModeOnOff 

Poly Mode On/Off + All Sounds Off.

kCtrlPolyModeOn 

Poly Mode On.

kAfterTouch 

After Touch (associated to Channel Pressure)

kPitchBend 

Pitch Bend Change.

kCountCtrlNumber 

Count of Controller Number.

kCtrlProgramChange 

Program Change (use LegacyMIDICCOutEvent.value only)

kCtrlPolyPressure 

Polyphonic Key Pressure (use LegacyMIDICCOutEvent.value for pitch and LegacyMIDICCOutEvent.value2 for pressure)

kCtrlQuarterFrame 

Quarter Frame ((use LegacyMIDICCOutEvent.value only)

NoteExpressionTypeIDs describes the type of the note expression.

VST predefines some types like volume, pan, tuning by defining their ranges and curves. Used by NoteExpressionEvent::typeId and NoteExpressionTypeID::typeId

See also
NoteExpressionTypeInfo
Enumerator
kVolumeTypeID 

Volume, plain range [0 = -oo , 0.25 = 0dB, 0.5 = +6dB, 1 = +12dB]: plain = 20 * log (4 * norm)

kPanTypeID 

Panning (L-R), plain range [0 = left, 0.5 = center, 1 = right].

kTuningTypeID 

Tuning, plain range [0 = -120.0 (ten octaves down), 0.5 none, 1 = +120.0 (ten octaves up)] plain = 240 * (norm - 0.5) and norm = plain / 240 + 0.5 oneOctave is 12.0 / 240.0; oneHalfTune = 1.0 / 240.0;.

kVibratoTypeID 

Vibrato.

kExpressionTypeID 

Expression.

kBrightnessTypeID 

Brightness.

kTextTypeID 

TODO:

kPhonemeTypeID 

TODO:

kCustomStart 

start of custom note expression type ids

kCustomEnd 

end of custom note expression type ids

kInvalidTypeID 

indicates an invalid note expression type

KeyswitchTypeIDs describes the type of a key switch.

See also
KeyswitchInfo
Enumerator
kNoteOnKeyswitchTypeID 

press before noteOn is played

kOnTheFlyKeyswitchTypeID 

press while noteOn is played

kOnReleaseKeyswitchTypeID 

press before entering release

kKeyRangeTypeID 

key should be maintained pressed for playing

PhysicalUITypeIDs describes the type of Physical UI (PUI) which could be associated to a note expression.

See also
PhysicalUIMap
Enumerator
kPUIXMovement 

absolute X position when touching keys of PUIs.

Range [0=left, 0.5=middle, 1=right]

kPUIYMovement 

absolute Y position when touching keys of PUIs.

Range [0=bottom/near, 0.5=center, 1=top/far]

kPUIPressure 

pressing a key down on keys of PUIs.

Range [0=No Pressure, 1=Full Pressure]

kPUITypeCount 

count of current defined PUIs

kInvalidPUITypeID 

indicates an invalid or not initialized PUI type

Enumerator
kIsNeverPrefetchable 

every instance of the plug does not support prefetch processing

kIsYetPrefetchable 

in the current state the plug support prefetch processing

kIsNotYetPrefetchable 

in the current state the plug does not support prefetch processing

kNumPrefetchableSupport 

Function Documentation

IMessage* Steinberg::Vst::allocateMessage ( IHostApplication *  host)
inline

Variable Documentation

const int32 kDefaultFactoryFlags = PFactoryInfo::kUnicode

Standard value for PFactoryInfo::flags.

Empty

Copyright ©2019 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.