Table of Contents

AkSpeakerVolumeMatrixCallbackInfo Struct Reference

Inheritance diagram for AkSpeakerVolumeMatrixCallbackInfo:
AkEventCallbackInfo AkCallbackInfo

List of all members.

Public Attributes

AK::SpeakerVolumes::MatrixPtr  pVolumes
  Pointer to volume matrix describing the contribution of each source channel to destination channels. Use methods of AK::SpeakerVolumes::Matrix to interpret them.
AkChannelConfig  inputConfig
  Channel configuration of the voice/bus.
AkChannelConfig  outputConfig
  Channel configuration of the output bus.
AkReal32 pfBaseVolume
  Base volume, common to all channels.
AkReal32 pfEmitterListenerVolume
  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.
AK::IAkMixerInputContext pContext
  Context of the current voice/bus about to be mixed into the output bus with specified base volume and volume matrix.
AK::IAkMixerPluginContext pMixerContext
  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.

Detailed Description

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:

Definition at line 163 of file AkCallback.h.

The documentation for this struct was generated from the following file: