Show / Hide Table of Contents

Class BassVst

BassVst allows the usage of VST effect plugins as well as VST instruments (VSTi plugins) with BASS.

Inheritance
Object
BassVst
Namespace: System.Dynamic.ExpandoObject
Assembly: ManagedBass.Vst.dll
Syntax
public static class BassVst : object

Methods

BASS_VST_GetInfo(Int32)

Gets general information about a VST effect plugin.

Declaration
public static BassVstInfo BASS_VST_GetInfo(int VstHandle)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Returns
BassVstInfo

If successful, an instance of BassVstInfo is returned, else null is returned. Use LastError to get the error code.

Remarks

VST effects that have no input channels (so called "Instruments") are not loaded by BASS_VST. So you can assume chansIn and chansOut to be at least 1.

Multi-channel streams should work correctly, if supported by a effect. If not, only the first chansIn channels are processed by the effect, the other ones stay unaffected.
The opposite, eg. assigning multi-channel effects to stereo channels, should be no problem at all.

If mono effects are assigned to stereo channels, the result will be mono, expanded to both channels. This behaviour can be switched of using the KeepChannels in ChannelSetDSP(Int32, String, BassVstDsp, Int32).

ChannelCreate(Int32, Int32, String, BassFlags)

Creates a new BASS stream based on any VST instrument plugin (VSTi).

Declaration
public static int ChannelCreate(int Frequency, int Channels, string DllFile, BassFlags Flags)
Parameters
Int32 Frequency

The sample rate of the VSTi output (e.g. 44100).

Int32 Channels

The number of channels... 1 = mono, 2 = stereo, 4 = quadraphonic, 6 = 5.1, 8 = 7.1.

String DllFile

The fully qualified path and file name to the VSTi plugin (a DLL file name).

BassFlags Flags

A combination of BassFlags.

Returns
Int32

If successful, the new vst handle is returned, else 0 is returned. Use LastError to get the error code.

Remarks

On success, the function returns the new vstHandle that must be given to the other functions. The returned VST handle can also be given to the typical Bass.Channel* functions. Use ChannelFree(Int32) to delete and free a VST instrument channel.

ChannelFree(Int32)

Deletes and frees a VST instrument channel.

Declaration
public static bool ChannelFree(int VstHandle)
Parameters
Int32 VstHandle

The VSTi channel to delete (as created by ChannelCreate(Int32, Int32, String, BassFlags)).

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

Note, that you cannot delete VST effects assigned to this channels this way; for this purpose, please call ChannelRemoveDSP(Int32, Int32).

ChannelRemoveDSP(Int32, Int32)

Removes a VST effect from a channel and destroys the VST instance.

Declaration
public static bool ChannelRemoveDSP(int Channels, int VstHandle)
Parameters
Int32 Channels

The channel handle from which to remove the VST effect... a HSTREAM, HMUSIC, or HRECORD.

Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

If you do not call ChannelRemoveDSP(Int32, Int32) explicitly and you have assigned a channel to the effect, the effect is removed automatically when the channel handle is deleted by BASS (like for any other DSP as well).

For various reasons, the underlying DLL is unloaded from memory with a little delay, however, this has also the advantage that subsequent adding/removing of DLLs to channels has no bad performance impact.

ChannelSetDSP(Int32, String, BassVstDsp, Int32)

Assigns a VST effects (defined by a DLL file name) to any BASS channels.

This overload implements the Unicode overload for the dllFile name, so the BASS_UNICODE flag will automatically be added if not already set.

Declaration
public static int ChannelSetDSP(int Channels, string DllFile, BassVstDsp Flags, int Priority)
Parameters
Int32 Channels

The channel handle... a HSTREAM, HMUSIC, or HRECORD. Or 0, if you want to test, if the dll is a valid VST plugin.

String DllFile

The fully qualified path and file name to the VST effect plugin (a DLL file name).

BassVstDsp Flags

A combination of BassVstDsp

Int32 Priority

Same meaning as for ChannelSetDSP(Int32, DSPProcedure, IntPtr, Int32) - DSPs with higher priority are called before those with lower.

Returns
Int32

On success, the method returns the new vstHandle that must be given to all the other functions, else 0 is returned. Use LastError to get the error code.

Remarks

