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 &lt;revolution.h&gt;
18#include &lt;revolution/syn.h&gt;
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