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>Syntax</h2> 16<dl><dd><pre class="construction"> 17#include <revolution.h> 18#include <revolution/syn.h> 19 20void SYNInitSpecifyMem(void* mem); 21</pre></dd></dl> 22 23<h2>Arguments</h2> 24<TABLE class="arguments" border="1" > 25 <tr> 26<th>mem</th> 27<td>User-allocated synthesizer memory area.</td> 28 </tr> 29</table> 30 31<h2>Return Values</h2> 32<p>None.</p> 33 34<h2>Description</h2> 35<p><code>SYNInitSpecifyMem</code> expands the <a href="SYNInit.html"><code>SYNInit</code></a> function to allow specification of library memory area.</p> 36 37<p>To control voices, the synthesizer needs <code>SYNVOICE</code> structure for each voice. Synthesizer library defines the count <code>AX_MAX_VOICES</code> of <code>SYNVOICE</code> structures using <code>static</code>.</p> 38 39<p>If the <a href="SYNInit.html"><code>SYNInit</code></a> function is used for the synthesizer initialization, the above <code>SYNVOICE</code> structure, which is defined in the library, is used for controlling voices.</p> 40 41<p>Alternatively, if this function is used in place of <a href="SYNInit.html"><code>SYNInit</code></a>, the <code>SYNVOICE</code> structure allocated to the area specified with <SPAN class="argument">mem</SPAN> is used for control. Here, the linkers for the <code>SYNVOICE</code> structure defined within the library will not link, so unnecessary <code>SYNVOICE</code> structure will not consume additional memory.</p> 42 43<p>Use this function to make the maximum voice count of the AX library smaller than <code>AX_MAX_VOICES</code>, or to allocate <code>SYNVOICE</code> structure to a memory between MEM1 and MEM2.</p> 44 45<p>Size of the memory area specified by the <SPAN class="argument">mem</SPAN> argument may be obtained through the <a href="SYNGetMemorySize.html"><code>SYNGetMemorySize</code></a> macro.</p> 46 47<p>The AX library initialization has to be completed before this function is called. In addition, this function has to be called before any other synthesizer function.</p> 48 49<h2>See Also</h2> 50<p class="reference"> 51<a href="SYNInit.html"><CODE>SYNInit</CODE></a>, <a href="SYNGetMemorySize.html"><CODE>SYNGetMemorySize</CODE></a> 52</p> 53 54<h2>Revision History</h2> 55<P> 562006/10/23 Initial version.<br> 57</P> 58 59<hr><p>CONFIDENTIAL</p></body> 60</html> 61