Sets a channel's sample format.
|input||Dealing with an input channel? FALSE = an output channel.
|channel||The input/output channel number... 0 = first.
|format||The sample format. One of the following.
|BASS_ASIO_FORMAT_DSD_LSB||DSD with LSB first.
|BASS_ASIO_FORMAT_DSD_MSB||DSD with MSB first.
|BASS_ASIO_FORMAT_DITHER||Flag: Apply dither (TPDF) when converting from floating-point to integer.
If successful, then TRUE is returned, else FALSE is returned. Use BASS_ASIO_ErrorGetCode to get the error code.
|BASS_ERROR_INIT||BASS_ASIO_Init has not been successfully called.
|BASS_ERROR_ILLPARAM||The input and channel combination is invalid, or format is.
|BASS_ERROR_FORMAT||Format conversion is not available for the channel's native sample format (please report).
The sample format can vary between ASIO devices/drivers, which could mean a lot of extra/duplicate code being required. To avoid that extra work, BASSASIO can automatically convert the sample data, whenever necessary, to/from a format of your choice. The native format of a channel can be retrieved via BASS_ASIO_ChannelGetInfo.
The PCM format options are only available when the device's format is PCM, and the DSD format options are only available when the device's format is DSD. If a device supports both, it can be switched between DSD and PCM via BASS_ASIO_SetDSD.
For performance reasons, it is best not to use 24-bit sample data whenever possible, as 24-bit data requires a bit more processing than the other formats.
Set output channel 0 to use floating-point sample data.
BASS_ASIO_ChannelSetFormat(FALSE, 0, BASS_ASIO_FORMAT_FLOAT);
BASS_ASIO_ChannelGetFormat, BASS_ASIO_ChannelGetInfo, ASIOPROC callback