axvpb.pb.mix

Syntax

typedef struct _AXPBMIX
{

    u16 vL;             // volume left
    u16 vDeltaL;        // volume ramp left
    u16 vR;             // volume right
    u16 vDeltaR;        // volume ramp right

    u16 vAuxAL;         // volume AUX A left
    u16 vDeltaAuxAL;    // volume ramp AUX A left
    u16 vAuxAR;         // volume AUX A right
    u16 vDeltaAuxAR;    // volume ramp AUX A right

    u16 vAuxBL;         // volume AUX B left
    u16 vDeltaAuxBL;    // volume ramp AUX B left
    u16 vAuxBR;         // volume AUX B right
    u16 vDeltaAuxBR;    // volume ramp AUX B right

    u16 vAuxCL;         // volume AUX C left
    u16 vDeltaAuxCL;    // volume ramp AUX C left
    u16 vAuxCR;         // volume AUX C right 
    u16 vDeltaAuxCR;    // volume ramp AUX C right 

    u16 vS;             // volume surround
    u16 vDeltaS;        // volume ramp surround
    u16 vAuxAS;         // volume AUX A surround
    u16 vDeltaAuxAS;    // volume ramp AUX A surround
    u16 vAuxBS;         // volume AUX B surround
    u16 vDeltaAuxBS;    // volume ramp AUX B surround
    u16 vAuxCS;         // volume AUX C surround
    u16 vDeltaAuxCS;    // volume ramp AUX C surround

} AXPBMIX;

Description

These values specify the mixing parameters for each of the 12 channels in a given voice. Volume is expressed as a 16-bit, fixed-point number (most significant bit for the integer, 15 bits of fraction).
Note: The axvpb.pb.mixerCtrl value must also be initialized correctly in order to apply these values.

Note: The DSP does not clamp volume-ramp computations. Your audio application is responsible for ensuring that the computation remains within bounds.

In AX_MODE_DPL2 mode, AXPBMIX is used as follows:


// NOTE: In DPL2, the AuxC bus is not supported.

    u16 vL;             // volume left
    u16 vDeltaL;        // volume ramp left
    u16 vR;             // volume right
    u16 vDeltaR;        // volume ramp right
    
    u16 vAuxAL;         // volume AUX A left
    u16 vDeltaAuxAL;    // volume ramp AUX A left
    u16 vAuxAR;         // volume AUX A right
    u16 vDeltaAuxAR;    // volume ramp AUX A right
    
    u16 vAuxBL;         // volume AUX B left
    u16 vDeltaAuxBL;    // volume ramp AUX B left
    u16 vAuxBR;         // volume AUX B right
    u16 vDeltaAuxBR;    // volume ramp AUX B right
    
    u16 vAuxCL;         // volume right surround
    u16 vDeltaAuxCL;    // volume ramp right surround 
    u16 vAuxCR;         // volume Aux A right surround
    u16 vDeltaAuxCR;    // volume ramp Aux A right surround
    
    u16 vS;             // volume left surround
    u16 vDeltaS;        // volume ramp left surround
    u16 vAuxAS;         // volume AUX A left surround
    u16 vDeltaAuxAS;    // volume ramp left AUX A surround
    u16 vAuxBS;         // volume AUX B left surround
    u16 vDeltaAuxBS;    // volume ramp AUX B left surround
    u16 vAuxCS;         // volume AUX B right surround
    u16 vDeltaAuxCS;    // volume ramp AUX B right surround

The user must assert the AX_SYNC_USER_MIX bit in the axvpb.sync member, when any of the above values have changed.

See Also

axvpb.sync
axvpb.pb.mixerCtrl
AXSetVoiceMix

Revision History

2006/03/01 Initial version.


CONFIDENTIAL