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<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
7<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 6.5.0.0 for Windows">
8<META http-equiv="Content-Style-Type" content="text/css">
9<title>AX Voice Parameter Blocks</title>
10</head>
11
12<body>
13
14<h1 align="left">AX Voice Parameter Blocks</h1>
15
16<h2>Syntax</h2>
17
18<BLOCKQUOTE>
19<pre><CODE>typedef struct _AXVPB
20{
21
22    void            *next;
23    void            *prev;
24    void            *next1;
25    u32             priority;
26    AXVoiceCallback callback;
27    u32             userContext;
28    u32             index;
29    u32             sync;
30    u32             depop;
31    void            *itdBuffer;
32    AXPB            pb;
33
34} AXVPB;</CODE></pre>
35</BLOCKQUOTE>
36
37<h2>Description</h2>
38
39<p>Voice parameter blocks are the logical data constructs accessed by your audio application to control voice processing. Voice parameter blocks encapsulate the lower-level <code>AVPB pb</code> parameter blocks. Voice parameter blocks also include extra information for sorting, synchronization, and other voice management tasks.</p>
40
41<p><B>Note:</B> The low-level <code>pb</code> parameter blocks are double-buffered within voice parameter blocks (see figure below). This allows the DSP and AX to make parameter changes in parallel. Synchronization between the user <code>pb</code> and the DSP <code>pb</code> is controlled by the flags stored within the <code>axvpb.sync</code> parameter.</p>
42
43<P><img SRC="Double-Buffered_PB.gif" WIDTH="595" HEIGHT="365"></P>
44
45<h2>Revision History</h2>
46<P>
472006/10/23 Deleted <CODE>updateMS</CODE>, <CODE>updateCounter</CODE>, <CODE>updateTotal</CODE>, <CODE>updateWrite</CODE>, and <CODE>updateData</CODE>.<br>2006/03/01 Initial version.<BR>
48</P>
49
50<hr><p>CONFIDENTIAL</p></body>
51</html>
52