Sophie

Sophie

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

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>Sequencer Port 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>Sequencer Port Interface<br>
<small>
[<a class="el" href="group___sequencer.html">MIDI Sequencer</a>]</small>
</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___seq_port.html#a33">SND_SEQ_PORT_SYSTEM_TIMER</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___seq_port.html#a34">SND_SEQ_PORT_SYSTEM_ANNOUNCE</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___seq_port.html#a35">SND_SEQ_PORT_CAP_READ</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___seq_port.html#a36">SND_SEQ_PORT_CAP_WRITE</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___seq_port.html#a37">SND_SEQ_PORT_CAP_SYNC_READ</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___seq_port.html#a38">SND_SEQ_PORT_CAP_SYNC_WRITE</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___seq_port.html#a39">SND_SEQ_PORT_CAP_DUPLEX</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;4)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___seq_port.html#a40">SND_SEQ_PORT_CAP_SUBS_READ</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;5)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___seq_port.html#a41">SND_SEQ_PORT_CAP_SUBS_WRITE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;6)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___seq_port.html#a42">SND_SEQ_PORT_CAP_NO_EXPORT</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;7)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___seq_port.html#a43">SND_SEQ_PORT_TYPE_SPECIFIC</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___seq_port.html#a44">SND_SEQ_PORT_TYPE_MIDI_GENERIC</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___seq_port.html#a45">SND_SEQ_PORT_TYPE_MIDI_GM</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___seq_port.html#a46">SND_SEQ_PORT_TYPE_MIDI_GS</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___seq_port.html#a47">SND_SEQ_PORT_TYPE_MIDI_XG</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;4)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___seq_port.html#a48">SND_SEQ_PORT_TYPE_MIDI_MT32</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;5)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___seq_port.html#a49">SND_SEQ_PORT_TYPE_SYNTH</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;10)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___seq_port.html#a50">SND_SEQ_PORT_TYPE_DIRECT_SAMPLE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;11)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___seq_port.html#a51">SND_SEQ_PORT_TYPE_SAMPLE</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;12)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___seq_port.html#a52">SND_SEQ_PORT_TYPE_APPLICATION</a>&nbsp;&nbsp;&nbsp;(1&lt;&lt;20)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group___seq_port.html#a53">snd_seq_port_info_alloca</a>(ptr)&nbsp;&nbsp;&nbsp;SND_ALLOCA(snd_seq_port_info, ptr)</td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td nowrap align=right valign=top>typedef _snd_seq_port_info&nbsp;</td><td valign=bottom><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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___seq_port.html#a1">snd_seq_port_info_sizeof</a> (void)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>get size of <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a></em> <a href="#a1"></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___seq_port.html#a2">snd_seq_port_info_malloc</a> (<a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> **ptr)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>allocate an empty <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> using standard malloc</em> <a href="#a2"></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___seq_port.html#a3">snd_seq_port_info_free</a> (<a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *ptr)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>frees a previously allocated <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a></em> <a href="#a3"></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___seq_port.html#a4">snd_seq_port_info_copy</a> (<a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *dst, const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *src)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>copy one <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> to another</em> <a href="#a4"></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___seq_port.html#a5">snd_seq_port_info_get_client</a> (const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get client id of a port_info container.</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___seq_port.html#a6">snd_seq_port_info_get_port</a> (const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get port id of a port_info container.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>const <a class="el" href="group___seq_events.html#a1">snd_seq_addr_t</a> *&nbsp;</td><td valign=bottom><a class="el" href="group___seq_port.html#a7">snd_seq_port_info_get_addr</a> (const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get client/port address of a port_info container.</em> <a href="#a7"></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___seq_port.html#a8">snd_seq_port_info_get_name</a> (const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the name of a port_info container.</em> <a href="#a8"></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___seq_port.html#a9">snd_seq_port_info_get_capability</a> (const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the capability bits of a port_info container.</em> <a href="#a9"></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___seq_port.html#a10">snd_seq_port_info_get_type</a> (const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the type bits of a port_info container.</em> <a href="#a10"></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___seq_port.html#a11">snd_seq_port_info_get_midi_channels</a> (const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the midi channels of a port_info container.</em> <a href="#a11"></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___seq_port.html#a12">snd_seq_port_info_get_midi_voices</a> (const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the midi voices of a port_info container.</em> <a href="#a12"></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___seq_port.html#a13">snd_seq_port_info_get_synth_voices</a> (const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the synth voices of a port_info 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___seq_port.html#a14">snd_seq_port_info_get_read_use</a> (const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the number of read subscriptions of a port_info container.</em> <a href="#a14"></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___seq_port.html#a15">snd_seq_port_info_get_write_use</a> (const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the number of write subscriptions of a port_info container.</em> <a href="#a15"></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___seq_port.html#a16">snd_seq_port_info_get_port_specified</a> (const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the port-specified mode of a port_info 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___seq_port.html#a17">snd_seq_port_info_set_client</a> (<a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, int client)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the client id of a port_info container.</em> <a href="#a17"></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___seq_port.html#a18">snd_seq_port_info_set_port</a> (<a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, int port)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the port id of a port_info 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___seq_port.html#a19">snd_seq_port_info_set_addr</a> (<a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, const <a class="el" href="group___seq_events.html#a1">snd_seq_addr_t</a> *addr)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the client/port address of a port_info 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___seq_port.html#a20">snd_seq_port_info_set_name</a> (<a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, const char *name)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the name of a port_info 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___seq_port.html#a21">snd_seq_port_info_set_capability</a> (<a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, unsigned int capability)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>set the capability bits of a port_info 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___seq_port.html#a22">snd_seq_port_info_set_type</a> (<a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, unsigned int type)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the type bits of a port_info 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___seq_port.html#a23">snd_seq_port_info_set_midi_channels</a> (<a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, int channels)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>set the midi channels of a port_info 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___seq_port.html#a24">snd_seq_port_info_set_midi_voices</a> (<a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, int voices)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>set the midi voices of a port_info 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___seq_port.html#a25">snd_seq_port_info_set_synth_voices</a> (<a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, int voices)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>set the synth voices of a port_info 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___seq_port.html#a26">snd_seq_port_info_set_port_specified</a> (<a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, int val)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the port-specified mode of a port_info container.</em> <a href="#a26"></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___seq_port.html#a27">snd_seq_create_port</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>create a sequencer port on the current client</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___seq_port.html#a28">snd_seq_delete_port</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *handle, int port)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>delete a sequencer port on the current client</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___seq_port.html#a29">snd_seq_get_port_info</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *handle, int port, <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>obtain the information of a port on the current client</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___seq_port.html#a30">snd_seq_get_any_port_info</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *handle, int client, int port, <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>obtain the information of a port on an arbitrary client</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___seq_port.html#a31">snd_seq_set_port_info</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *handle, int port, <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>set the information of a port on the current client</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___seq_port.html#a32">snd_seq_query_next_port</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>query the next matching port</em> <a href="#a32"></a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Sequencer Port Interface <hr><h2>Define Documentation</h2>
<a name="a39" doxytag="seq.h::SND_SEQ_PORT_CAP_DUPLEX"></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_PORT_CAP_DUPLEX&nbsp;&nbsp;&nbsp;(1&lt;&lt;4)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
allow read/write duplex     </td>
  </tr>
</table>
<a name="a42" doxytag="seq.h::SND_SEQ_PORT_CAP_NO_EXPORT"></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_PORT_CAP_NO_EXPORT&nbsp;&nbsp;&nbsp;(1&lt;&lt;7)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
routing not allowed     </td>
  </tr>
</table>
<a name="a35" doxytag="seq.h::SND_SEQ_PORT_CAP_READ"></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_PORT_CAP_READ&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
readable from this port     </td>
  </tr>
</table>
<a name="a40" doxytag="seq.h::SND_SEQ_PORT_CAP_SUBS_READ"></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_PORT_CAP_SUBS_READ&nbsp;&nbsp;&nbsp;(1&lt;&lt;5)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
allow read subscription     </td>
  </tr>
</table>
<a name="a41" doxytag="seq.h::SND_SEQ_PORT_CAP_SUBS_WRITE"></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_PORT_CAP_SUBS_WRITE&nbsp;&nbsp;&nbsp;(1&lt;&lt;6)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
allow write subscription     </td>
  </tr>
</table>
<a name="a37" doxytag="seq.h::SND_SEQ_PORT_CAP_SYNC_READ"></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_PORT_CAP_SYNC_READ&nbsp;&nbsp;&nbsp;(1&lt;&lt;2)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
allow read subscriptions     </td>
  </tr>
