Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > updates > by-pkgid > 18785641029f14f23cccc82925607ace > files > 45

libalsa2-docs-0.9.0-0.14rc7.1mdk.ppc.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Instrument Interface</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <a class="qindex" href="examples.html">Examples</a> &nbsp; </center>
<hr><h1>Instrument Interface</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a42">snd_instr_header_alloca</a>(ptr)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a43">SND_SEQ_INSTR_ATYPE_DATA</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a44">SND_SEQ_INSTR_ATYPE_ALIAS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a45">SND_SEQ_INSTR_ID_DLS1</a>&nbsp;&nbsp;&nbsp;"DLS1"</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a46">SND_SEQ_INSTR_ID_DLS2</a>&nbsp;&nbsp;&nbsp;"DLS2"</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a47">SND_SEQ_INSTR_ID_SIMPLE</a>&nbsp;&nbsp;&nbsp;"Simple Wave"</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a48">SND_SEQ_INSTR_ID_SOUNDFONT</a>&nbsp;&nbsp;&nbsp;"SoundFont"</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a49">SND_SEQ_INSTR_ID_GUS_PATCH</a>&nbsp;&nbsp;&nbsp;"GUS Patch"</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a50">SND_SEQ_INSTR_ID_INTERWAVE</a>&nbsp;&nbsp;&nbsp;"Interwave FFFF"</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a51">SND_SEQ_INSTR_ID_OPL2_3</a>&nbsp;&nbsp;&nbsp;"OPL2/3 FM"</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a52">SND_SEQ_INSTR_ID_OPL4</a>&nbsp;&nbsp;&nbsp;"OPL4"</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a53">SND_SEQ_INSTR_TYPE0_DLS1</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a54">SND_SEQ_INSTR_TYPE0_DLS2</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a55">SND_SEQ_INSTR_TYPE1_SIMPLE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a56">SND_SEQ_INSTR_TYPE1_SOUNDFONT</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a57">SND_SEQ_INSTR_TYPE1_GUS_PATCH</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;2)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a58">SND_SEQ_INSTR_TYPE1_INTERWAVE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;3)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a59">SND_SEQ_INSTR_TYPE2_OPL2_3</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a60">SND_SEQ_INSTR_TYPE2_OPL4</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a61">SND_SEQ_INSTR_PUT_CMD_CREATE</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a62">SND_SEQ_INSTR_PUT_CMD_REPLACE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a63">SND_SEQ_INSTR_PUT_CMD_MODIFY</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a64">SND_SEQ_INSTR_PUT_CMD_ADD</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a65">SND_SEQ_INSTR_PUT_CMD_REMOVE</a>&nbsp;&nbsp;&nbsp;4</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a66">SND_SEQ_INSTR_GET_CMD_FULL</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a67">SND_SEQ_INSTR_GET_CMD_PARTIAL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a68">SND_SEQ_INSTR_QUERY_FOLLOW_ALIAS</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a69">SND_SEQ_INSTR_FREE_CMD_ALL</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a70">SND_SEQ_INSTR_FREE_CMD_PRIVATE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a71">SND_SEQ_INSTR_FREE_CMD_CLUSTER</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a72">SND_SEQ_INSTR_FREE_CMD_SINGLE</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td nowrap align=right valign=top>typedef _snd_instr_header&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a></td></tr>
<tr><td nowrap align=right valign=top>typedef void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a1">snd_instr_fm_t</a></td></tr>
<tr><td nowrap align=right valign=top>typedef void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a2">snd_instr_simple_t</a></td></tr>
<tr><td nowrap align=right valign=top>typedef void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a3">snd_instr_iwffff_t</a></td></tr>
<tr><td nowrap align=right valign=top>typedef _snd_iwffff_handle&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a4">snd_iwffff_handle_t</a></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a5">snd_instr_header_sizeof</a> (void)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>get size of <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a></em> <a href="#a5"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a6">snd_instr_header_malloc</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> **ptr, size_t len)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>allocate an empty <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> using standard malloc</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a7">snd_instr_header_free</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *ptr)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>frees a previously allocated <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a></em> <a href="#a7"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a8">snd_instr_header_copy</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *dst, const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *src)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>copy one <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> to another</em> <a href="#a8"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>const <a class="el" href="group___seq_events.html#a12">snd_seq_instr_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a9">snd_instr_header_get_id</a> (const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the instrument id of an instr_header container.</em> <a href="#a9"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group___seq_events.html#a11">snd_seq_instr_cluster_t</a>&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a10">snd_instr_header_get_cluster</a> (const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the cluster id of an instr_header container.</em> <a href="#a10"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>unsigned int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a11">snd_instr_header_get_cmd</a> (const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the command of an instr_header container.</em> <a href="#a11"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a12">snd_instr_header_get_len</a> (const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the length of extra data of an instr_header container.</em> <a href="#a12"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a13">snd_instr_header_get_name</a> (const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the data name of an instr_header container.</em> <a href="#a13"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a14">snd_instr_header_get_type</a> (const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the data type of an instr_header container.</em> <a href="#a14"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a15">snd_instr_header_get_format</a> (const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the data format of an instr_header container.</em> <a href="#a15"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>const <a class="el" href="group___seq_events.html#a12">snd_seq_instr_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a16">snd_instr_header_get_alias</a> (const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the data alias of an instr_header container.</em> <a href="#a16"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a17">snd_instr_header_get_data</a> (const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the extra data pointer of an instr_header container.</em> <a href="#a17"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a18">snd_instr_header_get_follow_alias</a> (const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the flag to follow alias of an instr_header container.</em> <a href="#a18"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a19">snd_instr_header_set_id</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info, const <a class="el" href="group___seq_events.html#a12">snd_seq_instr_t</a> *id)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the instrument id of an instr_header container.</em> <a href="#a19"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a20">snd_instr_header_set_cluster</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info, <a class="el" href="group___seq_events.html#a11">snd_seq_instr_cluster_t</a> cluster)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the cluster id of an instr_header container.</em> <a href="#a20"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a21">snd_instr_header_set_cmd</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info, unsigned int cmd)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the command of an instr_header container.</em> <a href="#a21"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a22">snd_instr_header_set_len</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info, size_t len)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the length of extra data of an instr_header container.</em> <a href="#a22"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a23">snd_instr_header_set_name</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info, const char *name)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the data name of an instr_header container.</em> <a href="#a23"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a24">snd_instr_header_set_type</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info, int type)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the data type of an instr_header container.</em> <a href="#a24"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a25">snd_instr_header_set_format</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info, const char *format)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the data format of an instr_header container.</em> <a href="#a25"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a26">snd_instr_header_set_alias</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info, const <a class="el" href="group___seq_events.html#a12">snd_seq_instr_t</a> *instr)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the data alias id of an instr_header container.</em> <a href="#a26"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a27">snd_instr_header_set_follow_alias</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *info, int val)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the flag to follow alias of an instr_header container.</em> <a href="#a27"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a28">snd_instr_fm_convert_to_stream</a> (<a class="el" href="group___instrument.html#a1">snd_instr_fm_t</a> *fm, const char *name, <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> **put, size_t *size)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Convert the FM instrument to byte stream.</em> <a href="#a28"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a29">snd_instr_fm_convert_from_stream</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *data, size_t size, <a class="el" href="group___instrument.html#a1">snd_instr_fm_t</a> **fm)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Convert the byte stream to FM instrument.</em> <a href="#a29"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a30">snd_instr_fm_free</a> (<a class="el" href="group___instrument.html#a1">snd_instr_fm_t</a> *fm)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Free the FM instrument handle.</em> <a href="#a30"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a31">snd_instr_simple_convert_to_stream</a> (<a class="el" href="group___instrument.html#a2">snd_instr_simple_t</a> *simple, const char *name, <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> **put, size_t *size)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Convert the simple instrument to byte stream.</em> <a href="#a31"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a32">snd_instr_simple_convert_from_stream</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *data, size_t size, <a class="el" href="group___instrument.html#a2">snd_instr_simple_t</a> **simple)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Convert the byte stream to simple instrument.</em> <a href="#a32"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a33">snd_instr_simple_free</a> (<a class="el" href="group___instrument.html#a2">snd_instr_simple_t</a> *simple)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Free simple instrument.</em> <a href="#a33"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a34">snd_instr_iwffff_open</a> (<a class="el" href="group___instrument.html#a4">snd_iwffff_handle_t</a> **handle, const char *name_fff, const char *name_dta)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Open IWFFFF files.</em> <a href="#a34"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a35">snd_instr_iwffff_open_rom</a> (<a class="el" href="group___instrument.html#a4">snd_iwffff_handle_t</a> **handle, int card, int bank, int file)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Open IWFFFF ROM.</em> <a href="#a35"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a36">snd_instr_iwffff_open_rom_file</a> (<a class="el" href="group___instrument.html#a4">snd_iwffff_handle_t</a> **handle, const char *name, int bank, int file)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Open IWFFFF ROM file.</em> <a href="#a36"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a37">snd_instr_iwffff_close</a> (<a class="el" href="group___instrument.html#a4">snd_iwffff_handle_t</a> *handle)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Close and free IWFFFF handle.</em> <a href="#a37"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a38">snd_instr_iwffff_load</a> (<a class="el" href="group___instrument.html#a4">snd_iwffff_handle_t</a> *handle, int bank, int prg, <a class="el" href="group___instrument.html#a3">snd_instr_iwffff_t</a> **iwffff)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Load IWFFFF instrument.</em> <a href="#a38"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a39">snd_instr_iwffff_convert_to_stream</a> (<a class="el" href="group___instrument.html#a3">snd_instr_iwffff_t</a> *iwffff, const char *name, <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> **data, size_t *size)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Convert the IWFFFF instrument to byte stream.</em> <a href="#a39"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a40">snd_instr_iwffff_convert_from_stream</a> (<a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *data, size_t size, <a class="el" href="group___instrument.html#a3">snd_instr_iwffff_t</a> **iwffff)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Convert the byte stream to IWFFFF instrument.</em> <a href="#a40"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group___instrument.html#a41">snd_instr_iwffff_free</a> (<a class="el" href="group___instrument.html#a3">snd_instr_iwffff_t</a> *iwffff)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Free IWFFFF instrument.</em> <a href="#a41"></a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The Instrument Interface. <hr><h2>Define Documentation</h2>
<a name="a42" doxytag="instr.h::snd_instr_header_alloca"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define snd_instr_header_alloca</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">ptr&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<b>Value:</b><div class="fragment"><pre><span class="keywordflow">do</span> {\
        assert(ptr);\
        *ptr = (<a class="code" href="group___instrument.html#a0">snd_instr_header_t</a> *)alloca(<a class="code" href="group___instrument.html#a5">snd_instr_header_sizeof</a>());\
        memset(*ptr, 0, <a class="code" href="group___instrument.html#a5">snd_instr_header_sizeof</a>());\
} <span class="keywordflow">while</span> (0)</pre></div>allocate instrument header on stack     </td>
  </tr>
</table>
<a name="a44" doxytag="instr.h::SND_SEQ_INSTR_ATYPE_ALIAS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_ATYPE_ALIAS&nbsp;&nbsp;&nbsp;1
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
instrument alias     </td>
  </tr>
</table>
<a name="a43" doxytag="instr.h::SND_SEQ_INSTR_ATYPE_DATA"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_ATYPE_DATA&nbsp;&nbsp;&nbsp;0
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
instrument data     </td>
  </tr>
</table>
<a name="a69" doxytag="instr.h::SND_SEQ_INSTR_FREE_CMD_ALL"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_FREE_CMD_ALL&nbsp;&nbsp;&nbsp;0
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
remove all matching instruments     </td>
  </tr>
</table>
<a name="a71" doxytag="instr.h::SND_SEQ_INSTR_FREE_CMD_CLUSTER"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_FREE_CMD_CLUSTER&nbsp;&nbsp;&nbsp;2
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
remove only cluster instruments     </td>
  </tr>
</table>
<a name="a70" doxytag="instr.h::SND_SEQ_INSTR_FREE_CMD_PRIVATE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_FREE_CMD_PRIVATE&nbsp;&nbsp;&nbsp;1
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
remove only private instruments     </td>
  </tr>
</table>
<a name="a72" doxytag="instr.h::SND_SEQ_INSTR_FREE_CMD_SINGLE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_FREE_CMD_SINGLE&nbsp;&nbsp;&nbsp;3
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
remove single instrument     </td>
  </tr>
