Class BassVst
BassVst allows the usage of VST effect plugins as well as VST instruments (VSTi plugins) with BASS.
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
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 |
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
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 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. |