Enum BassVstDispatcherOpCodes
VST Dispatcher OpCodes.
For more info see the Steinberg VST SDK documentation.
Namespace: System.Dynamic.ExpandoObject
Assembly: ManagedBass.Vst.dll
Syntax
public enum BassVstDispatcherOpCodes : int
BeginLoadBank
Called before a Bank is loaded, "ptr" points to VstPatchChunkInfo structure.
Return -1 if the Bank can not be loaded, return 1 if it can be loaded else 0 (for compatibility).
BeginLoadProgram
Called before a Program is loaded, "ptr" points to VstPatchChunkInfo structure. Return -1 if the Program can not be loaded, return 1 if it can be loaded else 0 (for compatibility).
BeginSetProgram
Called before a new program is loaded.
CanBeAutomated
Parameter index in "index".
CanDo
"ptr" contains one of the 'plugCanDos' strings (e.g. "bypass").
Close
Exit, release all memory and other resources!
ConnectInput
Input at "index" has been (dis-)connected; "value" == 0: disconnected, else connected.
ConnectOutput
Onput at "index" has been (dis-)connected; "value" == 0: disconnected, else connected.
CopyProgram
Copy current program to destination "index"
Note: implies setParameter connections, configuration.
EditClose
Editor: No arguments.
EditDraw
Editor: Draw method, ptr points to rect (MAC Only).
EditGetRect
Editor: Stuff rect (top, left, bottom, right) into ptr.
EditIdle
Editor: no arguments. Be gentle!
EditKey
Editor: System keycode in value.
EditKeyDown
Character in "index", virtual in "value", modifiers in "opt", return -1 if not used, return 1 if used.
EditKeyUp
Character in "index", virtual in "value", modifiers in "opt", return -1 if not used, return 1 if used.
EditMouse
Editor: index: x, value: y (MAC Only).
EditOpen
Editor: System dependant Window pointer in ptr.
EditSleep
Editor: Window goes to background.
EditTop
Editor: Window has topped, no arguments.
EndSetProgram
Called when the program is loaded.
GetChunk
Host requests pointer to chunk into (void**)ptr, byteSize returned.
GetCurrentMidiProgram
Returns the programIndex of the current program.
Passed "ptr" points to MidiProgramName struct, struct will be filled with information for the current program.
GetCurrentPosition
Realtime: for external dsp, see flag bits below.
GetDestinationBuffer
Realtime: for external dsp, see flag bits below. returns float*.
GetEffectName
char* name (max 32 bytes) in "ptr".
GetErrorText
char* text (max 256 bytes) in "ptr".
GetIcon
GUI: void* in "ptr", not yet defined.
GetInputProperties
"index", VstPinProperties* in ptr, return != 0 means true.
GetMidiKeyName
Passed "ptr" points to MidiKeyName struct.
Struct will be filled with information for 'thisProgramIndex' and 'thisKeyNumber'. If keyName is "" the standard name of the key will be displayed. If 0 is returned, no MidiKeyNames are defined for 'thisProgramIndex'.
GetMidiProgramCategory
Passed "ptr" points to MidiProgramCategory struct.
Struct will be filled with information for 'thisCategoryIndex'. Returns number of used categoryIndexes, if 0 is returned, no MidiProgramCategories supported.
GetMidiProgramName
Passed "ptr" points to MidiProgramName struct.
Struct will be filled with information for 'thisProgramIndex'. Returns number of used programIndexes, if 0 is returned, no MidiProgramNames supported.
GetNumMidiInputChannels
Returns the number of used MIDI input channels (1-15).
GetNumMidiOutputChannels
Returns the number of used MIDI output channels (1-15).
GetNumProgramCategories
No arguments. This is for dividing programs into groups (like GM).
GetOutputProperties
"index", VstPinProperties* in ptr, return != 0 means true.
GetParamDisplay
Stuff parameter "index" textual representation into string.
Examples: '0.5', '-3', 'PLATE'
GetParameterProperties
Of param "index", VstParameterProperties* in "ptr".
GetParamLabel
Stuff parameter "index" label (max 8 char + 0) into string.
Examples: 'sec', 'dB', 'type'
GetParamName
Stuff parameter "index" label (max 8 char + 0) into string.
Examples: 'Time', 'Gain', 'RoomType'
GetPlugCategory
No parameter, return value is category.
GetProductString
Fills "ptr" with a string with product name (max 64 char).
GetProgram
Returns the current program number.
GetProgramName
Stuff program name (max 24 char + 0) into string.
GetProgramNameIndexed
Get program name of category "value", program "index" into "ptr".
Category (that is, "value") may be -1, in which case program indices are enumerated linearily (as usual); otherwise, each category starts over with index 0.
GetSpeakerArrangement
VstSpeakerArrangement** pluginInput in "value". VstSpeakerArrangement** pluginOutput in "ptr".
GetTailSize
Returns tail size; 0 is default (return 1 for 'no tail').
GetVendorString
Fills "ptr" with a string identifying the vendor (max 64 char).
GetVendorVersion
Returns vendor-specific version.
GetVstVersion
Returns 2 for VST 2; older versions return 0; 2100 for VST 2.1...2400 for VST 2.4.
GetVu
Called if (flags & (effFlagsHasClip | effFlagsHasVu)).
HasMidiProgramsChanged
Returns 1 if the MidiProgramNames or MidiKeyNames had changed on this channel, 0 otherwise. "ptr" ignored.
Identify
Returns 'NvEf'.
Idle
Idle call in response to audioMasterneedIdle. Must return 1 to keep idle calls beeing issued.
KeysRequired
Returns 0: needs keys (default for 1.0 plugs), 1: don't need.
MainsChanged
System: The user has switched the 'power on' button to value (0 off, else on). This only switches audio processing; you should flush delay buffers etc.
NumOpcodes
Returns the number of available OpCodes
OfflineNotify
Offline: ptr = VstAudioFile array, value = count, index = start flag.
OfflinePrepare
Offline: ptr = VstOfflineTask array, value = count.
OfflineRun
Offline: ptr = VstOfflineTask array, value = count.
Open
Initialise.
ProcessEvents
VstEvents* in "ptr".
ProcessVarIo
VstVariableIo* in "ptr".
SetBlockSize
System: In value (this is the maximun size of an audio block, pls check sampleframes in process call).
SetBlockSizeAndSampleRate
Block size in "value", sampleRate in "opt"
SetBypass
On/Off in "value" (0 = off, 1 = on).
SetChunk
Plug-in receives saved chunk, byteSize passed.
SetEditKnobMode
Mode in "value": 0: circular, 1:circular relativ, 2:linear.
SetPanLaw
PanLaw : Type (Linear, Equal Power,.. see enum PanLaw Type) in "value", Gain in "opt": for Linear : [1.0 means 0dB PanLaw], [~0.58 means -4.5dB], [0.5 means -6.02dB].
SetProcessPrecision
Sets the processing precision in "value" (0=32 bit, 1=64 bit).
SetProgram
Program number in "value".
SetProgramName
User changed program name (max 24 char + 0) to as passed in string.
SetSampleRate
System: In opt (float value in Hz; for example 44100.0Hz).
SetSpeakerArrangement
VstSpeakerArrangement* pluginInput in "value"; VstSpeakerArrangement* pluginOutput in "ptr".
SetTotalSampleToProcess
Called in offline (non RealTime) Process before process is called, indicates how many sample will be processed.
SetViewPosition
GUI: set view position (in window) to x "index" y "value"
ShellGetNextPlugin
This opcode is only called, if plugin is of type kPlugCategShell. Returns the next plugin's uniqueID.
"ptr" points to a char buffer of size 64, which is to be filled with the name of the plugin including the terminating zero.
StartProcess
Called before the start of process call.
StopProcess
Called after the stop of process call.
String2Parameter
Parameter index in "index", string in "ptr".
VendorSpecific
No definition, vendor specific handling.