</table>
<a name="a66" doxytag="instr.h::SND_SEQ_INSTR_GET_CMD_FULL"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_GET_CMD_FULL&nbsp;&nbsp;&nbsp;0
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
get the full data stream     </td>
  </tr>
</table>
<a name="a67" doxytag="instr.h::SND_SEQ_INSTR_GET_CMD_PARTIAL"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_GET_CMD_PARTIAL&nbsp;&nbsp;&nbsp;1
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
get the partial data stream     </td>
  </tr>
</table>
<a name="a45" doxytag="instr.h::SND_SEQ_INSTR_ID_DLS1"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_ID_DLS1&nbsp;&nbsp;&nbsp;"DLS1"
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
DLS1     </td>
  </tr>
</table>
<a name="a46" doxytag="instr.h::SND_SEQ_INSTR_ID_DLS2"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_ID_DLS2&nbsp;&nbsp;&nbsp;"DLS2"
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
DLS2     </td>
  </tr>
</table>
<a name="a49" doxytag="instr.h::SND_SEQ_INSTR_ID_GUS_PATCH"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_ID_GUS_PATCH&nbsp;&nbsp;&nbsp;"GUS Patch"
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gravis Patch     </td>
  </tr>
</table>
<a name="a50" doxytag="instr.h::SND_SEQ_INSTR_ID_INTERWAVE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_ID_INTERWAVE&nbsp;&nbsp;&nbsp;"Interwave FFFF"
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
InterWave FFFF     </td>
  </tr>
</table>
<a name="a51" doxytag="instr.h::SND_SEQ_INSTR_ID_OPL2_3"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_ID_OPL2_3&nbsp;&nbsp;&nbsp;"OPL2/3 FM"
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
OPL2/3 FM     </td>
  </tr>
</table>
<a name="a52" doxytag="instr.h::SND_SEQ_INSTR_ID_OPL4"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_ID_OPL4&nbsp;&nbsp;&nbsp;"OPL4"
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
OPL4     </td>
  </tr>
</table>
<a name="a47" doxytag="instr.h::SND_SEQ_INSTR_ID_SIMPLE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_ID_SIMPLE&nbsp;&nbsp;&nbsp;"Simple Wave"
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Simple Wave     </td>
  </tr>
</table>
<a name="a48" doxytag="instr.h::SND_SEQ_INSTR_ID_SOUNDFONT"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_ID_SOUNDFONT&nbsp;&nbsp;&nbsp;"SoundFont"
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
SoundFont     </td>
  </tr>
</table>
<a name="a64" doxytag="instr.h::SND_SEQ_INSTR_PUT_CMD_ADD"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_PUT_CMD_ADD&nbsp;&nbsp;&nbsp;3
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
add one to the existing layer     </td>
  </tr>
</table>
<a name="a61" doxytag="instr.h::SND_SEQ_INSTR_PUT_CMD_CREATE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_PUT_CMD_CREATE&nbsp;&nbsp;&nbsp;0
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
create a new layer     </td>
  </tr>
</table>
<a name="a63" doxytag="instr.h::SND_SEQ_INSTR_PUT_CMD_MODIFY"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_PUT_CMD_MODIFY&nbsp;&nbsp;&nbsp;2
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
modify the existing layer     </td>
  </tr>
</table>
<a name="a65" doxytag="instr.h::SND_SEQ_INSTR_PUT_CMD_REMOVE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_PUT_CMD_REMOVE&nbsp;&nbsp;&nbsp;4
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
remove the layer     </td>
  </tr>
