A generic timestamped event.
long type; |
Any of the following constants :
|
||||||||||||
long byteSize; |
of this event, excl. type and byteSize | ||||||||||||
long deltaFrames; |
sample frames related to the current block start sample position | ||||||||||||
long flags; |
generic flags, none defined yet (0) | ||||||||||||
char data[16]; |
size may vary but is usually 16 |
To be casted from a VstEvent
.
long type; |
kVstMidiType |
long byteSize; |
24 |
long deltaFrames; |
sample frames related to the current block start sample position |
long flags; |
none defined yet |
long noteLength; |
(in sample frames) of entire note, if available, else 0 |
long noteOffset; |
offset into note from note start if available, else 0 |
char midiData[4]; |
1 thru 3 midi bytes; midiData[3] is reserved (zero) |
char detune; |
-64 to +63 cents; for scales other than 'well-tempered' ('microtuning') |
char noteOffVelocity; |
|
char reserved1; |
zero |
char reserved2;
|
zero |
A block of events for the current audio block.
long numEvents; |
|
long reserved; |
zero |
VstEvent *events[2]; |
variable |
|
A string up to 63 chars. | |||
|
|
|||
|
- | |||
|
a string up to 6 chars, plus one delimiter. | |||
|
- |
kPlugCategUnknown
|
|
---|---|
kPlugCategEffect
|
|
kPlugCategSynth
|
|
kPlugCategAnalysis
|
|
kPlugCategMastering
|
|
kPlugCategSpacializer
|
like surround panners |
kPlugCategRoomFx
|
like delays and reverbs. |
kPlugSurroundFx
|
Dedicated surround processor. |
kPlugCategRestoration
|
|
PlugCategOfflineProcess
|
|
kPlugCategShell
|
plugin which is only a container of plugins |
kPlugCategGenerator
|
struct VstParameterProperties;
float stepFloat; |
||||||||
float smallStepFloat; |
||||||||
float largeStepFloat; |
||||||||
char label[64]; |
A string up to 63 chars. | |||||||
long flags; |
Parameter properties flags :
|
|||||||
long minInteger; |
||||||||
long maxInteger; |
||||||||
long stepInteger; |
||||||||
long largeStepInteger; |
||||||||
char shortLabel[8]; |
Recommended: 6 chars + delimiter. | |||||||
short displayIndex; |
For remote controllers, the index where this parameter should be displayed
(starting with 0).
Note that the kVstParameterSupportsDisplayIndex flag must be set. |
|||||||
short category;
|
Host can also possibly display the parameter group (category),
such as --------------------------- Osc 1 Wave Detune Octave Mod --------------------------- if the plug supports it (flag kVstParameterSupportsDisplayCategory). 0: no category, else group index + 1 |
|||||||
short numParametersInCategory;
|
||||||||
short reserved;
|
||||||||
char categoryLabel[24];
|
for instance, "Osc 1" |
|||||||
char future[16]; |
Reserved for future use. |
The structure passed to openWindow
and closeWindow
.
char title[128]; |
The window's title. | ||||
short xPos; |
The window's horizontal position. | ||||
short yPos; |
The window's vertical position. | ||||
short width; |
The window's width. | ||||
short height; |
The window's height. | ||||
long style; |
|
||||
void *parent; |
The parent of this window. | ||||
void *userHandle; |
Reserved. | ||||
void *winHandle; |
Reserved. | ||||
char future[104]; |
Reserved for future use. |
float **inputs; |
|
float **outputs; |
|
long numSamplesInput; |
|
long numSamplesOutput; |
|
long *numSamplesInputProcessed; |
|
long *numSamplesOutputProcessed; |
long version; |
Format Version (should be 1) |
long pluginUniqueID; |
UniqueID of the plugin |
long pluginVersion; |
Plugin Version |
long numElements; |
Number of Programs (Bank) or Parameters (Program) |
char future[48]; |
enum
kLinearPanLaw = 0 |
L = pan * M; R = (1 - pan) * M. |
---|---|
kEqualPowerPanLaw |
L = pow (pan, 0.5) * M;
R = pow ((1 - pan), 0.5) * M; |
|
units | range | except |
---|---|---|---|
float azimuth; |
rad | -PI...PI | 10.f for LFE channel |
float elevation; |
rad | -PI/2...PI/2 | 10.f for LFE channel |
float radius; |
meter | 0.f for LFE channel | |
float reserved; |
0. | ||
char name[64]; |
For new setups, new names should be given (L/R/C... won't do) | ||
long type; | speaker type | ||
char future[28]; |
Reserved for future use. |
enum
kSpeakerUndefined
|
Undefinded |
kSpeakerM
|
Mono (M) |
kSpeakerL
|
Left (L) |
kSpeakerR
|
Right (R) |
kSpeakerC
|
Center (C) |
kSpeakerLfe
|
Subbass (Lfe) |
kSpeakerLs
|
Left Surround (Ls) |
kSpeakerRs
|
Right Surround (Rs) |
kSpeakerLc
|
Left of Center (Lc) |
kSpeakerRc
|
Right of Center (Rc) |
kSpeakerS
|
Surround (S) |
kSpeakerCs = kSpeakerS
|
Center of Surround (Cs) = Surround (S) |
kSpeakerSl
|
Side Left (Sl) |
kSpeakerSr
|
Side Right (Sr) |
kSpeakerTm
|
Top Middle (Tm) |
kSpeakerTfl
|
Top Front Left (Tfl) |
kSpeakerTfc
|
Top Front Center (Tfc) |
kSpeakerTfr
|
Top Front Right (Tfr) |
kSpeakerTrl
|
Top Rear Left (Trl) |
kSpeakerTrc
|
Top Rear Center (Trc) |
kSpeakerTrr
|
Top Rear Right (Trr) |
kSpeakerLfe2
|
Subbass 2 (Lfe2) |
enum
kSpeakerU32 = -32
|
|
kSpeakerU31
|
|
kSpeakerU30
|
|
kSpeakerU29
|
|
kSpeakerU28
|
|
kSpeakerU27
|
|
kSpeakerU26
|
|
kSpeakerU25
|
|
kSpeakerU24
|
|
kSpeakerU23
|
|
kSpeakerU22
|
|
kSpeakerU21
|
|
kSpeakerU20
|
== kSpeakerLfe2 |
kSpeakerU19
|
== kSpeakerTrr |
kSpeakerU18
|
== kSpeakerTrc |
kSpeakerU17
|
== kSpeakerTrl |
kSpeakerU16
|
== kSpeakerTfr |
kSpeakerU15
|
== kSpeakerTfc |
kSpeakerU14
|
== kSpeakerTfl |
kSpeakerU13
|
== kSpeakerTm |
kSpeakerU12
|
== kSpeakerSr |
kSpeakerU11
|
== kSpeakerSl |
kSpeakerU10
|
== kSpeakerCs |
kSpeakerU9
|
== kSpeakerS |
kSpeakerU8
|
== kSpeakerRc |
kSpeakerU7
|
== kSpeakerLc |
kSpeakerU6
|
== kSpeakerRs |
kSpeakerU5
|
== kSpeakerLs |
kSpeakerU4
|
== kSpeakerLfe |
kSpeakerU3
|
== kSpeakerC |
kSpeakerU2
|
== kSpeakerR |
kSpeakerU1
|
== kSpeakerL |
long type; |
(Was float lfeGain ).Speaker Arrangement type. See below. |
long numChannels; |
number of channel defined in the array speakers |
VstSpeakerProperties speakers[8]; |
Variable. The size 8 is only the "by default" size, not at all the maximum one. numChannels tells what is this size. |
enum
kSpeakerArrUserDefined = -2
|
|
kSpeakerArrEmpty = -1
|
|
kSpeakerArrMono = 0
|
M |
kSpeakerArrStereo
|
L R |
kSpeakerArrStereoSurround
|
Ls Rs |
kSpeakerArrStereoCenter
|
Lc Rc |
kSpeakerArrStereoSide
|
Sl Sr |
kSpeakerArrStereoCLfe
|
C Lfe |
kSpeakerArr30Cine
|
L R C |
kSpeakerArr30Music
|
L R S |
kSpeakerArr31Cine
|
L R C Lfe |
kSpeakerArr31Music
|
L R Lfe S |
kSpeakerArr40Cine
|
L R C S (LCRS) |
kSpeakerArr40Music
|
L R Ls Rs (Quadro) |
kSpeakerArr41Cine
|
L R C Lfe S (LCRS+Lfe) |
kSpeakerArr41Music
|
L R Lfe Ls Rs (Quadro+Lfe) |
kSpeakerArr50
|
L R C Ls Rs
|
kSpeakerArr51
|
L R C Lfe Ls Rs |
kSpeakerArr60Cine
|
L R C Ls Rs Cs |
kSpeakerArr60Music
|
L R Ls Rs Sl Sr
|
kSpeakerArr61Cine
|
L R C Lfe Ls Rs Cs |
kSpeakerArr61Music
|
L R Lfe Ls Rs Sl Sr
|
kSpeakerArr70Cine
|
L R C Ls Rs Lc Rc
|
kSpeakerArr70Music
|
L R C Ls Rs Sl Sr |
kSpeakerArr71Cine
|
L R C Lfe Ls Rs Lc Rc |
kSpeakerArr71Music
|
L R C Lfe Ls Rs Sl Sr |
kSpeakerArr80Cine
|
L R C Ls Rs Lc Rc Cs |
kSpeakerArr80Music
|
L R C Ls Rs Cs Sl Sr |
kSpeakerArr81Cine
|
L R C Lfe Ls Rs Lc Rc Cs |
kSpeakerArr81Music
|
L R C Lfe Ls Rs Cs Sl Sr
|
kSpeakerArr102
|
L R C Lfe Ls Rs Tfl Tfc Tfr Trl Trr Lfe2 |
kNumSpeakerArr
|
'canDo' strings. note other 'canDos' can be evaluated by calling the according function, for instance if getSampleRate returns 0, you will certainly want to assume that this selector is not supported.
"sendVstEvents" |
|
"sendVstMidiEvent" |
|
"sendVstTimeInfo" |
|
"receiveVstEvents" |
|
"receiveVstMidiEvent" |
|
"receiveVstTimeInfo" |
|
"reportConnectionChanges" |
|
"acceptIOChanges" |
|
"sizeWindow" |
|
"asyncProcessing" |
|
"offline" |
|
"supplyIdle" |
|
"supportShell" |
'shell' handling via uniqueID as suggested by Waves. |
"editFile" (2.2) |
|
"closeFileSelector" (2.2) |
|
"startStopProcess" (2.3) |
"sendVstEvents" |
|
"sendVstMidiEvent" |
|
"sendVstTimeInfo" |
|
"receiveVstEvents" |
|
"receiveVstMidiEvent" |
|
"receiveVstTimeInfo" |
|
"offline" |
|
"plugAsChannelInsert" |
|
"plugAsSend" |
|
"mixDryWet" |
|
"noRealTime" |
|
"multipass" |
|
"metapass" |
|
"1in1out" |
|
"1in2out" |
|
"2in1out" |
|
"2in2out" |
|
"2in4out" |
|
"4in2out" |
|
"4in4out" |
|
"4in8out" |
4:2 matrix to surround bus |
"8in4out" |
surround bus to 4:2 matrix |
"8in8out" |
|
"midiProgramNames" (2.1) |
|
"conformsToWindowRules" (2.1) |
|
"bypass" (2.3) |