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 &quot;delay samples&quot; 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 &quot;chase&quot; 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>&nbsp;</p>
61<hr>
62<P>CONFIDENTIAL</p>
63</BODY>
64</HTML>
65