|
VST 3 Interfaces
VST 3.6.12
SDK for developing VST Plug-in
|
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. 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 | 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 char8 * | CString |
| 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... | |
Functions | |
| IMessage * | allocateMessage (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... | |
All VST specific interfaces are located in Vst namespace.
| typedef uint32 NoteExpressionTypeID |
| typedef double NoteExpressionValue |
| typedef uint32 KeyswitchTypeID |
| typedef uint32 PhysicalUITypeID |
| typedef uint32 PrefetchableSupport |
| enum ComponentFlags |
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. |
| enum SymbolicSampleSizes |
Symbolic sample size.
| Enumerator | |
|---|---|
| kSample32 |
32-bit precision |
| kSample64 |
64-bit precision |
| enum ProcessModes |
Processing mode informs the Plug-in about the context and at which frequency the process call is called.
VST3 defines 3 modes:
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.
| 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. |
| enum RestartFlags |
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 (.
|
| kRoutingInfoChanged |
RoutingInfo has changed (.
|
| enum KnobModes |
| enum ControllerNumbers |
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. |
| kCtrlEff3Depth |
Effect 3 Depth (Chorus Send Level) |
| kCtrlEff4Depth |
Effect 4 Depth (Delay/Variation Level) |
| kCtrlEff5Depth |
Effect 5 Depth. |
| 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. |
| kPitchBend |
Pitch Bend. |
| kCountCtrlNumber |
Count of Controller Number. |
| kCtrlProgramChange |
Program Change (use LegacyMIDICCOutEvent.value only) |
| kCtrlPolyPressure |
Poly 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
| enum KeyswitchTypeIDs |
KeyswitchTypeIDs describes the type of a key switch.
| enum PhysicalUITypeIDs |
PhysicalUITypeIDs describes the type of Physical UI (PUI) which could be associated to a note expression.
| enum ePrefetchableSupport |
|
inline |
| const int32 kDefaultFactoryFlags = PFactoryInfo::kUnicode |
Standard value for PFactoryInfo::flags.