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 when this config option is enabled, 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

Floating-point data is not supported on some platforms/architectures, in which case this config option will enable 8.24 fixed-point data instead of floating-point. The BASS_CONFIG_FLOAT option can be used to check that.

See also

BASS_GetConfig, BASS_SetConfig, BASS_CONFIG_FLOAT, DSPPROC callback