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.itd</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.itd</h1> 15 16<h2>Syntax</h2> 17<dl><dd><pre class="construction"> 18#define AX_PB_ITD_OFF 0x0000 19#define AX_PB_ITD_ON 0x0001 20 21typedef struct _AXPBITD 22{ 23 24 u16 flag; // on or off for this voice 25 u16 bufferHi; // buffer in RAM 26 u16 bufferLo; // buffer in RAM 27 u16 shiftL; // phase shift samples left (current) 28 u16 shiftR; // phase shift samples right (current) 29 u16 targetShiftL; // phase shift samples left (target) 30 u16 targetShiftR; // phase shift samples right (target) 31 32} AXPBITD; 33</pre></dd></dl> 34 35<h2>Description</h2> 36<p>Initial Time Delay (ITD) values specify the phase shift for the main left and right channels of a voice. ITD allows your defined 3D API to better place an emitter in space, by providing up to one millisecond of delay for the right and/or left channels.</p> 37 38<p>The <SPAN class="argument">flag</SPAN> variable may have the value of <code>AX_PB_ITD_OFF</code> or <code>AX_PB_ITD_ON</code>.</p> 39 40<p>The <SPAN class="argument">bufferHi</SPAN> and <SPAN class="argument">bufferLo</SPAN> variables specify the main memory address of a buffer where the "delay samples" are stored. For ITD processing, DSP will DMA these samples into and out of the buffer, as needed. The buffer must be 1-millisecond long (32 samples/millisecond x 2bytes/sample = 64 bytes/millisecond) and 32-byte aligned in main memory. AX provides ITD buffers for all voices; you must not modify these parameters.</p> 41 42<p>The <SPAN class="argument">shiftL</SPAN> and <SPAN class="argument">shiftR</SPAN> values are used by DSP to store the current time delays of each channel. Do not modify these values.</p> 43 44<p><SPAN class="argument">targetShiftL</SPAN> and <SPAN class="argument">targetShiftR</SPAN> are the desired time delay values (measured in 32-kHz samples) for each channel. Be aware that DSP does not immediately apply these values to the delay of each channel. Instead, the DSP will "chase" these values, over time, to prevent popping or rate-conversion artifacts.</p> 45 46<p>Assert the <code>AX_SYNC_USER_ITDTARGET</code> bit in the <code>axvpb.sync</code> word when the <SPAN class="argument">targetShiftL</SPAN> or <SPAN class="argument">targetShiftR</SPAN> values have changed.</p> 47 48<p>To synchronize the entire structure, assert the <code>AX_SYNC_USER_ITD</code> bit.</p> 49 50<h2>See Also</h2> 51<p class="reference"> 52<a href="../Voice_Parameter_Blocks/sync.html"><CODE>axvpb.sync</CODE></a>, <a href="../Voice_Parameters/AXSetVoiceItdOn.html"><CODE>AXSetVoiceItdOn</CODE></a>, <a href="../Voice_Parameters/AXSetVoiceItdTarget.html"><CODE>AXSetVoiceItdTarget</CODE></a> 53</p> 54 55<h2>Revision History</h2> 56<P> 572006/03/01 Initial version.<br> 58</P> 59 60<hr><p>CONFIDENTIAL</p></body> 61</html> 62