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 &quot;delay samples&quot; 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 &quot;chase&quot; 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