|
VST 3 Interfaces
VST 3.6.6
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. | |
Data Structures | |
| struct | AudioBusBuffers |
| Processing buffers of an audio bus. More... | |
| struct | BusInfo |
| Bus Description. 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 IComponent interface for a component. 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 | IConnectionPoint |
| Connect a component with another one. More... | |
| class | IContextMenu |
| Context Menu Interface. 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 IEditController interface for Inter-App Audio connection state change notifications. More... | |
| class | IInterAppAudioHost |
| Inter-App Audio host Interface. More... | |
| class | IInterAppAudioPresetManager |
| Extended IEditController interface for Inter-App Audio Preset Management. More... | |
| class | IKeyswitchController |
| Extended IEditController interface for key switches support. More... | |
| class | IMessage |
| Private Plug-in message. More... | |
| class | IMidiMapping |
| MIDI Mapping Interface. More... | |
| class | INoteExpressionController |
| Extended IEditController interface 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 | 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 | IVst3ToAUWrapper |
| VST 3 to AU Wrapper Interface. More... | |
| class | IVst3ToVst2Wrapper |
| VST 3 to VST 2 Wrapper Interface. More... | |
| class | IXmlRepresentationController |
| Extended IEditController interface 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 | 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 | 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. 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 | 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. 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 | kSpeakerW = 1 << 20 |
| B-Format W. More... | |
| const Speaker | kSpeakerX = 1 << 21 |
| B-Format X. More... | |
| const Speaker | kSpeakerY = 1 << 22 |
| B-Format Y. More... | |
| const Speaker | kSpeakerZ = 1 << 23 |
| B-Format Z. 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... | |
All VST specific interfaces are located in Vst namespace.
| typedef uint32 NoteExpressionTypeID |
| typedef double NoteExpressionValue |
| typedef uint32 KeyswitchTypeID |
| 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...) [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)
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 ePrefetchableSupport |
|
inline |
| const int32 kDefaultFactoryFlags = PFactoryInfo::kUnicode |
Standard value for PFactoryInfo::flags.