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