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 17<h2>C Specification</h2> 18<BLOCKQUOTE> 19<pre><CODE>#define AX_PB_ITD_OFF 0x0000 20#define AX_PB_ITD_ON 0x0001 21 22typedef struct _AXPBITD 23{ 24 25 u16 flag; // on or off for this voice 26 u16 bufferHi; // buffer in RAM 27 u16 bufferLo; // buffer in RAM 28 u16 shiftL; // phase shift samples left (current) 29 u16 shiftR; // phase shift samples right (current) 30 u16 targetShiftL; // phase shift samples left (target) 31 u16 targetShiftR; // phase shift samples right (target) 32 33} AXPBITD;</CODE></pre> 34</BLOCKQUOTE> 35<h2>Description</h2> 36 37<p>The Initial Time Delay (ITD) values specify a 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> 38 39<p>The flag variable may have a value of either <code>AX_PB_ITD_OFF</code> or <code>AX_PB_ITD_ON</code>.</p> 40 41<p>The <code>bufferHi</code> and <code>bufferLo</code> variables specify the main memory address of a buffer where the "delay samples" are stored. The DSP will DMA these samples into and out of the buffer, as needed, for ITD processing. <BR><B>Note:</B> The buffer must be one millisecond in length (32 samples/millisecond x 2bytes/sample = 64 bytes/millisecond) and 32-byte aligned in main memory. AX provides ITD buffers for all voices and you must not modify these parameters.</p> 42 43<p>The <code>shiftL</code> and <code>shiftR</code> values are used by the DSP to store the current time delays of each channel. Do not modify these values.</p> 44 45<p><code>targetShiftL</code> and <code>targetShiftR</code> are the desired time delay values (measured in 32-kHz samples) for each channel. <BR><B>Note:</B> The 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> 46 47<p>Assert the <code>AX_SYNC_USER_ITDTARGET</code> bit in the <code>axvpb.sync</code> word when the left/right target values have changed.</p> 48 49<p>To synchronize the entire structure, assert the <code>AX_SYNC_USER_ITD</code> bit.</p> 50 51<h2>See Also</h2> 52 53<p> 54<code><a href="../Voice_Parameter_Blocks/sync.html">axvpb.sync</a><br> <a href="../Voice_Parameters/AXSetVoiceItdOn.html">AXSetVoiceItdOn</a><br> <a href="../Voice_Parameters/AXSetVoiceItdTarget.html">AXSetVoiceItdTarget</a></code> 55</p> 56 57<h2>Revision History</h2> 58 59<P>2006/03/01 Initial version.</P> 60<p> </p> 61<hr> 62<P>CONFIDENTIAL</p> 63</BODY> 64</HTML> 65