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>SYNInitSpecifyMem</title> 7<META http-equiv="Content-Type" content="text/html; charset=windows-1252"> 8<META http-equiv="Content-Style-Type" content="text/css"> 9</head> 10 11<body> 12 13<h1 align="left">SYNInitSpecifyMem</h1> 14 15<h2>C Specification</h2> 16 17<dl> 18<dd><pre><CODE>#include <revolution.h> 19#include <revolution/syn.h></CODE></pre> 20 </dd> 21 <dd><pre><CODE>void SYNInitSpecifyMem(void* mem);</CODE></pre> 22 </dd> 23</dl> 24 25<h2>Arguments</h2> 26 27<table border="1" cellpadding="3" cellspacing="0.1"> 28 <tr> 29<td width="120" bgcolor="#ffffe8"><em><strong><code>mem</code></strong></em></td> 30 <td width="520">User allocated synthesizer memory.</td> 31 </tr> 32</table> 33 34<h2>Return Values</h2> 35 36<p>None.</p> 37 38<h2>Description</h2> 39 40<p>The <code>SYNInitSpecifyMem</code> function expands the <a href="SYNInit.html"><code>SYNInit</code></a> function to allow specification of library memory area.</p> 41 42<p>The synthesizer needs a <code>SYNVOICE</code> structure for each voice to control voice. The synthesizer library defines the count <code>AX_MAX_VOICES</code> of <code>SYNVOICE</code> structures using <code>static</code>.</p> 43 44<p>If the <a href="SYNInit.html"><code>SYNInit</code></a> function is used for the synthesizer initialization, the above <code>SYNVOICE</code> structures defined in the library are used for controlling voices.</p> 45 46<p>Alternately, if this function is used in place of <a href="SYNInit.html"><code>SYNInit</code></a> function, the <code>SYNVOICE</code> structures allocated to the <code>mem</code> specified area are used for the control. Here, the <code>SYNVOICE</code> structures defined within the library will not be linked, so unnecessary <code>SYNVOICE</code> structures will not consume extra memory.</p> 47 48<p>Use this function if you want to make the maximum voice count of the AX library smaller than <code>AX_MAX_VOICES</code> or you want to allocate <code>SYNVOICE</code> structures to a memory of choice between MEM1 and MEM2.</p> 49 50<p>The size of the memory area specified by the argument <code>mem</code> may be obtained through <a href="SYNGetMemorySize.html"><code>SYNGetMemorySize</code></a> macro.</p> 51 52<p>The AX library initialization needs to be completed before this function is called. Also, this function needs to be called before any other synthesizer function.</p> 53 54<h2>See Also</h2> 55 56<p> 57<a href="SYNInit.html"><code>SYNInit</code></a>, <a href="SYNGetMemorySize.html"><code>SYNGetMemorySize</code></a> 58</p> 59 60<h2>Revision History</h2> 61<P>2006/10/23 Initial version.</P> 62 63<hr> 64<P>CONFIDENTIAL</p> 65</BODY> 66</HTML> 67