Sets the device to use for subsequent calls in the current thread.
BOOL BASS_WASAPI_SetDevice( DWORD device );
|device||The device to use.|
Return valueIf successful, then TRUE is returned, else FALSE is returned. Use BASS_ErrorGetCode to get the error code.
|BASS_ERROR_DEVICE||device is invalid.|
|BASS_ERROR_INIT||The device has not been initialized.|
RemarksSimultaneously using multiple devices is supported in the BASS 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.
All of the BASSWASAPI functions that do not have their own "device" parameter make use of this device selection. When one of them is called, BASSWASAPI will check the current thread's device setting, and if no device is selected (or the selected device is not initialized), BASSWASAPI 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; BASSWASAPI will automatically use the device that is initialized. Even if you free the device, and initialize another, BASSWASAPI will automatically switch to the one that is initialized.