The VST plugin is implemented via a DSP callback on the channel. That means when you play the channel (or call if it's a decoding channel), the sample data will be sent to the VST effect at the same time. If the channel is freed all DSPs are removed automatically, also all VST DSPs are removed as well. If you want or need to free the VST DSP manually you can call ChannelRemoveDSP(Int32, Int32).

For testing if a DLL is a valid VST effect, you can set Channels to 0 - however, do not forget to call ChannelRemoveDSP(Int32, Int32) even in this case.

You may safely assign the same DLL to different channels at the same time - the library makes sure, every channel is processed indepeningly. But take care to use the correct vstHandles in this case.

Finally, you can use any number of VST effects on a channel. They are processed alongside with all other BASS DSPs in the order of it's priority.

To set or get the parameters of a VST effect you might use GetParamCount(Int32) alongside with GetParam(Int32, Int32) and SetParam(Int32, Int32, Single) to enumerate over the total number of effect parameters. To retrieve details about an individual parameter you might use GetParamInfo(Int32, Int32, out BassVstParamInfo). If the VST effect supports an embedded editor you might also invoke this one with EmbedEditor(Int32, IntPtr). If the embedded editor also supports localization you might set the language in advance with SetLanguage(String).

If you need to temporarily bypass the VST effect you might call SetBypass(Int32, Boolean) - GetBypass(Int32) will tell you the current bypass status though.

Use GetInfo(Int32, out BassVstInfo) to get even more details about a loaded VST plugin.

EmbedEditor(Int32, IntPtr)

Many VST effects come along with an graphical parameters editor; with the following function, you can embed these editors to your user interface.

Declaration
public static bool EmbedEditor(int VstHandle, IntPtr ParentWindow)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

IntPtr ParentWindow

The IntPtr to the window handle (HWND) of the parents window in which the editor should be embedded (e.g. use a new modeless dialog or user control).

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

To embed the editor to another window, call this function with parentWindow set to the HWND of the parent window. To check, if an effect has an editor, see the hasEditor flag set by GetInfo(Int32, out BassVstInfo).

To "unembed" the editor, call this function with ParentWindow set to null.

If you create the editor window independently of a real channel (by skipping the channel parameter when calling ChannelSetDSP(Int32, String, BassVstDsp, Int32)) and the editor displays any spectrums, VU-meters or such, the data for this come from the most recent channel using the same effect and the same scope. The scope can be set by SetScope(Int32, Int32) to any ID, the default is 0.

In order to create a new window in which the editor should be embedded, it is a good idea to call GetInfo(Int32, out BassVstInfo) in order to retrieve the editors height and width.

GetBypass(Int32)

Gets the current bypasses state of the the effect processing.

Declaration
public static bool GetBypass(int VstHandle)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

GetChunk(Int32, Boolean)

Gets the VST plug-in state as a plain byte array (memory chunk storage).

Declaration
public static byte[] GetChunk(int VstHandle, bool IsPreset)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Boolean IsPreset

true when saving a single program; false for all programs.

Returns
Byte[]

The array of bytes representing the VST plug-in state - or null if the VST doesn't support the chunk data mode.

Remarks

There are two ways to store the current state of a VST plug-In: Either trough the parameter interfaces (GetParam(Int32, Int32) and SetParam(Int32, Int32, Single)) or as an opaque memory block (chunk mode).

You might first queries this method to see, if the VST supports the chunk mode. If it is not implemented (null is returned), the values of all parameters might be used to save the plug-in state.

Chunk storage allows to save additional data (besides the parameter state) which is specific to the VST plug-in. Please note, that if you decide to use the chunk storage, you have to take care of saving and loading parameter states on your own (see SetChunk(Int32, Boolean, Byte[], Int32) for details)!

GetInfo(Int32, out BassVstInfo)

Gets general information about a VST effect plugin.

Declaration
public static bool GetInfo(int VstHandle, out BassVstInfo Info)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

BassVstInfo Info

An instance of the BassVstInfo where to store the parameter information at.

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

VST effects that have no input channels (so called "Instruments") are not loaded by BASS_VST. So you can assume chansIn and chansOut to be at least 1.

Multi-channel streams should work correctly, if supported by a effect. If not, only the first chansIn channels are processed by the effect, the other ones stay unaffected.
The opposite, eg. assigning multi-channel effects to stereo channels, should be no problem at all.

If mono effects are assigned to stereo channels, the result will be mono, expanded to both channels. This behaviour can be switched of using the KeepChannels in ChannelSetDSP(Int32, String, BassVstDsp, Int32).

GetParam(Int32, Int32)

Get the value of a single VST effect parameter.

Declaration
public static float GetParam(int VstHandle, int ParamIndex)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Int32 ParamIndex

The index of the parameter (must be smaller than GetParamCount(Int32)).

Returns
Single

true on success.

Remarks

All VST effect parameters are in the range from 0.0 to 1.0 (float), however, from the view of a VST effect, they may represent completely different values. E.g. some might represent a multiplier to some internal constants and will result in number of samples or some might represent a value in dB etc.

You can use GetParamInfo(Int32, Int32, out BassVstParamInfo) to get further information about a single parameter, which will also present you with the current value in a readable format.

GetParamCount(Int32)

Returns the number of editable parameters for the VST effect.

Declaration
public static int GetParamCount(int VstHandle)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Returns
Int32

The number of editable parameters or if the effect has no editable parameters, 0 is returned.

Remarks

To set or get the individual parameters of a VST effect you might use GetParamCount(Int32) alongside with GetParam(Int32, Int32) and SetParam(Int32, Int32, Single) to enumerate over the total number of effect parameters. To retrieve details about an individual parameter you might use GetParamInfo(Int32, Int32, out BassVstParamInfo). If the VST effect supports an embedded editor you might also invoke this one with EmbedEditor(Int32, IntPtr). If the embedded editor also supports localization you might set the language in advance with SetLanguage(String).

GetParamInfo(Int32, Int32)

Get some common information about an editable parameter to a BassVstParamInfo class.

Declaration
public static BassVstParamInfo GetParamInfo(int VstHandle, int ParamIndex)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Int32 ParamIndex

The index of the parameter (must be smaller than GetParamCount(Int32)).

Returns
BassVstParamInfo

If successful, an instance of the BassVstParamInfo is returned, else null is returned. Use LastError to get the error code.

GetParamInfo(Int32, Int32, out BassVstParamInfo)

Get some common information about an editable parameter to a BassVstParamInfo object.

Declaration
public static bool GetParamInfo(int VstHandle, int ParamIndex, out BassVstParamInfo Info)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Int32 ParamIndex

The index of the parameter (must be smaller than GetParamCount(Int32)).

BassVstParamInfo Info

An instance of the BassVstParamInfo where to store the parameter information at.

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

GetProgram(Int32)

Returns the currently selected program for the VST effect.

Declaration
public static int GetProgram(int VstHandle)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Returns
Int32

The currect selected program number. Valid program numbers are between 0 and GetProgramCount(Int32) minus 1.

Remarks

After construction (using ChannelSetDSP(Int32, String, BassVstDsp, Int32)), always the first program (0) is selected.

With SetProgram(Int32, Int32) you can change the selected program. Functions as SetParam(Int32, Int32, Single) will always change the selected program's settings.

GetProgramCount(Int32)

Returns the number of editable programs for the VST effect.

Declaration
public static int GetProgramCount(int VstHandle)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Returns
Int32

The number of available programs or 0 if no program is available.

Remarks

Many (not all!) effects have more than one "program" that can hold a complete set of parameters each. Moreover, some of these programs may be initialized to some useful "factory defaults".

GetProgramName(Int32, Int32)

Gets the name of any program of a VST effect.

Declaration
public static string GetProgramName(int VstHandle, int ProgramIndex)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Int32 ProgramIndex

The program number for which to get the name, must be smaller than GetProgramCount(Int32).

Returns
String

The name of the program given or null if not valid.

Remarks

The names are limited to 24 characters. This function does not change the selected program!

GetProgramNames(Int32)

Returns a list of all available program names.

Declaration
public static string[] GetProgramNames(int VstHandle)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Returns
String[]

An array of strings representing the list of available program names. The index corresponds to the program numbers.

Remarks

This function does not change the selected program!

GetProgramParam(Int32, Int32)

Returns the parameters of a given program.

Declaration
public static float[] GetProgramParam(int VstHandle, int ProgramIndex)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Int32 ProgramIndex

The program number for which to query the parameter values, must be smaller than GetProgramCount(Int32).

Returns
Single[]

An array of float values representing the parameter values of the given program or null if the program (VST effect) has no parameters or an error occurred.

Remarks

The parameters of the currently selected program can also be queried by GetParam(Int32, Int32).

The function returns the parameters as an array of floats. The number of elements in the returned array is equal to GetParamCount(Int32).

This function does not change the selected program!

ProcessEvent(Int32, Int32, Int32, Int32)

Sends a MIDI message/event to the VSTi plugin.

Declaration
public static bool ProcessEvent(int VstHandle, int MidiChannel, int EventType, int Param)
Parameters
Int32 VstHandle

The VSTi channel to send a MIDI message to (as created by ChannelCreate(Int32, Int32, String, BassFlags)).

Int32 MidiChannel

The Midi channel number to use (0 to 15).

Int32 EventType

The Midi event/status value to use (see for details).

Int32 Param

The data bytes to send with the message to compose a data byte 1 and 2.

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

Use one of the commands similar to .

Set MidiChannel to 0xFFFF and EventType to the raw command to send. The raw command must be encoded as 0x00xxyyzz with xx=MIDI command, yy=MIDI databyte #1, zz=MIDI databyte #2. Param should be set to 0 in this case.

Send SysEx commands by setting MidiChannel to 0xEEEE. EventType will denote the type of event to send (see about possible values for Param in such case).

ProcessEventRaw(Int32, IntPtr, Int32)

Sends a SysEx or MIDI (short)message/event to the VSTi plugin.

Declaration
public static bool ProcessEventRaw(int VstHandle, IntPtr Message, int Length)
Parameters
Int32 VstHandle

The VSTi channel to send a MIDI message to (as created by ChannelCreate(Int32, Int32, String, BassFlags)).

IntPtr Message

The pointer to your Midi message data to send (byte[]).

Int32 Length

The length of a SysEx message or 0 in case of a normal Midi (short)message.

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

To send a Midi (short)message : The raw message must be encoded as 0x00xxyyzz with xx=MIDI command, yy=MIDI databyte #1, zz=MIDI databyte #2. Length should be set to 0 in this case.

To send a SysEx message: Message must be set to a pointer to the bytes to send and Length must be set to the number of bytes to send.

ProcessEventRaw(Int32, Byte[], Int32)

Sends a SysEx or MIDI (short)message/event to the VSTi plugin.

Declaration
public static bool ProcessEventRaw(int VstHandle, byte[] Message, int Length)
Parameters
Int32 VstHandle

The VSTi channel to send a MIDI message to (as created by ChannelCreate(Int32, Int32, String, BassFlags)).

Byte[] Message

The byte array containing your Midi message data to send.

Int32 Length

The length of a SysEx message or 0 in case of a normal Midi (short)message.

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

To send a Midi (short)message : The raw message must be encoded as 0x00xxyyzz with xx=MIDI command, yy=MIDI databyte #1, zz=MIDI databyte #2. Length should be set to 0 in this case.

To send a SysEx message: Message must be set to a pointer to the bytes to send and Length must be set to the number of bytes to send.

Resume(Int32)

Call this function after position changes or sth. like that.

Declaration
public static bool Resume(int VstHandle)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

Some VST effects will use an internal buffer for effect calculation and handling. This will reset the internal VST buffers which may remember some "old" data.

SetBypass(Int32, Boolean)

Bypasses the effect processing (state=true) or switch back to normal processing (state=false).

Declaration
public static bool SetBypass(int VstHandle, bool State)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Boolean State

true to bypasses the effect processing; false to switch back to normal processing.

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

By default bypassing is OFF and the effect will be processed normally. Use GetBypass(Int32) returns the current state.

SetCallback(Int32, VstProcedure, IntPtr)

Assign a callback function to a vstHandle.

Declaration
public static bool SetCallback(int VstHandle, VstProcedure Procedure, IntPtr User)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

VstProcedure Procedure

The user defined callback delegate (see VstProcedure).

IntPtr User

User instance data to pass to the callback function.

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

Unless defined otherwise, the callback function should always return 0.

SetChunk(Int32, Boolean, Byte[])

Sets the VST plug-in state with a plain byte array (memory chunk storage).

Declaration
public static int SetChunk(int VstHandle, bool IsPreset, byte[] Chunk)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Boolean IsPreset

true when restoring a single program; false for all programs.

Byte[] Chunk

The byte array containing the memory chunk storage to set.

Returns
Int32

The number of bytes written.

Remarks

Might be used to restore a VST plug-in state which was previously saved via GetChunk(Int32, Boolean).

After restoring a plug-in state you might need to retrieve the program names again (see GetProgramName(Int32, Int32) and GetProgramCount(Int32)) as they might have changed.

SetChunk(Int32, Boolean, Byte[], Int32)

Sets the VST plug-in state with a plain byte array (memory chunk storage).

Declaration
public static int SetChunk(int VstHandle, bool IsPreset, byte[] Chunk, int Length)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Boolean IsPreset

true when restoring a single program; false for all programs.

Byte[] Chunk

The byte array containing the memory chunk storage to set.

Int32 Length

The number of bytes to write.

Returns
Int32

The number of bytes written.

Remarks

Might be used to restore a VST plug-in state which was previously saved via GetChunk(Int32, Boolean).

After restoring a plug-in state you might need to retrieve the program names again (see GetProgramName(Int32, Int32) and GetProgramCount(Int32)) as they might have changed.

SetLanguage(String)

Set the VST language to be used by any plugins.

Declaration
public static bool SetLanguage(string Language)
Parameters
String Language

The desired language as ISO 639.1, e.g. "en", "de", "es"...

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

Some VST effects come along localized. With this function you can set the desired language as ISO 639.1 -- eg. "en" for english, "de" for german, "es" for spanish and so on. The default language is english.

SetParam(Int32, Int32, Single)

Set a value of a single VST effect parameter.

Declaration
public static bool SetParam(int VstHandle, int ParamIndex, float NewValue)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Int32 ParamIndex

The index of the parameter (must be smaller than GetParamCount(Int32)).

Single NewValue

The new value to set in the range from 0.0 to 1.0 (float). See the documentation of the actual VST implementation for details of the effective value representation.

Returns
Boolean

true on success.

Remarks

All VST effect parameters are in the range from 0.0 to 1.0 (float), however, from the view of a VST effect, they may represent completely different values. E.g. some might represent a multiplier to some internal constants and will result in number of samples or some might represent a value in dB etc.

So it is a good idea to call GetParamInfo(Int32, Int32, out BassVstParamInfo) after you modified a parameter, in order to to get further information about the parameter in question, which will also present you with the current value in a readable format.

SetProgram(Int32, Int32)

Sets (changes) the selected program for the VST effect.

Declaration
public static bool SetProgram(int VstHandle, int ProgramIndex)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Int32 ProgramIndex

The program number to set (between 0 and GetProgramCount(Int32) minus 1.).

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

You might call GetProgramCount(Int32) to check, if the VST effect has any editable programs available.

With GetProgram(Int32) you can check, which is the current selected program. Functions as as SetParam(Int32, Int32, Single) will always change the selected program's settings.

SetProgramName(Int32, Int32, String)

Sets the name of any program of a VST effect.

Declaration
public static bool SetProgramName(int VstHandle, int ProgramIndex, string Name)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Int32 ProgramIndex

The program number for which to set the name, must be smaller than GetProgramCount(Int32).

String Name

The new name to use. Names are limited to 24 characters, BASS_VST truncates the names, if needed.

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

This function does not change the selected program!

SetProgramParam(Int32, Int32, Single[])

Set all parameters of any program in a VST effect.

Declaration
public static bool SetProgramParam(int VstHandle, int ProgramIndex, float[] Param)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Int32 ProgramIndex

The program number for which to set the parameter values, must be smaller than GetProgramCount(Int32).

Single[] Param

An array with the parameter values to set. The array needs to have as many elements as defined by GetParamCount(Int32) or as returned be GetProgramParam(Int32, Int32).

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Remarks

This function does not change the selected program!

If you use SetCallback(Int32, VstProcedure, IntPtr), the ParametersChanged event is only posted if you select a program with parameters different from the prior.

SetScope(Int32, Int32)

Sets the scope of an Editor to a given ID.

Declaration
public static bool SetScope(int VstHandle, int Scope)
Parameters
Int32 VstHandle

The VST effect handle as returned by ChannelSetDSP(Int32, String, BassVstDsp, Int32).

Int32 Scope

The ID to set the scope to.

Returns
Boolean

If successful, true is returned, else false is returned. Use LastError to get the error code.

Back to top Copyright © 2017 Mathew Sachin
Generated by DocFx