BASS.NET API for the Un4seen BASS Audio Library

BASSVSTDispatcherOpCodes Enumeration

BASS.NET API for the Un4seen BASS Audio Library
VST Dispatcher OpCodes to be used within the VST_AEFFECT_Dispatcher callback when using BASS_VST_AEFFECT.

For more info see the Steinberg VST SDK documentation.

Namespace:  Un4seen.Bass.AddOn.Vst
Assembly:  Bass.Net (in Bass.Net.dll) Version: 2.4.17.5
Syntax

public enum BASSVSTDispatcherOpCodes
Members

  Member nameValueDescription
effOpen0 Initialise.
effClose1 Exit, release all memory and other resources!
effSetProgram2 Program number in "value".
effGetProgram3 Returns the current program number.
effSetProgramName4 User changed program name (max 24 char + 0) to as passed in string.
effGetProgramName5 Stuff program name (max 24 char + 0) into string.
effGetParamLabel6 Stuff parameter "index" label (max 8 char + 0) into string.

Examples: 'sec', 'dB', 'type'

effGetParamDisplay7 Stuff parameter "index" textual representation into string.

Examples: '0.5', '-3', 'PLATE'

effGetParamName8 Stuff parameter "index" label (max 8 char + 0) into string.

Examples: 'Time', 'Gain', 'RoomType'

effGetVu9 Called if (flags & (effFlagsHasClip | effFlagsHasVu)).
effSetSampleRate10 System: In opt (float value in Hz; for example 44100.0Hz).
effSetBlockSize11 System: In value (this is the maximun size of an audio block, pls check sampleframes in process call).
effMainsChanged12 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.
effEditGetRect13 Editor: Stuff rect (top, left, bottom, right) into ptr.
effEditOpen14 Editor: System dependant Window pointer in ptr.
effEditClose15 Editor: No arguments.
effEditDraw16 Editor: Draw method, ptr points to rect (MAC Only).
effEditMouse17 Editor: index: x, value: y (MAC Only).
effEditKey18 Editor: System keycode in value.
effEditIdle19 Editor: no arguments. Be gentle!
effEditTop20 Editor: Window has topped, no arguments.
effEditSleep21 Editor: Window goes to background.
effIdentify22 Returns 'NvEf'.
effGetChunk23 Host requests pointer to chunk into (void**)ptr, byteSize returned.
effSetChunk24 Plug-in receives saved chunk, byteSize passed.
effProcessEvents25 VstEvents* in "ptr".
effCanBeAutomated26 Parameter index in "index".
effString2Parameter27 Parameter index in "index", string in "ptr".
effGetNumProgramCategories28 No arguments. This is for dividing programs into groups (like GM).
effGetProgramNameIndexed29 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.

effCopyProgram30 Copy current program to destination "index"

Note: implies setParameter connections, configuration.

effConnectInput31 Input at "index" has been (dis-)connected; "value" == 0: disconnected, else connected.
effConnectOutput32 Onput at "index" has been (dis-)connected; "value" == 0: disconnected, else connected.
effGetInputProperties33 "index", VstPinProperties* in ptr, return != 0 means true.
effGetOutputProperties34 "index", VstPinProperties* in ptr, return != 0 means true.
effGetPlugCategory35 No parameter, return value is category.
effGetCurrentPosition36 Realtime: for external dsp, see flag bits below.
effGetDestinationBuffer37 Realtime: for external dsp, see flag bits below. returns float*.
effOfflineNotify38 Offline: ptr = VstAudioFile array, value = count, index = start flag.
effOfflinePrepare39 Offline: ptr = VstOfflineTask array, value = count.
effOfflineRun40 Offline: ptr = VstOfflineTask array, value = count.
effProcessVarIo41 VstVariableIo* in "ptr".
effSetSpeakerArrangement42 VstSpeakerArrangement* pluginInput in "value"; VstSpeakerArrangement* pluginOutput in "ptr".
effSetBlockSizeAndSampleRate43 Block size in "value", sampleRate in "opt"
effSetBypass44 On/Off in "value" (0 = off, 1 = on).
effGetEffectName45 char* name (max 32 bytes) in "ptr".
effGetErrorText46 char* text (max 256 bytes) in "ptr".
effGetVendorString47 Fills "ptr" with a string identifying the vendor (max 64 char).
effGetProductString48 Fills "ptr" with a string with product name (max 64 char).
effGetVendorVersion49 Returns vendor-specific version.
effVendorSpecific50 No definition, vendor specific handling.
effCanDo51 "ptr" contains one of the 'plugCanDos' strings (e.g. "bypass").
effGetTailSize52 Returns tail size; 0 is default (return 1 for 'no tail').
effIdle53 Idle call in response to audioMasterneedIdle. Must return 1 to keep idle calls beeing issued.
effGetIcon54 GUI: void* in "ptr", not yet defined.
effSetViewPosition55 GUI: set view position (in window) to x "index" y "value"
effGetParameterProperties56 Of param "index", VstParameterProperties* in "ptr".
effKeysRequired57 Returns 0: needs keys (default for 1.0 plugs), 1: don't need.
effGetVstVersion58 Returns 2 for VST 2; older versions return 0; 2100 for VST 2.1...2400 for VST 2.4.
effEditKeyDown59 Character in "index", virtual in "value", modifiers in "opt", return -1 if not used, return 1 if used.
effEditKeyUp60 Character in "index", virtual in "value", modifiers in "opt", return -1 if not used, return 1 if used.
effSetEditKnobMode61 Mode in "value": 0: circular, 1:circular relativ, 2:linear.
effGetMidiProgramName62 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.

effGetCurrentMidiProgram63 Returns the programIndex of the current program.

Passed "ptr" points to MidiProgramName struct, struct will be filled with information for the current program.

effGetMidiProgramCategory64 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.

effHasMidiProgramsChanged65 Returns 1 if the MidiProgramNames or MidiKeyNames had changed on this channel, 0 otherwise. "ptr" ignored.
effGetMidiKeyName66 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'.

effBeginSetProgram67 Called before a new program is loaded.
effEndSetProgram68 Called when the program is loaded.
effGetSpeakerArrangement69 VstSpeakerArrangement** pluginInput in "value". VstSpeakerArrangement** pluginOutput in "ptr".
effShellGetNextPlugin70 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.

effStartProcess71 Called before the start of process call.
effStopProcess72 Called after the stop of process call.
effSetTotalSampleToProcess73 Called in offline (non RealTime) Process before process is called, indicates how many sample will be processed.
effSetPanLaw74 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].
effBeginLoadBank75 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).

effBeginLoadProgram76 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).
effSetProcessPrecision77 Sets the processing precision in "value" (0=32 bit, 1=64 bit).
effGetNumMidiInputChannels78 Returns the number of used MIDI input channels (1-15).
effGetNumMidiOutputChannels79 Returns the number of used MIDI output channels (1-15).
effNumOpcodes80 Returns the number of available OpCodes
See Also

Reference