carb::audio::fPlaybackModeSpatialMixLevelMatrix

Defined in carb/audio/IAudioPlayback.h

constexpr PlaybackModeFlags carb::audio::fPlaybackModeSpatialMixLevelMatrix = 0x00001000

flag to indicate that a multi-channel spatial voice should treat a specific matrix as its non-spatial output, when using the ‘spatial mix level’ parameter, rather than blending all channels evenly into the output.

The matrix used will be the one specified by the voice parameters. If no matrix was specified in the voice parameters, the default matrix for that channel combination will be used. If there is no default matrix for that channel combination, the default behavior of blending all channels evenly into the output will be used. This flag is ignored on non-spatial voices, since they cannot use the ‘spatial mix level’ parameter. This flag is also ignored on mono voices. This should be used with caution as the non-spatial mixing matrix may add a direction to each channel (the default ones do this), which could make the spatial audio sound very strange. Additionally, the default mixing matrices will often be quieter than the fully spatial sound so this may sound unexpected (this is because the default matrices ensure no destination channel has more than 1.0 volume, while the spatial calculations are treated as multiple emitters at the same point in space). The default behavior of mixing all channels evenly is intended to make the sound become omni-present which is the intended use case for this feature.