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>AX Voice Parameter Blocks</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">AX Voice Parameter Blocks</h1> 15 16 17<h2>C Specification</h2> 18<BLOCKQUOTE> 19<pre><CODE>typedef struct _AXVPB 20{ 21 22void *next; 23void *prev; 24void *next1; 25u32 priority; 26AXVoiceCallback callback; 27u32 userContext; 28u32 index; 29u32 sync; 30u32 depop; 31u32 updateMS; 32u32 updateCounter; 33u32 updateTotal; 34u16 *updateWrite; 35u16 updateData[128]; 36void *itdBuffer; 37AXPB pb; 38 39} AXVPB;</CODE></pre> 40</BLOCKQUOTE> 41<h2>Description</h2> 42 43<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> 44 45<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> 46<P><img SRC="Double-Buffered_PB.gif" WIDTH="595" HEIGHT="365"></P> 47<h2>Revision History</h2> 48 49<P>03/01/2006 Initial version.</P> 50</body> 51</html> 52