</table>
<a name="a38" doxytag="seq.h::SND_SEQ_PORT_CAP_SYNC_WRITE"></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_PORT_CAP_SYNC_WRITE&nbsp;&nbsp;&nbsp;(1&lt;&lt;3)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
allow write subscriptions     </td>
  </tr>
</table>
<a name="a36" doxytag="seq.h::SND_SEQ_PORT_CAP_WRITE"></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_PORT_CAP_WRITE&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
writable to this port     </td>
  </tr>
</table>
<a name="a53" doxytag="seq.h::snd_seq_port_info_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_seq_port_info_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>&nbsp;&nbsp;&nbsp;SND_ALLOCA(snd_seq_port_info, ptr)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
allocate a <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> container on stack     </td>
  </tr>
</table>
<a name="a34" doxytag="seq.h::SND_SEQ_PORT_SYSTEM_ANNOUNCE"></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_PORT_SYSTEM_ANNOUNCE&nbsp;&nbsp;&nbsp;1
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
system announce port     </td>
  </tr>
</table>
<a name="a33" doxytag="seq.h::SND_SEQ_PORT_SYSTEM_TIMER"></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_PORT_SYSTEM_TIMER&nbsp;&nbsp;&nbsp;0
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
system timer port     </td>
  </tr>
</table>
<a name="a52" doxytag="seq.h::SND_SEQ_PORT_TYPE_APPLICATION"></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_PORT_TYPE_APPLICATION&nbsp;&nbsp;&nbsp;(1&lt;&lt;20)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
application (sequencer/editor)     </td>
  </tr>
</table>
<a name="a50" doxytag="seq.h::SND_SEQ_PORT_TYPE_DIRECT_SAMPLE"></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_PORT_TYPE_DIRECT_SAMPLE&nbsp;&nbsp;&nbsp;(1&lt;&lt;11)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Sampling device (support sample download)     </td>
  </tr>
</table>
<a name="a44" doxytag="seq.h::SND_SEQ_PORT_TYPE_MIDI_GENERIC"></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_PORT_TYPE_MIDI_GENERIC&nbsp;&nbsp;&nbsp;(1&lt;&lt;1)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
generic MIDI device     </td>
  </tr>
</table>
<a name="a45" doxytag="seq.h::SND_SEQ_PORT_TYPE_MIDI_GM"></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_PORT_TYPE_MIDI_GM&nbsp;&nbsp;&nbsp;(1&lt;&lt;2)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
General MIDI compatible device     </td>
  </tr>
</table>
<a name="a46" doxytag="seq.h::SND_SEQ_PORT_TYPE_MIDI_GS"></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_PORT_TYPE_MIDI_GS&nbsp;&nbsp;&nbsp;(1&lt;&lt;3)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
GS compatible device     </td>
  </tr>
</table>
<a name="a48" doxytag="seq.h::SND_SEQ_PORT_TYPE_MIDI_MT32"></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_PORT_TYPE_MIDI_MT32&nbsp;&nbsp;&nbsp;(1&lt;&lt;5)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
MT-32 compatible device     </td>
  </tr>
</table>
<a name="a47" doxytag="seq.h::SND_SEQ_PORT_TYPE_MIDI_XG"></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_PORT_TYPE_MIDI_XG&nbsp;&nbsp;&nbsp;(1&lt;&lt;4)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
XG compatible device     </td>
  </tr>
</table>
<a name="a51" doxytag="seq.h::SND_SEQ_PORT_TYPE_SAMPLE"></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_PORT_TYPE_SAMPLE&nbsp;&nbsp;&nbsp;(1&lt;&lt;12)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Sampling device (sample can be downloaded at any time)     </td>
  </tr>
</table>
<a name="a43" doxytag="seq.h::SND_SEQ_PORT_TYPE_SPECIFIC"></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_PORT_TYPE_SPECIFIC&nbsp;&nbsp;&nbsp;(1&lt;&lt;0)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
hardware specific     </td>
  </tr>
</table>
<a name="a49" doxytag="seq.h::SND_SEQ_PORT_TYPE_SYNTH"></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_PORT_TYPE_SYNTH&nbsp;&nbsp;&nbsp;(1&lt;&lt;10)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Synth device     </td>
  </tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a name="a0" doxytag="seq.h::snd_seq_port_info_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_seq_port_info snd_seq_port_info_t
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
port information container     </td>
  </tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a27" doxytag="seq.h::snd_seq_create_port"></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_seq_create_port </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>seq</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port</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>
create a sequencer port on the current client
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>seq</em>&nbsp;</td><td>
sequencer handle </td></tr>
<tr><td valign=top><em>port</em>&nbsp;</td><td>
port information for the new port </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code</dl>Creates a sequencer port on the current client. The attributes of created port is specified in <em>info</em> argument.
<p>
The client field in <em>info</em> argument is overwritten with the current client id. The port id to be created can be specified via <a class="el" href="group___seq_port.html#a26">snd_seq_port_info_set_port_specified</a>. You can get the created port id by reading the port pointer via <a class="el" href="group___seq_port.html#a6">snd_seq_port_info_get_port</a>.
<p>
Each port has the capability bit-masks to specify the access capability of the port from other clients. The capability bit flags are defined as follows:<ul>
<li><a class="el" href="group___seq_port.html#a35">SND_SEQ_PORT_CAP_READ</a> Readable from this port<li><a class="el" href="group___seq_port.html#a36">SND_SEQ_PORT_CAP_WRITE</a> Writable to this port.<li><a class="el" href="group___seq_port.html#a37">SND_SEQ_PORT_CAP_SYNC_READ</a> For synchronization (not implemented)<li><a class="el" href="group___seq_port.html#a38">SND_SEQ_PORT_CAP_SYNC_WRITE</a> For synchronization (not implemented)<li><a class="el" href="group___seq_port.html#a39">SND_SEQ_PORT_CAP_DUPLEX</a> Read/write duplex access is supported<li><a class="el" href="group___seq_port.html#a40">SND_SEQ_PORT_CAP_SUBS_READ</a> Read subscription is allowed<li><a class="el" href="group___seq_port.html#a41">SND_SEQ_PORT_CAP_SUBS_WRITE</a> Write subscription is allowed<li>SND_SEQ_PORT_CAP_SUBS_NO_EXPORT Subscription management from 3rd client is disallowed</ul>
Each port has also the type bitmasks defined as follows:<ul>
<li><a class="el" href="group___seq_port.html#a43">SND_SEQ_PORT_TYPE_SPECIFIC</a> Hardware specific port<li><a class="el" href="group___seq_port.html#a44">SND_SEQ_PORT_TYPE_MIDI_GENERIC</a> Generic MIDI device<li><a class="el" href="group___seq_port.html#a45">SND_SEQ_PORT_TYPE_MIDI_GM</a> General MIDI compatible device<li><a class="el" href="group___seq_port.html#a46">SND_SEQ_PORT_TYPE_MIDI_GS</a> GS compatible device<li><a class="el" href="group___seq_port.html#a47">SND_SEQ_PORT_TYPE_MIDI_XG</a> XG compatible device<li><a class="el" href="group___seq_port.html#a48">SND_SEQ_PORT_TYPE_MIDI_MT32</a> MT-32 compatible device<li><a class="el" href="group___seq_port.html#a49">SND_SEQ_PORT_TYPE_SYNTH</a> Synth device<li><a class="el" href="group___seq_port.html#a50">SND_SEQ_PORT_TYPE_DIRECT_SAMPLE</a> Sampling device (supporting download)<li><a class="el" href="group___seq_port.html#a51">SND_SEQ_PORT_TYPE_SAMPLE</a> Sampling device (sample can be downloaded at any time)<li><a class="el" href="group___seq_port.html#a52">SND_SEQ_PORT_TYPE_APPLICATION</a> Application (sequencer/editor)</ul>
A port may contain specific midi channels, midi voices and synth voices. These values could be zero as default.     </td>
  </tr>
</table>
<a name="a28" doxytag="seq.h::snd_seq_delete_port"></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_seq_delete_port </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>seq</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port</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>
delete a sequencer port on the current client
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>seq</em>&nbsp;</td><td>
sequencer handle </td></tr>
<tr><td valign=top><em>port</em>&nbsp;</td><td>
port to be deleted </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise a negative error code</dl>Deletes the existing sequencer port on the current client.     </td>
  </tr>
</table>
<a name="a30" doxytag="seq.h::snd_seq_get_any_port_info"></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_seq_get_any_port_info </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>seq</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>client</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</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>
obtain the information of a port on an arbitrary client
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>seq</em>&nbsp;</td><td>
sequencer handle </td></tr>
<tr><td valign=top><em>client</em>&nbsp;</td><td>
client id to get </td></tr>
<tr><td valign=top><em>port</em>&nbsp;</td><td>
port id to get </td></tr>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
pointer information returns </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="a29" doxytag="seq.h::snd_seq_get_port_info"></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_seq_get_port_info </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>seq</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</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>
obtain the information of a port on the current client
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>seq</em>&nbsp;</td><td>
sequencer handle </td></tr>
<tr><td valign=top><em>port</em>&nbsp;</td><td>
port id to get </td></tr>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
pointer information returns </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="a4" doxytag="seq.h::snd_seq_port_info_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_seq_port_info_copy </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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___seq_port.html#a0">snd_seq_port_info_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___seq_port.html#a0">snd_seq_port_info_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="a3" doxytag="seq.h::snd_seq_port_info_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_seq_port_info_free </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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___seq_port.html#a0">snd_seq_port_info_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="a7" doxytag="seq.h::snd_seq_port_info_get_addr"></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#a1">snd_seq_addr_t</a>* snd_seq_port_info_get_addr </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 client/port address of a port_info 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>
port_info container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
client/port address pointer </dl>    </td>
  </tr>
</table>
<a name="a9" doxytag="seq.h::snd_seq_port_info_get_capability"></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_seq_port_info_get_capability </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 capability bits of a port_info 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>
port_info container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
capability bits </dl>    </td>
  </tr>
</table>
<a name="a5" doxytag="seq.h::snd_seq_port_info_get_client"></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_seq_port_info_get_client </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 client id of a port_info 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>
port_info container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
client id </dl>    </td>
  </tr>
</table>
<a name="a11" doxytag="seq.h::snd_seq_port_info_get_midi_channels"></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_seq_port_info_get_midi_channels </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 midi channels of a port_info 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>
port_info container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
number of midi channels (default 0) </dl>    </td>
  </tr>
</table>
<a name="a12" doxytag="seq.h::snd_seq_port_info_get_midi_voices"></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_seq_port_info_get_midi_voices </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 midi voices of a port_info 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>
port_info container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
number of midi voices (default 0) </dl>    </td>
  </tr>
</table>
<a name="a8" doxytag="seq.h::snd_seq_port_info_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_seq_port_info_get_name </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 name of a port_info 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>
port_info container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
name string </dl>    </td>
  </tr>
</table>
<a name="a6" doxytag="seq.h::snd_seq_port_info_get_port"></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_seq_port_info_get_port </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 port id of a port_info 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>
port_info container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
port id </dl>    </td>
  </tr>
</table>
<a name="a16" doxytag="seq.h::snd_seq_port_info_get_port_specified"></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_seq_port_info_get_port_specified </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 port-specified mode of a port_info 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>
port_info container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
1 if port id is specified at creation </dl>    </td>
  </tr>
</table>
<a name="a14" doxytag="seq.h::snd_seq_port_info_get_read_use"></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_seq_port_info_get_read_use </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 number of read subscriptions of a port_info 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>
port_info container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
number of read subscriptions </dl>    </td>
  </tr>
</table>
<a name="a13" doxytag="seq.h::snd_seq_port_info_get_synth_voices"></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_seq_port_info_get_synth_voices </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 synth voices of a port_info 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>
port_info container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
number of synth voices (default 0) </dl>    </td>
  </tr>
</table>
<a name="a10" doxytag="seq.h::snd_seq_port_info_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"> unsigned int snd_seq_port_info_get_type </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 type bits of a port_info 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>
port_info container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
port type bits </dl>    </td>
  </tr>
</table>
<a name="a15" doxytag="seq.h::snd_seq_port_info_get_write_use"></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_seq_port_info_get_write_use </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 number of write subscriptions of a port_info 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>
port_info container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
number of write subscriptions </dl>    </td>
  </tr>
</table>
<a name="a2" doxytag="seq.h::snd_seq_port_info_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_seq_port_info_malloc </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> **&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>ptr</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>
allocate an empty <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success otherwise negative error code </dl>    </td>
  </tr>
</table>
<a name="a19" doxytag="seq.h::snd_seq_port_info_set_addr"></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_seq_port_info_set_addr </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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#a1">snd_seq_addr_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>addr</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 client/port address of a port_info 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>
port_info container </td></tr>
<tr><td valign=top><em>addr</em>&nbsp;</td><td>
client/port address </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a21" doxytag="seq.h::snd_seq_port_info_set_capability"></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_seq_port_info_set_capability </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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>capability</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 capability bits of a port_info 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>
port_info container </td></tr>
<tr><td valign=top><em>capability</em>&nbsp;</td><td>
capability bits </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a17" doxytag="seq.h::snd_seq_port_info_set_client"></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_seq_port_info_set_client </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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>client</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 client id of a port_info 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>
port_info container </td></tr>
<tr><td valign=top><em>client</em>&nbsp;</td><td>
client id </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a23" doxytag="seq.h::snd_seq_port_info_set_midi_channels"></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_seq_port_info_set_midi_channels </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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>channels</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 midi channels of a port_info 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>
port_info container </td></tr>
<tr><td valign=top><em>channels</em>&nbsp;</td><td>
midi channels (default 0) </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a24" doxytag="seq.h::snd_seq_port_info_set_midi_voices"></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_seq_port_info_set_midi_voices </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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>voices</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 midi voices of a port_info 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>
port_info container </td></tr>
<tr><td valign=top><em>voices</em>&nbsp;</td><td>
midi voices (default 0) </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a20" doxytag="seq.h::snd_seq_port_info_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_seq_port_info_set_name </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 name of a port_info 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>
port_info container </td></tr>
<tr><td valign=top><em>name</em>&nbsp;</td><td>
name string </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a18" doxytag="seq.h::snd_seq_port_info_set_port"></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_seq_port_info_set_port </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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>port</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 port id of a port_info 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>
port_info container </td></tr>
<tr><td valign=top><em>port</em>&nbsp;</td><td>
port id </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a26" doxytag="seq.h::snd_seq_port_info_set_port_specified"></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_seq_port_info_set_port_specified </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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 port-specified mode of a port_info 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>
port_info container </td></tr>
<tr><td valign=top><em>val</em>&nbsp;</td><td>
non-zero if specifying the port id at creation </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a25" doxytag="seq.h::snd_seq_port_info_set_synth_voices"></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_seq_port_info_set_synth_voices </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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>voices</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 synth voices of a port_info 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>
port_info container </td></tr>
<tr><td valign=top><em>voices</em>&nbsp;</td><td>
synth voices (default 0) </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a22" doxytag="seq.h::snd_seq_port_info_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_seq_port_info_set_type </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_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>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>
Get the type bits of a port_info 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>
port_info container </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
port type bits </dl>    </td>
  </tr>
</table>
<a name="a1" doxytag="seq.h::snd_seq_port_info_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_seq_port_info_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___seq_port.html#a0">snd_seq_port_info_t</a>
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
size in bytes </dl>    </td>
  </tr>
</table>
<a name="a32" doxytag="seq.h::snd_seq_query_next_port"></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_seq_query_next_port </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>seq</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</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>
query the next matching port
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>seq</em>&nbsp;</td><td>
sequencer handle </td></tr>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
query pattern and result</td></tr>
</table>
</dl>Queries the next matching port on the client specified in <em>info</em> argument. The search begins at the next port specified in port field of <em>info</em> argument. For finding the first port at a certain client, give -1.
<p>
If a matching port is found, its attributes are stored on <em>info</em> and function returns zero. Otherwise, a negative error code is returned.     </td>
  </tr>
</table>
<a name="a31" doxytag="seq.h::snd_seq_set_port_info"></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_seq_set_port_info </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>seq</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>port</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>info</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 information of a port on the current client
<p>
<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>seq</em>&nbsp;</td><td>
sequencer handle </td></tr>
<tr><td valign=top><em>port</em>&nbsp;</td><td>
port to be set </td></tr>
<tr><td valign=top><em>info</em>&nbsp;</td><td>
port information to be set </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>