1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html> 3 4<head> 5<LINK rel="stylesheet" type="text/css" href="../../CSS/revolution.css"> 6<title>axvpb.pb.mixerCtrl</title> 7<META http-equiv="Content-Type" content="text/html; charset=windows-1252"> 8<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 6.5.0.0 for Windows"> 9<META http-equiv="Content-Style-Type" content="text/css"> 10</head> 11 12<body> 13 14<h1 align="left">axvpb.pb.mixerCtrl</h1> 15 16<h2>Syntax</h2> 17<dl><dd><pre class="construction"> 18#define AX_PB_MIXCTRL_L 0x00000001 // main left mix 19#define AX_PB_MIXCTRL_R 0x00000002 // main right mix 20#define AX_PB_MIXCTRL_LR_RAMP 0x00000004 // main bus ramp (applies to LRS) 21#define AX_PB_MIXCTRL_S 0x00000008 // main surround mix 22#define AX_PB_MIXCTRL_S_RAMP 0x00000010 // Main bus ramp (applies to surround) 23 24#define AX_PB_MIXCTRL_A_L 0x00010000 // AuxA left mix 25#define AX_PB_MIXCTRL_A_R 0x00020000 // AuxA right mix 26#define AX_PB_MIXCTRL_A_LR_RAMP 0x00040000 // AuxA bus ramp (applies to LR only) 27#define AX_PB_MIXCTRL_A_S 0x00080000 // AuxA surround mix 28#define AX_PB_MIXCTRL_A_S_RAMP 0x00100000 // AuxA bus ramp (applies to surround) 29 30#define AX_PB_MIXCTRL_B_L 0x00200000 // AuxB left mix 31#define AX_PB_MIXCTRL_B_R 0x00400000 // AuxB right mix 32#define AX_PB_MIXCTRL_B_LR_RAMP 0x00800000 // AuxB bus ramp (applies to LR only) 33#define AX_PB_MIXCTRL_B_S 0x01000000 // AuxB surround mix 34#define AX_PB_MIXCTRL_B_S_RAMP 0x02000000 // AuxB bus ramp (applies to surround only) 35 36#define AX_PB_MIXCTRL_C_L 0x04000000 // AuxC left mix 37#define AX_PB_MIXCTRL_C_R 0x08000000 // AuxC right mix 38#define AX_PB_MIXCTRL_C_LR_RAMP 0x10000000 // AuxC bus ramp (applies to LR only) 39#define AX_PB_MIXCTRL_C_S 0x20000000 // AuxC surround mix 40#define AX_PB_MIXCTRL_C_S_RAMP 0x40000000 // AuxC bus ramp (applies to surround only) 41#define AX_PB_MIXCTRL_C_DPL2 0x80000000 // AuxC DPL2, does not apply ITD for surrounds 42 43u32 mixerCtrl; 44</pre></dd></dl> 45 46<h2>Description</h2> 47<p>The <SPAN class="argument">mixerCtrl</SPAN> parameter dictates which channels the DSP must mix for a voice, and the manner in which the mixing must occur (ramped or non-ramped). The more channels the DSP must mix for a voice, the costlier the voice is, in terms of DSP cycles.</p> 48 49<p>Take care to specify only the necessary minimum number of channels to mix for a voice. For example, if a sound effect is panned only to the front left and right channels, then the surround channel mixer control should not be asserted. Furthermore, if an AUX effect is not being applied to the voice, then don't assert the mixer controls for the AUXA/AUXB/AUXC busses.</p> 50 51<p>The <SPAN class="argument">mixerCtrl</SPAN> parameter has the following bit definitions (where bit 1 is the least significant bit):</p> 52 53<ul> 54<li>bit 1, main left (1 = mix, 0 = do not mix) 55<li>bit 2, main right 56<li>bit 3, ramping for main left, right (1 = ramped, 0 = non-ramped) 57<li>bit 4, main surround 58<li>bit 5, ramping for main surround 59<li>bits 5-16, reserved (must be 0) 60<li>bit 17, Aux A left 61<li>bit 18, Aux A right 62<li>bit 19, ramping for Aux A left, Aux A right 63<li>bit 20, Aux A surround 64<li>bit 21, ramping for Aux A surround 65<li>bit 22, Aux B left 66<li>bit 23, Aux B right 67<li>bit 24, ramping for Aux B left, Aux B right 68<li>bit 25, Aux B surround 69<li>bit 26, ramping for Aux B surround 70<li>bit 27, Aux C left 71<li>bit 28, Aux C right 72<li>bit 29, ramping for Aux C left, right 73<li>bit 30, Aux C surround 74<li>bit 31, ramping for Aux C surround 75<li>bit 32, for DPL2, does not apply ITD for surrounds (1 = DPL2, 0 = non-DPL2) 76</ul> 77 78<p>The ramping feature of the mixer activates a per-sample volume ramp. This eliminates "zipping" artifacts when a large volume change is applied to a sound effect. Without ramping, volume changes would be applied on a frame (or millisecond) basis, resulting in a "stair step" volume profile. A per-sample ramp provides a smoother transition, but nearly doubles the mixing cost of a given channel. Take care to use ramping only when necessary.</p> 79 80<p>Bit 32 must be asserted if you are implementing DPL2 support. This bit will deactivate the ITD (initial time delay) phase modulation for the surround channels. This is necessary because phase coherence is required for proper decoding of surround information by DPL2 receivers.</p> 81 82<p>Assert the <code>AX_SYNC_USER_MIXCTRL</code> synchronization flag in <code>axvpb.sync</code>, whenever <SPAN class="argument">mixerCtrl</SPAN> has changed. Please refer to the source code for the MIX library as an example of using <SPAN class="argument">mixerCtrl</SPAN>.</p> 83 84<h2>See Also</h2> 85<p class="reference"> 86<a href="../Voice_Parameter_Blocks/sync.html">axvpb.sync</a>, <a href="AXPBMIX_mix.html">axvpb.pb.mix</a>, <a href="../Voice_Parameters/AXSetVoiceMix.html">AXSetVoiceMix</a> 87</p> 88 89<h2>Revision History</h2> 90<P> 912006/03/01 Initial version.<br> 92</P> 93 94<hr><p>CONFIDENTIAL</p></body> 95</html> 96