</table>
<a name="a62" doxytag="instr.h::SND_SEQ_INSTR_PUT_CMD_REPLACE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_PUT_CMD_REPLACE&nbsp;&nbsp;&nbsp;1
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
replace the old layer with new one     </td>
  </tr>
</table>
<a name="a68" doxytag="instr.h::SND_SEQ_INSTR_QUERY_FOLLOW_ALIAS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_QUERY_FOLLOW_ALIAS&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
follow alias to get the instrument data     </td>
  </tr>
</table>
<a name="a53" doxytag="instr.h::SND_SEQ_INSTR_TYPE0_DLS1"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_TYPE0_DLS1&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
MIDI DLS v1     </td>
  </tr>
</table>
<a name="a54" doxytag="instr.h::SND_SEQ_INSTR_TYPE0_DLS2"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_TYPE0_DLS2&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
MIDI DLS v2     </td>
  </tr>
</table>
<a name="a57" doxytag="instr.h::SND_SEQ_INSTR_TYPE1_GUS_PATCH"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_TYPE1_GUS_PATCH&nbsp;&nbsp;&nbsp;(1&lt;&lt;2)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gravis UltraSound Patch     </td>
  </tr>
</table>
<a name="a58" doxytag="instr.h::SND_SEQ_INSTR_TYPE1_INTERWAVE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_TYPE1_INTERWAVE&nbsp;&nbsp;&nbsp;(1&lt;&lt;3)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
InterWave FFFF     </td>
  </tr>
</table>
<a name="a55" doxytag="instr.h::SND_SEQ_INSTR_TYPE1_SIMPLE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_TYPE1_SIMPLE&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Simple Wave     </td>
  </tr>
</table>
<a name="a56" doxytag="instr.h::SND_SEQ_INSTR_TYPE1_SOUNDFONT"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_TYPE1_SOUNDFONT&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
EMU SoundFont     </td>
  </tr>
</table>
<a name="a59" doxytag="instr.h::SND_SEQ_INSTR_TYPE2_OPL2_3"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_TYPE2_OPL2_3&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Yamaha OPL2/3 FM     </td>
  </tr>
</table>
<a name="a60" doxytag="instr.h::SND_SEQ_INSTR_TYPE2_OPL4"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define SND_SEQ_INSTR_TYPE2_OPL4&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Yamaha OPL4     </td>
  </tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a name="a1" doxytag="instr.h::snd_instr_fm_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef void snd_instr_fm_t
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
FM instrument data structure     </td>
  </tr>
</table>
<a name="a0" doxytag="instr.h::snd_instr_header_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct _snd_instr_header snd_instr_header_t
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
container for sequencer instrument header     </td>
  </tr>
</table>
<a name="a3" doxytag="instr.h::snd_instr_iwffff_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef void snd_instr_iwffff_t
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
IW FFFF instrument data structure     </td>
  </tr>
</table>
<a name="a2" doxytag="instr.h::snd_instr_simple_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef void snd_instr_simple_t
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
simple instrument data structure     </td>
  </tr>
</table>
<a name="a4" doxytag="instr.h::snd_iwffff_handle_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct _snd_iwffff_handle snd_iwffff_handle_t
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
IW FFFF handler     </td>
  </tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a29" doxytag="instr.h::snd_instr_fm_convert_from_stream"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_fm_convert_from_stream </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>__data</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>size</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___instrument.html#a1">snd_instr_fm_t</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>simple</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert the byte stream to FM instrument.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>__data</em>&nbsp;</td><td>
