BASS

BASS_CONFIG_FLOATDSP config option


Pass 32-bit floating-point sample data to all DSP functions?

BASS_SetConfig(
    BASS_CONFIG_FLOATDSP,
    BOOL floatdsp
);

Parameters

floatdspIf TRUE, 32-bit floating-point sample data is passed to all DSPPROC callback functions.

Remarks

Normally DSP functions receive sample data in whatever format the channel is using, ie. it can be 8, 16 or 32-bit. But using this config option, BASS will convert 8/16-bit sample data to 32-bit floating-point before passing it to DSP functions, and then convert it back after all the DSP functions are done. As well as simplifying the DSP code (no need for 8/16-bit processing), this also means that there is no degradation of quality as sample data passes through a chain of DSP.

This config option also applies to effects set via BASS_ChannelSetFX, except for DX8 effects when using the "With FX flag" DX8 effect implementation.

Changing the setting while there are DSP or FX set could cause problems, so should be avoided.

Platform-specific

On Android and Windows CE, 8.24 fixed-point is used instead of floating-point. Floating-point DX8 effect processing requires DirectX 9 (or above) on Windows.

See also

BASS_GetConfig, BASS_SetConfig, DSPPROC callback