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 59:
59. effEditKeyDown
>= VST2.1 (editor)
@see AEffEditor::onKeyDown()
e[index]: character
e[value]: virtual key-code
e[opt]: key-modifiers
x[return]: 0 = KeyDown not used, 1 = KeyDown used
C++ method:
bool AEffEditor::onKeyDown(VstKeyCode& keyCode)
Delphi method:
function AEffEditor.onKeyDown(var keyCode: TVstKeyCode): VstInt32;
VstKeyCode structure:
struct VstKeyCode
{
VstInt32 character; // ASCII character
unsigned char virt; // @see VstVirtualKey
unsigned char modifier; // @see VstModifierKey
};