typedef struct _AXPBRMTMIX
{
u16 vMain0; // Controller 0 main volume
u16 vDeltaMain0; // Controller 0 amount to change main volume
u16 vAux0; // Controller 0 Aux volume
u16 vDeltaAux0; // Controller 0 amount to change Aux volume
u16 vMain1; // Controller 1 main volume
u16 vDeltaMain1; // Controller 1 amount o change main volume
u16 vAux1; // Controller 1 Aux volume
u16 vDeltaAux1; // Controller 1 amount to change Aux volume
u16 vMain2; // Controller 2 main volume
u16 vDeltaMain2; // Controller 2 amount to change main volume
u16 vAux2; // Controller 2 Aux volume
u16 vDeltaAux2; // Controller 2 amount to change Aux volume
u16 vMain3; // Controller 3 main volume
u16 vDeltaMain3; // Controller 3 amount to change main volume
u16 vAux3; // Controller 3 Aux volume
u16 vDeltaAux3; // Controller 3 amount to change Aux volume
} AXPBRMTMIX;
AXPBRMTMIX specifies the mixing parameter for the controller's speaker. Volume is expressed as a 16-bit, fixed-point number (most significant bit for the integer, 15 bits of fraction).
Note: The DSP does not clamp volume-ramp computations. Your audio application is responsible for ensuring that the computation remains within bounds.
Mixing parameters are set for each voice.
When playing audio from a controller speaker, not only must the appropriate mixing parameters be set, but voice processing for the controller speaker must be enabled by setting AX_PB_REMOTE_ON in axvpb.pb.remote. Furthermore, the value of axvpb.pb.rmtMixerCtrl must be initialized correctly in order to apply mixing parameters.
The user must assert the AX_SYNC_USER_RMTMIX bit in the axvpb.sync member when any of the above mixing parameters have changed.
Note: An Aux bus for the controller speaker is not implemented.
axvpb.sync, axvpb.pb.rmtMixerCtrl, axvpb.pb.remote, AXSetVoiceRmtMix
2006/07/31 Initial version.
CONFIDENTIAL