Show / Hide Table of Contents

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.

Back to top Copyright © 2017 Mathew Sachin
Generated by DocFx