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. Furthermore, the value of axvpb.pb.rmtMixerCtrl must also 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
07/31/2006 Initial version.
CONFIDENTIAL