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 11:
11. effSetBlockSize
>= VST1.0
@see AudioEffect::setBlockSize()
host sets BlockSize, host MUST call this inside a Suspend() ... Resume() sequence
e[value]: maximum number of sampleframes an audio block may contain, please check sampleframes
in processReplacing() for the exact number of sampleframe actually used)
host dispatch sequence:
processReplacing() >> stopProcess() >> suspend()
setBlockSize()
resume() >> startProcess() >> processReplacing()
C++ method:
void AudioEffect::setBlockSize (VstInt32 blockSize)
Delphi method:
procedure AudioEffectX.setBlockSize(newvalue: VstInt32);