Assembly: Bass.Net (in Bass.Net.dll) Version: 220.127.116.11
[DllImportAttribute("bassasio.dll", CharSet = CharSet.Auto)] public static bool BASS_ASIO_SetDevice( int device )
<DllImportAttribute("bassasio.dll", CharSet := CharSet.Auto>] Public Shared Function BASS_ASIO_SetDevice ( device As Integer ) As Boolean
public: [DllImportAttribute(L"bassasio.dll", CharSet = CharSet::Auto)] static bool BASS_ASIO_SetDevice( int device )
[<DllImportAttribute("bassasio.dll", CharSet = CharSet.Auto)>] static member BASS_ASIO_SetDevice : device : int -> bool
- Type: SystemInt32
The device to use... 0 = first device.
Return ValueType: Boolean
If successful, then is returned, else is returned. Use BASS_ASIO_ErrorGetCode to get the error code.
As in BASS, simultaneously using multiple devices is supported in the BASSASIO API via a context switching system - instead of there being an extra "device" parameter in the function calls, the device to be used is set prior to calling the functions. The device setting is local to the current thread, so calling functions with different devices simultaneously in multiple threads is not a problem.
The device context setting is used by any function that may result in a BASS_ERROR_INIT error (except this function), which is the majority of them. When one if those functions is called, it will check the current thread's device setting, and if no device is selected (or the selected device is not initialized), BASSASIO will automatically select the lowest device that is initialized. This means that when using a single device, there is no need to use this function - BASSASIO will automatically use the device that's initialized. Even if you free the device, and initialize another, BASSASIO will automatically switch to the one that is initialized.
|BASS_ERROR_DEVICE||The device number specified is invalid.|
|BASS_ERROR_INIT||The device has not been initialized.|
' select device 2 BassAsio.BASS_ASIO_SetDevice(2) ' get the sample rate Dim rate As Double = BassAsio.BASS_ASIO_GetRate()
// select device 2 BassAsio.BASS_ASIO_SetDevice(2); // get the sample rate double rate = BassAsio.BASS_ASIO_GetRate();