VST 3 Interfaces
VST 3.6.7
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 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 | IMidiMapping |
MIDI Mapping Interface. More... | |
class | INoteExpressionController |
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 | 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 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 | 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.