Input - byte stream containing FM instrument definition </td></tr>
<tr><td valign=top><em>size</em>&nbsp;</td><td>
Input - size of byte stream </td></tr>
<tr><td valign=top><em>simple</em>&nbsp;</td><td>
Result - allocated FM instrument handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a28" doxytag="instr.h::snd_instr_fm_convert_to_stream"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_fm_convert_to_stream </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a1">snd_instr_fm_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>fm</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>__data</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>__size</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert the FM instrument to byte stream.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>fm</em>&nbsp;</td><td>
FM instrument handle </td></tr>
<tr><td valign=top><em>name</em>&nbsp;</td><td>
FM instrument name </td></tr>
<tr><td valign=top><em>__data</em>&nbsp;</td><td>
Result - allocated byte stream </td></tr>
<tr><td valign=top><em>__size</em>&nbsp;</td><td>
Result - size of allocated byte stream </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a30" doxytag="instr.h::snd_instr_fm_free"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_fm_free </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a1">snd_instr_fm_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>fm</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Free the FM instrument handle.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>fm</em>&nbsp;</td><td>
FM instrument handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a8" doxytag="instr.h::snd_instr_header_copy"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_instr_header_copy </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>dst</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>src</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
copy one <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> to another
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>dst</em>&nbsp;</td><td>
pointer to destination </td></tr>
<tr><td valign=top><em>src</em>&nbsp;</td><td>
pointer to source </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a7" doxytag="instr.h::snd_instr_header_free"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_instr_header_free </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>obj</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
frees a previously allocated <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a>
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>pointer</em>&nbsp;</td><td>
to object to free </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a16" doxytag="instr.h::snd_instr_header_get_alias"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const <a class="el" href="group___seq_events.html#a12">snd_seq_instr_t</a>* snd_instr_header_get_alias </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>info</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the data alias of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
the data alias id </dl>    </td>
  </tr>
</table>
<a name="a10" doxytag="instr.h::snd_instr_header_get_cluster"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group___seq_events.html#a11">snd_seq_instr_cluster_t</a> snd_instr_header_get_cluster </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>info</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the cluster id of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
cluster id </dl>    </td>
  </tr>
</table>
<a name="a11" doxytag="instr.h::snd_instr_header_get_cmd"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> unsigned int snd_instr_header_get_cmd </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>info</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the command of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
command type </dl>    </td>
  </tr>
</table>
<a name="a17" doxytag="instr.h::snd_instr_header_get_data"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* snd_instr_header_get_data </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>info</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the extra data pointer of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
the extra data pointer </dl>    </td>
  </tr>
</table>
<a name="a18" doxytag="instr.h::snd_instr_header_get_follow_alias"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_header_get_follow_alias </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>info</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the flag to follow alias of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
1 if follow alias </dl>    </td>
  </tr>
</table>
<a name="a15" doxytag="instr.h::snd_instr_header_get_format"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const char* snd_instr_header_get_format </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>info</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the data format of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
the data format string </dl>    </td>
  </tr>
</table>
<a name="a9" doxytag="instr.h::snd_instr_header_get_id"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const <a class="el" href="group___seq_events.html#a12">snd_seq_instr_t</a>* snd_instr_header_get_id </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>info</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the instrument id of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
instrument id pointer </dl>    </td>
  </tr>
</table>
<a name="a12" doxytag="instr.h::snd_instr_header_get_len"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t snd_instr_header_get_len </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>info</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the length of extra data of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
the length in bytes </dl>    </td>
  </tr>
</table>
<a name="a13" doxytag="instr.h::snd_instr_header_get_name"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const char* snd_instr_header_get_name </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>info</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the data name of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
the name string </dl>    </td>
  </tr>
</table>
<a name="a14" doxytag="instr.h::snd_instr_header_get_type"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_header_get_type </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>info</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the data type of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
the data type </dl>    </td>
  </tr>
</table>
<a name="a6" doxytag="instr.h::snd_instr_header_malloc"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_header_malloc </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>ptr</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>len</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
allocate an empty <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> using standard malloc
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>ptr</em>&nbsp;</td><td>
returned pointer </td></tr>
<tr><td valign=top><em>len</em>&nbsp;</td><td>
additional data length </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise negative error code </dl>    </td>
  </tr>
</table>
<a name="a26" doxytag="instr.h::snd_instr_header_set_alias"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_instr_header_set_alias </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="group___seq_events.html#a12">snd_seq_instr_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>instr</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the data alias id of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
<tr><td valign=top><em>instr</em>&nbsp;</td><td>
alias instrument id </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a20" doxytag="instr.h::snd_instr_header_set_cluster"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_instr_header_set_cluster </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___seq_events.html#a11">snd_seq_instr_cluster_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>cluster</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the cluster id of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
<tr><td valign=top><em>cluster</em>&nbsp;</td><td>
cluster id </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a21" doxytag="instr.h::snd_instr_header_set_cmd"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_instr_header_set_cmd </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>unsigned int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>cmd</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the command of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
<tr><td valign=top><em>cmd</em>&nbsp;</td><td>
command type </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a27" doxytag="instr.h::snd_instr_header_set_follow_alias"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_instr_header_set_follow_alias </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>val</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the flag to follow alias of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
<tr><td valign=top><em>val</em>&nbsp;</td><td>
1 if follow alias </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a25" doxytag="instr.h::snd_instr_header_set_format"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_instr_header_set_format </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>format</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the data format of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
<tr><td valign=top><em>format</em>&nbsp;</td><td>
the data format string </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a19" doxytag="instr.h::snd_instr_header_set_id"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_instr_header_set_id </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="group___seq_events.html#a12">snd_seq_instr_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>id</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the instrument id of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
<tr><td valign=top><em>id</em>&nbsp;</td><td>
instrument id pointer </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a22" doxytag="instr.h::snd_instr_header_set_len"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_instr_header_set_len </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>len</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the length of extra data of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
<tr><td valign=top><em>len</em>&nbsp;</td><td>
size of extra data in bytes </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a23" doxytag="instr.h::snd_instr_header_set_name"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_instr_header_set_name </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>name</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the data name of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
<tr><td valign=top><em>name</em>&nbsp;</td><td>
the name string </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a24" doxytag="instr.h::snd_instr_header_set_type"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void snd_instr_header_set_type </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>type</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the data type of an instr_header container.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
instr_header container </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
the data type </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a5" doxytag="instr.h::snd_instr_header_sizeof"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t snd_instr_header_sizeof </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
get size of <a class="el" href="group___instrument.html#a0">snd_instr_header_t</a>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
size in bytes </dl>    </td>
  </tr>
</table>
<a name="a37" doxytag="instr.h::snd_instr_iwffff_close"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_iwffff_close </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a4">snd_iwffff_handle_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>handle</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Close and free IWFFFF handle.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>handle</em>&nbsp;</td><td>
IWFFFF handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a40" doxytag="instr.h::snd_instr_iwffff_convert_from_stream"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_iwffff_convert_from_stream </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>data</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>size</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___instrument.html#a3">snd_instr_iwffff_t</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>iwffff</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert the byte stream to IWFFFF instrument.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>data</em>&nbsp;</td><td>
Input - byte stream </td></tr>
<tr><td valign=top><em>size</em>&nbsp;</td><td>
Input - size of byte stream </td></tr>
<tr><td valign=top><em>iwffff</em>&nbsp;</td><td>
Result - allocated IWFFFF instrument handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a39" doxytag="instr.h::snd_instr_iwffff_convert_to_stream"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_iwffff_convert_to_stream </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a3">snd_instr_iwffff_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>iwffff</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>__data</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>__size</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert the IWFFFF instrument to byte stream.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>iwffff</em>&nbsp;</td><td>
IWFFFF instrument handle </td></tr>
<tr><td valign=top><em>name</em>&nbsp;</td><td>
instrument name </td></tr>
<tr><td valign=top><em>__data</em>&nbsp;</td><td>
Result - allocated byte stream </td></tr>
<tr><td valign=top><em>__size</em>&nbsp;</td><td>
Result - size of allocated byte stream </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a41" doxytag="instr.h::snd_instr_iwffff_free"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_iwffff_free </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a3">snd_instr_iwffff_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>__instr</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Free IWFFFF instrument.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>__instr</em>&nbsp;</td><td>
IWFFFF instrument handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a38" doxytag="instr.h::snd_instr_iwffff_load"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_iwffff_load </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a4">snd_iwffff_handle_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>iwf</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>bank</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>prg</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___instrument.html#a3">snd_instr_iwffff_t</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>__iwffff</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Load IWFFFF instrument.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>iwf</em>&nbsp;</td><td>
IWFFFF handle </td></tr>
<tr><td valign=top><em>bank</em>&nbsp;</td><td>
program bank number </td></tr>
<tr><td valign=top><em>prg</em>&nbsp;</td><td>
program number </td></tr>
<tr><td valign=top><em>__iwffff</em>&nbsp;</td><td>
allocated IWFFFF instrument </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a34" doxytag="instr.h::snd_instr_iwffff_open"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_iwffff_open </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a4">snd_iwffff_handle_t</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>handle</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>name_fff</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>name_dat</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Open IWFFFF files.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>handle</em>&nbsp;</td><td>
IWFFFF handle </td></tr>
<tr><td valign=top><em>name_fff</em>&nbsp;</td><td>
filename of an FFF (header) file </td></tr>
<tr><td valign=top><em>name_dat</em>&nbsp;</td><td>
filename of an DAT (data) file </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a35" doxytag="instr.h::snd_instr_iwffff_open_rom"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_iwffff_open_rom </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a4">snd_iwffff_handle_t</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>handle</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>card</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>bank</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>file</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Open IWFFFF ROM.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>handle</em>&nbsp;</td><td>
IWFFFF handle </td></tr>
<tr><td valign=top><em>card</em>&nbsp;</td><td>
card number </td></tr>
<tr><td valign=top><em>bank</em>&nbsp;</td><td>
ROM bank number (0-3) </td></tr>
<tr><td valign=top><em>file</em>&nbsp;</td><td>
ROM file number </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative <code>errno</code> code</dl>Opens <em>file</em> in <em>bank</em> in the ROM image of card <em>card</em>, and writes a handle pointer into <em>*handle</em>.     </td>
  </tr>
</table>
<a name="a36" doxytag="instr.h::snd_instr_iwffff_open_rom_file"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_iwffff_open_rom_file </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a4">snd_iwffff_handle_t</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>handle</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>bank</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>file</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Open IWFFFF ROM file.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>handle</em>&nbsp;</td><td>
IWFFFF handle </td></tr>
<tr><td valign=top><em>name</em>&nbsp;</td><td>
IWFFFF ROM filename </td></tr>
<tr><td valign=top><em>bank</em>&nbsp;</td><td>
ROM bank number (0-3) </td></tr>
<tr><td valign=top><em>file</em>&nbsp;</td><td>
ROM file number </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a32" doxytag="instr.h::snd_instr_simple_convert_from_stream"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_simple_convert_from_stream </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>__data</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>size</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___instrument.html#a2">snd_instr_simple_t</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>simple</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert the byte stream to simple instrument.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>__data</em>&nbsp;</td><td>
byte stream </td></tr>
<tr><td valign=top><em>size</em>&nbsp;</td><td>
size of byte stream </td></tr>
<tr><td valign=top><em>simple</em>&nbsp;</td><td>
Result - simple instrument handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a31" doxytag="instr.h::snd_instr_simple_convert_to_stream"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_simple_convert_to_stream </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a2">snd_instr_simple_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>simple</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>name</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___instrument.html#a0">snd_instr_header_t</a> **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>__data</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>size_t *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>__size</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert the simple instrument to byte stream.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>simple</em>&nbsp;</td><td>
Simple instrument handle </td></tr>
<tr><td valign=top><em>name</em>&nbsp;</td><td>
Simple instrument name </td></tr>
<tr><td valign=top><em>__data</em>&nbsp;</td><td>
Result - allocated byte stream </td></tr>
<tr><td valign=top><em>__size</em>&nbsp;</td><td>
Result - size of allocated byte stream </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<a name="a33" doxytag="instr.h::snd_instr_simple_free"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int snd_instr_simple_free </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___instrument.html#a2">snd_instr_simple_t</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>simple</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Free simple instrument.
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>simple</em>&nbsp;</td><td>
Simple instrument handle </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code </dl>    </td>
  </tr>
</table>
<hr><address style="align: right;"><small>Generated on Wed Apr 2 16:06:39 2003 for ALSA project - the C library reference by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.18 </small></address>
</body>
</html>