VST2.4 specs 
HOME   |   Software       VST2.4 specs :: FIRST   -   PREV   -   NEXT

effGetSpeakerArrangement / getSpeakerArrangement()


C++: VstIntPtr function dispatcher(AEffect* e, VstInt32 opcode, VstInt32 index, VstIntPtr value, void* ptr, float opt);
Delphi: function dispatcher(e: PAEffect; opcode, index: VstInt32; value: VstIntPtr; ptr: pointer; opt: Single): VstIntPtr; cdecl;
always returns 0, unless otherwise defined.
all string-pointers points to zero terminated strings.
e[ ]: = plugin receives as entry parameter
x[ ]: = plugin returns to host

dispatcher() function using opcode 69:
69. effGetSpeakerArrangement   >= VST2.3   @see AudioEffectX::getSpeakerArrangement()
e[value]: pointer to VstSpeakerArrangement** pluginInput
e[ptr]: pointer to VstSpeakerArrangement** pluginOutput
x[return]: 1 = successful

C++ method:
 bool AudioEffectX::getSpeakerArrangement(VstSpeakerArrangement** pluginInput, VstSpeakerArrangement** pluginOutput)

Delphi method:
 function AudioEffectX.getSpeakerArrangement(var pluginInput,pluginOutput: PVstSpeakerArrangement): boolean;

VstSpeakerArrangement structure:
 struct VstSpeakerArrangement
 {
  VstInt32 type;                     // e.g. #kSpeakerArr51 for 5.1  @see VstSpeakerArrangementType
  VstInt32 numChannels;              // number of channels in this speaker arrangement
  VstSpeakerProperties speakers[8];  // variable sized speaker array
 };

VstSpeakerArrangementType constants:
 enum VstSpeakerArrangementType
 {
  kSpeakerArrUserDefined = -2, // -2=user defined
  kSpeakerArrEmpty = -1,       // -1=empty arrangement
  kSpeakerArrMono  =  0,       // 0=M
  kSpeakerArrStereo,           // 1=L R
  kSpeakerArrStereoSurround,   // 2=Ls Rs
  kSpeakerArrStereoCenter,     // 3=Lc Rc
  kSpeakerArrStereoSide,       // 4=Sl Sr
  kSpeakerArrStereoCLfe,       // 5=C Lfe
  kSpeakerArr30Cine,           // 6=L R C
  kSpeakerArr30Music,          // 7=L R S
  kSpeakerArr31Cine,           // 8=L R C Lfe
  kSpeakerArr31Music,          // 9=L R Lfe S
  kSpeakerArr40Cine,           // 10=L R C   S (LCRS)
  kSpeakerArr40Music,          // 11=L R Ls  Rs (Quadro)
  kSpeakerArr41Cine,           // 12=L R C   Lfe S (LCRS+Lfe)
  kSpeakerArr41Music,          // 13=L R Lfe Ls Rs (Quadro+Lfe)
  kSpeakerArr50,               // 14=L R C Ls  Rs 
  kSpeakerArr51,               // 15=L R C Lfe Ls Rs
  kSpeakerArr60Cine,           // 16=L R C   Ls  Rs Cs
  kSpeakerArr60Music,          // 17=L R Ls  Rs  Sl Sr 
  kSpeakerArr61Cine,           // 18=L R C   Lfe Ls Rs Cs
  kSpeakerArr61Music,          // 19=L R Lfe Ls  Rs Sl Sr 
  kSpeakerArr70Cine,           // 20=L R C Ls  Rs Lc Rc 
  kSpeakerArr70Music,          // 21=L R C Ls  Rs Sl Sr
  kSpeakerArr71Cine,           // 22=L R C Lfe Ls Rs Lc Rc
  kSpeakerArr71Music,          // 23=L R C Lfe Ls Rs Sl Sr
  kSpeakerArr80Cine,           // 24=L R C Ls  Rs Lc Rc Cs
  kSpeakerArr80Music,          // 25=L R C Ls  Rs Cs Sl Sr
  kSpeakerArr81Cine,           // 26=L R C Lfe Ls Rs Lc Rc Cs
  kSpeakerArr81Music,          // 27=L R C Lfe Ls Rs Cs Sl Sr 
  kSpeakerArr102,              // 28=L R C Lfe Ls Rs Tfl Tfc Tfr Trl Trr Lfe2
  kNumSpeakerArr
 };

FIRST   -   PREV   -   NEXT   -   TOP