AkSpeakerVolumeMatrixCallbackInfo Struct Reference
|Pointer to volume matrix describing the contribution of each source channel to destination channels. Use methods of AK::SpeakerVolumes::Matrix to interpret them.
|Channel configuration of the voice/bus.
|Channel configuration of the output bus.
|Base volume, common to all channels.
|Emitter-listener pair-specific gain. When there are multiple emitter-listener pairs, this volume equals 1, and pair gains are applied directly on the channel volume matrix pVolumes.
|Context of the current voice/bus about to be mixed into the output bus with specified base volume and volume matrix.
|Output mixing bus context. Use it to access a few useful panning and mixing services, as well as the ID of the output bus. NULL if pContext is the master audio bus.
Callback information structure corresponding to AK_SpeakerVolumeMatrix, and passed to callbacks registered in RegisterBusVolumeCallback() or PostEvent() with AK_SpeakerVolumeMatrix. These callbacks are called at every audio frame for every connection from an input (voice or bus) to an output bus (standard or auxiliary), at the point when an input signal is about to be mixed into a mixing bus, but just before having been scaled in accordance to volumes authored in Wwise. The volumes are passed via this structure as pointers because they can be modified in the callbacks. They are factored into two linear values ([0..1]): a common base value (pfBaseVolume), that is channel-agnostic and represents the collapsed gain of all volume changes in Wwise (sliders, actions, RTPC, attenuations, ...), and a matrix of gains per input/output channel, which depends on spatialization. Use the methods of AK::SpeakerVolumes::Matrix, defined in AkCommonDefs.h, to perform operations on them. Access each input channel of the volumes matrix with AK::SpeakerVolumes::Matrix::GetChannel(), passing it the input and output channel configuration. Then, you may access each element of the output vector using the standard bracket  operator. See AK::SpeakerVolumes for more details. It is crucial that the processing done in the callback be lightweight and non-blocking.
- See also:
The documentation for this struct was generated from the following file: