<!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> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindex" href="examples.html">Examples</a> </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 </td><td valign=bottom><a class="el" href="group___seq_port.html#a33">SND_SEQ_PORT_SYSTEM_TIMER</a> 0</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a34">SND_SEQ_PORT_SYSTEM_ANNOUNCE</a> 1</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a35">SND_SEQ_PORT_CAP_READ</a> (1<<0)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a36">SND_SEQ_PORT_CAP_WRITE</a> (1<<1)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a37">SND_SEQ_PORT_CAP_SYNC_READ</a> (1<<2)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a38">SND_SEQ_PORT_CAP_SYNC_WRITE</a> (1<<3)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a39">SND_SEQ_PORT_CAP_DUPLEX</a> (1<<4)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a40">SND_SEQ_PORT_CAP_SUBS_READ</a> (1<<5)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a41">SND_SEQ_PORT_CAP_SUBS_WRITE</a> (1<<6)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a42">SND_SEQ_PORT_CAP_NO_EXPORT</a> (1<<7)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a43">SND_SEQ_PORT_TYPE_SPECIFIC</a> (1<<0)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a44">SND_SEQ_PORT_TYPE_MIDI_GENERIC</a> (1<<1)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a45">SND_SEQ_PORT_TYPE_MIDI_GM</a> (1<<2)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a46">SND_SEQ_PORT_TYPE_MIDI_GS</a> (1<<3)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a47">SND_SEQ_PORT_TYPE_MIDI_XG</a> (1<<4)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a48">SND_SEQ_PORT_TYPE_MIDI_MT32</a> (1<<5)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a49">SND_SEQ_PORT_TYPE_SYNTH</a> (1<<10)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a50">SND_SEQ_PORT_TYPE_DIRECT_SAMPLE</a> (1<<11)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a51">SND_SEQ_PORT_TYPE_SAMPLE</a> (1<<12)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a52">SND_SEQ_PORT_TYPE_APPLICATION</a> (1<<20)</td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_port.html#a53">snd_seq_port_info_alloca</a>(ptr) 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 </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 </td><td valign=bottom><a class="el" href="group___seq_port.html#a1">snd_seq_port_info_sizeof</a> (void)</td></tr> <tr><td> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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> * </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> </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 * </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 </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> </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 (1<<4) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<7) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<0) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<5) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<6) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<2) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<3) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<1) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top">ptr </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> SND_ALLOCA(snd_seq_port_info, ptr) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 1 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 0 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<20) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<11) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<1) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<2) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<3) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<5) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<4) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<12) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<0) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 (1<<10) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___sequencer.html#a0">snd_seq_t</a> * </td> <td class="mdname" nowrap> <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> * </td> <td class="mdname" nowrap> <em>port</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> sequencer handle </td></tr> <tr><td valign=top><em>port</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___sequencer.html#a0">snd_seq_t</a> * </td> <td class="mdname" nowrap> <em>seq</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>port</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> sequencer handle </td></tr> <tr><td valign=top><em>port</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___sequencer.html#a0">snd_seq_t</a> * </td> <td class="mdname" nowrap> <em>seq</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>client</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <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> * </td> <td class="mdname" nowrap> <em>info</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> sequencer handle </td></tr> <tr><td valign=top><em>client</em> </td><td> client id to get </td></tr> <tr><td valign=top><em>port</em> </td><td> port id to get </td></tr> <tr><td valign=top><em>info</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___sequencer.html#a0">snd_seq_t</a> * </td> <td class="mdname" nowrap> <em>seq</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <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> * </td> <td class="mdname" nowrap> <em>info</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> sequencer handle </td></tr> <tr><td valign=top><em>port</em> </td><td> port id to get </td></tr> <tr><td valign=top><em>info</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname" nowrap> <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> * </td> <td class="mdname" nowrap> <em>src</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> pointer to destination </td></tr> <tr><td valign=top><em>src</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>obj</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>info</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> ** </td> <td class="mdname1" valign="top" nowrap> <em>ptr</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname" nowrap> <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> * </td> <td class="mdname" nowrap> <em>addr</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> port_info container </td></tr> <tr><td valign=top><em>addr</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname" nowrap> <em>info</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>capability</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> port_info container </td></tr> <tr><td valign=top><em>capability</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname" nowrap> <em>info</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>client</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> port_info container </td></tr> <tr><td valign=top><em>client</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname" nowrap> <em>info</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>channels</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> port_info container </td></tr> <tr><td valign=top><em>channels</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname" nowrap> <em>info</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>voices</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> port_info container </td></tr> <tr><td valign=top><em>voices</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname" nowrap> <em>info</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const char * </td> <td class="mdname" nowrap> <em>name</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> port_info container </td></tr> <tr><td valign=top><em>name</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname" nowrap> <em>info</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>port</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> port_info container </td></tr> <tr><td valign=top><em>port</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname" nowrap> <em>info</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>val</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> port_info container </td></tr> <tr><td valign=top><em>val</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname" nowrap> <em>info</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>voices</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> port_info container </td></tr> <tr><td valign=top><em>voices</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___seq_port.html#a0">snd_seq_port_info_t</a> * </td> <td class="mdname" nowrap> <em>info</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>type</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___sequencer.html#a0">snd_seq_t</a> * </td> <td class="mdname" nowrap> <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> * </td> <td class="mdname" nowrap> <em>info</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> sequencer handle </td></tr> <tr><td valign=top><em>info</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="group___sequencer.html#a0">snd_seq_t</a> * </td> <td class="mdname" nowrap> <em>seq</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <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> * </td> <td class="mdname" nowrap> <em>info</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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> </td><td> sequencer handle </td></tr> <tr><td valign=top><em>port</em> </td><td> port to be set </td></tr> <tr><td valign=top><em>info</em> </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>