<!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 Middle Level 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 Middle Level 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_middle.html#a16">snd_seq_ev_clear</a>(ev) memset(ev, 0, sizeof(<a class="el" href="group___seq_events.html#a25">snd_seq_event_t</a>))</td></tr> <tr><td> </td><td><font size=-1><em>initialize event record</em> <a href="#a16"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a17">snd_seq_ev_set_dest</a>(ev, c, p) ((ev)->dest.client = (c), (ev)->dest.port = (p))</td></tr> <tr><td> </td><td><font size=-1><em>set the explicit destination</em> <a href="#a17"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a18">snd_seq_ev_set_subs</a>(ev)</td></tr> <tr><td> </td><td><font size=-1><em>set broadcasting to subscribers</em> <a href="#a18"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a19">snd_seq_ev_set_broadcast</a>(ev)</td></tr> <tr><td> </td><td><font size=-1><em>set broadcasting to all clients/ports</em> <a href="#a19"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a20">snd_seq_ev_set_source</a>(ev, p) ((ev)->source.port = (p))</td></tr> <tr><td> </td><td><font size=-1><em>set the source port</em> <a href="#a20"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a21">snd_seq_ev_set_direct</a>(ev) ((ev)->queue = SND_SEQ_QUEUE_DIRECT)</td></tr> <tr><td> </td><td><font size=-1><em>set direct passing mode (without queued)</em> <a href="#a21"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a22">snd_seq_ev_schedule_tick</a>(ev, q, relative, ttick)</td></tr> <tr><td> </td><td><font size=-1><em>set tick-scheduling mode on queue</em> <a href="#a22"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a23">snd_seq_ev_schedule_real</a>(ev, q, relative, rtime)</td></tr> <tr><td> </td><td><font size=-1><em>set real-time-scheduling mode on queue</em> <a href="#a23"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a24">snd_seq_ev_set_priority</a>(ev, high_prior)</td></tr> <tr><td> </td><td><font size=-1><em>set event priority</em> <a href="#a24"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a25">snd_seq_ev_set_fixed</a>(ev)</td></tr> <tr><td> </td><td><font size=-1><em>set fixed data</em> <a href="#a25"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a26">snd_seq_ev_set_variable</a>(ev, datalen, dataptr)</td></tr> <tr><td> </td><td><font size=-1><em>set variable data</em> <a href="#a26"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a27">snd_seq_ev_set_varusr</a>(ev, datalen, dataptr)</td></tr> <tr><td> </td><td><font size=-1><em>set varusr data</em> <a href="#a27"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a28">snd_seq_ev_set_queue_control</a>(ev, typ, q, val)</td></tr> <tr><td> </td><td><font size=-1><em>set queue controls</em> <a href="#a28"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a29">snd_seq_ev_set_queue_start</a>(ev, q) snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_START, q, 0)</td></tr> <tr><td> </td><td><font size=-1><em>set the start queue event</em> <a href="#a29"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a30">snd_seq_ev_set_queue_stop</a>(ev, q) snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_STOP, q, 0)</td></tr> <tr><td> </td><td><font size=-1><em>set the stop queue event</em> <a href="#a30"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a31">snd_seq_ev_set_queue_continue</a>(ev, q) snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_CONTINUE, q, 0)</td></tr> <tr><td> </td><td><font size=-1><em>set the stop queue event</em> <a href="#a31"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a32">snd_seq_ev_set_queue_tempo</a>(ev, q, val) snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_TEMPO, q, val)</td></tr> <tr><td> </td><td><font size=-1><em>set the stop queue event</em> <a href="#a32"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a33">snd_seq_ev_set_queue_pos_real</a>(ev, q, rtime)</td></tr> <tr><td> </td><td><font size=-1><em>set the real-time position of a queue</em> <a href="#a33"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a34">snd_seq_ev_set_queue_pos_tick</a>(ev, q, ttime)</td></tr> <tr><td> </td><td><font size=-1><em>set the tick-time position of a queue</em> <a href="#a34"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a35">snd_seq_start_queue</a>(seq, q, ev) snd_seq_control_queue(seq, q, SND_SEQ_EVENT_START, 0, ev)</td></tr> <tr><td> </td><td><font size=-1><em>start the specified queue</em> <a href="#a35"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a36">snd_seq_stop_queue</a>(seq, q, ev) snd_seq_control_queue(seq, q, SND_SEQ_EVENT_STOP, 0, ev)</td></tr> <tr><td> </td><td><font size=-1><em>stop the specified queue</em> <a href="#a36"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a37">snd_seq_continue_queue</a>(seq, q, ev) snd_seq_control_queue(seq, q, SND_SEQ_EVENT_CONTINUE, 0, ev)</td></tr> <tr><td> </td><td><font size=-1><em>continue the specified queue</em> <a href="#a37"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a38">snd_seq_change_queue_tempo</a>(seq, q, tempo, ev) snd_seq_control_queue(seq, q, SND_SEQ_EVENT_TEMPO, tempo, ev)</td></tr> <tr><td> </td><td><font size=-1><em>change the tempo of the specified queue</em> <a href="#a38"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a39">snd_seq_ev_set_note</a>(ev, ch, key, vel, dur)</td></tr> <tr><td> </td><td><font size=-1><em>set note event</em> <a href="#a39"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a40">snd_seq_ev_set_noteon</a>(ev, ch, key, vel)</td></tr> <tr><td> </td><td><font size=-1><em>set note-on event</em> <a href="#a40"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a41">snd_seq_ev_set_noteoff</a>(ev, ch, key, vel)</td></tr> <tr><td> </td><td><font size=-1><em>set note-off event</em> <a href="#a41"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a42">snd_seq_ev_set_keypress</a>(ev, ch, key, vel)</td></tr> <tr><td> </td><td><font size=-1><em>set key-pressure event</em> <a href="#a42"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a43">snd_seq_ev_set_controller</a>(ev, ch, cc, val)</td></tr> <tr><td> </td><td><font size=-1><em>set MIDI controller event</em> <a href="#a43"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a44">snd_seq_ev_set_pgmchange</a>(ev, ch, val)</td></tr> <tr><td> </td><td><font size=-1><em>set program change event</em> <a href="#a44"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a45">snd_seq_ev_set_pitchbend</a>(ev, ch, val)</td></tr> <tr><td> </td><td><font size=-1><em>set pitch-bend event</em> <a href="#a45"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a46">snd_seq_ev_set_chanpress</a>(ev, ch, val)</td></tr> <tr><td> </td><td><font size=-1><em>set channel pressure event</em> <a href="#a46"></a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group___seq_middle.html#a47">snd_seq_ev_set_sysex</a>(ev, datalen, dataptr)</td></tr> <tr><td> </td><td><font size=-1><em>set sysex event</em> <a href="#a47"></a><em></em></font><br><br></td></tr> <tr><td colspan=2><br><h2>Functions</h2></td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group___seq_middle.html#a0">snd_seq_control_queue</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq, int q, int type, int value, <a class="el" href="group___seq_events.html#a25">snd_seq_event_t</a> *ev)</td></tr> <tr><td> </td><td><font size=-1><em>queue controls - start/stop/continue</em> <a href="#a0"></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_middle.html#a1">snd_seq_create_simple_port</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq, const char *name, unsigned int caps, unsigned int type)</td></tr> <tr><td> </td><td><font size=-1><em>create a port - simple version</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_middle.html#a2">snd_seq_delete_simple_port</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq, int port)</td></tr> <tr><td> </td><td><font size=-1><em>delete the port</em> <a href="#a2"></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_middle.html#a3">snd_seq_connect_from</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq, int my_port, int src_client, int src_port)</td></tr> <tr><td> </td><td><font size=-1><em>simple subscription (w/o exclusive & time conversion)</em> <a href="#a3"></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_middle.html#a4">snd_seq_connect_to</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq, int my_port, int dest_client, int dest_port)</td></tr> <tr><td> </td><td><font size=-1><em>simple subscription (w/o exclusive & time conversion)</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_middle.html#a5">snd_seq_disconnect_from</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq, int my_port, int src_client, int src_port)</td></tr> <tr><td> </td><td><font size=-1><em>simple disconnection</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_middle.html#a6">snd_seq_disconnect_to</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq, int my_port, int dest_client, int dest_port)</td></tr> <tr><td> </td><td><font size=-1><em>simple disconnection</em> <a href="#a6"></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_middle.html#a7">snd_seq_set_client_name</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq, const char *name)</td></tr> <tr><td> </td><td><font size=-1><em>set client name</em> <a href="#a7"></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_middle.html#a8">snd_seq_set_client_event_filter</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq, int event_type)</td></tr> <tr><td> </td><td><font size=-1><em>add client event filter</em> <a href="#a8"></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_middle.html#a9">snd_seq_set_client_pool_output</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq, size_t size)</td></tr> <tr><td> </td><td><font size=-1><em>change the output pool size of the given client</em> <a href="#a9"></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_middle.html#a10">snd_seq_set_client_pool_output_room</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq, size_t size)</td></tr> <tr><td> </td><td><font size=-1><em>change the output room size of the given client</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_middle.html#a11">snd_seq_set_client_pool_input</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq, size_t size)</td></tr> <tr><td> </td><td><font size=-1><em>change the input pool size of the given client</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_middle.html#a12">snd_seq_sync_output_queue</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq)</td></tr> <tr><td> </td><td><font size=-1><em>drain output queue</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_middle.html#a13">snd_seq_parse_address</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq, <a class="el" href="group___seq_events.html#a1">snd_seq_addr_t</a> *addr, const char *str)</td></tr> <tr><td> </td><td><font size=-1><em>parse the given string and get the sequencer address</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_middle.html#a14">snd_seq_reset_pool_output</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq)</td></tr> <tr><td> </td><td><font size=-1><em>reset client output pool</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_middle.html#a15">snd_seq_reset_pool_input</a> (<a class="el" href="group___sequencer.html#a0">snd_seq_t</a> *seq)</td></tr> <tr><td> </td><td><font size=-1><em>reset client input pool</em> <a href="#a15"></a><em></em></font><br><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Sequencer Middle Level Interface <hr><h2>Define Documentation</h2> <a name="a38" doxytag="seqmid.h::snd_seq_change_queue_tempo"></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_change_queue_tempo</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">seq, <tr> <td></td> <td></td> <td class="md" nowrap>q, <tr> <td></td> <td></td> <td class="md" nowrap>tempo, <tr> <td></td> <td></td> <td class="md" nowrap>ev </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_TEMPO, tempo, ev) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> change the tempo of the specified queue <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>q</em> </td><td> queue id </td></tr> <tr><td valign=top><em>tempo</em> </td><td> the new tempo value </td></tr> <tr><td valign=top><em>ev</em> </td><td> optional event record (see <a class="el" href="group___seq_middle.html#a0">snd_seq_control_queue</a>) </td></tr> </table> </dl> </td> </tr> </table> <a name="a37" doxytag="seqmid.h::snd_seq_continue_queue"></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_continue_queue</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">seq, <tr> <td></td> <td></td> <td class="md" nowrap>q, <tr> <td></td> <td></td> <td class="md" nowrap>ev </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_CONTINUE, 0, ev) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> continue the specified queue <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>q</em> </td><td> queue id to continue </td></tr> <tr><td valign=top><em>ev</em> </td><td> optional event record (see <a class="el" href="group___seq_middle.html#a0">snd_seq_control_queue</a>) </td></tr> </table> </dl> </td> </tr> </table> <a name="a16" doxytag="seqmid.h::snd_seq_ev_clear"></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_ev_clear</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> memset(ev, 0, sizeof(<a class="el" href="group___seq_events.html#a25">snd_seq_event_t</a>)) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> initialize event record <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record pointer </td></tr> </table> </dl> </td> </tr> </table> <a name="a23" doxytag="seqmid.h::snd_seq_ev_schedule_real"></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_ev_schedule_real</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>q, <tr> <td></td> <td></td> <td class="md" nowrap>relative, <tr> <td></td> <td></td> <td class="md" nowrap>rtime </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->flags &= ~(<a class="code" href="group___seq_events.html#a28">SND_SEQ_TIME_STAMP_MASK</a> | <a class="code" href="group___seq_events.html#a31">SND_SEQ_TIME_MODE_MASK</a>),\ (ev)->flags |= <a class="code" href="group___seq_events.html#a27">SND_SEQ_TIME_STAMP_REAL</a>,\ (ev)->flags |= (relative) ? <a class="code" href="group___seq_events.html#a30">SND_SEQ_TIME_MODE_REL</a> : <a class="code" href="group___seq_events.html#a29">SND_SEQ_TIME_MODE_ABS</a>,\ (ev)->time.time = *(rtime),\ (ev)->queue = (q))</pre></div>set real-time-scheduling mode on queue <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event instance </td></tr> <tr><td valign=top><em>q</em> </td><td> queue id to schedule </td></tr> <tr><td valign=top><em>relative</em> </td><td> relative time-stamp if non-zero </td></tr> <tr><td valign=top><em>rtime</em> </td><td> time-stamp to be delivered </td></tr> </table> </dl> </td> </tr> </table> <a name="a22" doxytag="seqmid.h::snd_seq_ev_schedule_tick"></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_ev_schedule_tick</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>q, <tr> <td></td> <td></td> <td class="md" nowrap>relative, <tr> <td></td> <td></td> <td class="md" nowrap>ttick </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->flags &= ~(<a class="code" href="group___seq_events.html#a28">SND_SEQ_TIME_STAMP_MASK</a> | <a class="code" href="group___seq_events.html#a31">SND_SEQ_TIME_MODE_MASK</a>),\ (ev)->flags |= <a class="code" href="group___seq_events.html#a26">SND_SEQ_TIME_STAMP_TICK</a>,\ (ev)->flags |= (relative) ? <a class="code" href="group___seq_events.html#a30">SND_SEQ_TIME_MODE_REL</a> : <a class="code" href="group___seq_events.html#a29">SND_SEQ_TIME_MODE_ABS</a>,\ (ev)->time.tick = (ttick),\ (ev)->queue = (q))</pre></div>set tick-scheduling mode on queue <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event instance </td></tr> <tr><td valign=top><em>q</em> </td><td> queue id to schedule </td></tr> <tr><td valign=top><em>relative</em> </td><td> relative time-stamp if non-zero </td></tr> <tr><td valign=top><em>ttick</em> </td><td> tick time-stamp to be delivered </td></tr> </table> </dl> </td> </tr> </table> <a name="a19" doxytag="seqmid.h::snd_seq_ev_set_broadcast"></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_ev_set_broadcast</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->dest.client = <a class="code" href="group___sequencer.html#a36">SND_SEQ_ADDRESS_BROADCAST</a>,\ (ev)->dest.port = <a class="code" href="group___sequencer.html#a36">SND_SEQ_ADDRESS_BROADCAST</a>)</pre></div>set broadcasting to all clients/ports <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> </table> </dl> </td> </tr> </table> <a name="a46" doxytag="seqmid.h::snd_seq_ev_set_chanpress"></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_ev_set_chanpress</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>ch, <tr> <td></td> <td></td> <td class="md" nowrap>val </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->type = <a class="code" href="group___seq_events.html#a39a47">SND_SEQ_EVENT_CHANPRESS</a>,\ <a class="code" href="group___seq_middle.html#a25">snd_seq_ev_set_fixed</a>(ev),\ (ev)->data.control.channel = (ch),\ (ev)->data.control.value = (val))</pre></div>set channel pressure event <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>ch</em> </td><td> channel number </td></tr> <tr><td valign=top><em>val</em> </td><td> channel pressure value </td></tr> </table> </dl> </td> </tr> </table> <a name="a43" doxytag="seqmid.h::snd_seq_ev_set_controller"></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_ev_set_controller</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>ch, <tr> <td></td> <td></td> <td class="md" nowrap>cc, <tr> <td></td> <td></td> <td class="md" nowrap>val </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->type = <a class="code" href="group___seq_events.html#a39a45">SND_SEQ_EVENT_CONTROLLER</a>,\ <a class="code" href="group___seq_middle.html#a25">snd_seq_ev_set_fixed</a>(ev),\ (ev)->data.control.channel = (ch),\ (ev)->data.control.param = (cc),\ (ev)->data.control.value = (val))</pre></div>set MIDI controller event <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>ch</em> </td><td> channel number </td></tr> <tr><td valign=top><em>cc</em> </td><td> controller number </td></tr> <tr><td valign=top><em>val</em> </td><td> control value </td></tr> </table> </dl> </td> </tr> </table> <a name="a17" doxytag="seqmid.h::snd_seq_ev_set_dest"></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_ev_set_dest</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>c, <tr> <td></td> <td></td> <td class="md" nowrap>p </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> ((ev)->dest.client = (c), (ev)->dest.port = (p)) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> set the explicit destination <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>c</em> </td><td> destination client id </td></tr> <tr><td valign=top><em>p</em> </td><td> destination port id </td></tr> </table> </dl> </td> </tr> </table> <a name="a21" doxytag="seqmid.h::snd_seq_ev_set_direct"></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_ev_set_direct</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> ((ev)->queue = SND_SEQ_QUEUE_DIRECT) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> set direct passing mode (without queued) <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event instance </td></tr> </table> </dl> </td> </tr> </table> <a name="a25" doxytag="seqmid.h::snd_seq_ev_set_fixed"></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_ev_set_fixed</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->flags &= ~<a class="code" href="group___seq_events.html#a35">SND_SEQ_EVENT_LENGTH_MASK</a>,\ (ev)->flags |= <a class="code" href="group___seq_events.html#a32">SND_SEQ_EVENT_LENGTH_FIXED</a>)</pre></div>set fixed data <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event instance</td></tr> </table> </dl>Sets the event length mode as fixed size. </td> </tr> </table> <a name="a42" doxytag="seqmid.h::snd_seq_ev_set_keypress"></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_ev_set_keypress</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>ch, <tr> <td></td> <td></td> <td class="md" nowrap>key, <tr> <td></td> <td></td> <td class="md" nowrap>vel </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->type = <a class="code" href="group___seq_events.html#a39a44">SND_SEQ_EVENT_KEYPRESS</a>,\ <a class="code" href="group___seq_middle.html#a25">snd_seq_ev_set_fixed</a>(ev),\ (ev)->data.note.channel = (ch),\ (ev)->data.note.note = (key),\ (ev)->data.note.velocity = (vel))</pre></div>set key-pressure event <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>ch</em> </td><td> channel number </td></tr> <tr><td valign=top><em>key</em> </td><td> note key </td></tr> <tr><td valign=top><em>vel</em> </td><td> velocity </td></tr> </table> </dl> </td> </tr> </table> <a name="a39" doxytag="seqmid.h::snd_seq_ev_set_note"></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_ev_set_note</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>ch, <tr> <td></td> <td></td> <td class="md" nowrap>key, <tr> <td></td> <td></td> <td class="md" nowrap>vel, <tr> <td></td> <td></td> <td class="md" nowrap>dur </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->type = <a class="code" href="group___seq_events.html#a39a41">SND_SEQ_EVENT_NOTE</a>,\ <a class="code" href="group___seq_middle.html#a25">snd_seq_ev_set_fixed</a>(ev),\ (ev)->data.note.channel = (ch),\ (ev)->data.note.note = (key),\ (ev)->data.note.velocity = (vel),\ (ev)->data.note.duration = (dur))</pre></div>set note event <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>ch</em> </td><td> channel number </td></tr> <tr><td valign=top><em>key</em> </td><td> note key </td></tr> <tr><td valign=top><em>vel</em> </td><td> velocity </td></tr> <tr><td valign=top><em>dur</em> </td><td> duration (in tick or msec) </td></tr> </table> </dl> </td> </tr> </table> <a name="a41" doxytag="seqmid.h::snd_seq_ev_set_noteoff"></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_ev_set_noteoff</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>ch, <tr> <td></td> <td></td> <td class="md" nowrap>key, <tr> <td></td> <td></td> <td class="md" nowrap>vel </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->type = <a class="code" href="group___seq_events.html#a39a43">SND_SEQ_EVENT_NOTEOFF</a>,\ <a class="code" href="group___seq_middle.html#a25">snd_seq_ev_set_fixed</a>(ev),\ (ev)->data.note.channel = (ch),\ (ev)->data.note.note = (key),\ (ev)->data.note.velocity = (vel))</pre></div>set note-off event <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>ch</em> </td><td> channel number </td></tr> <tr><td valign=top><em>key</em> </td><td> note key </td></tr> <tr><td valign=top><em>vel</em> </td><td> velocity </td></tr> </table> </dl> </td> </tr> </table> <a name="a40" doxytag="seqmid.h::snd_seq_ev_set_noteon"></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_ev_set_noteon</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>ch, <tr> <td></td> <td></td> <td class="md" nowrap>key, <tr> <td></td> <td></td> <td class="md" nowrap>vel </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->type = <a class="code" href="group___seq_events.html#a39a42">SND_SEQ_EVENT_NOTEON</a>,\ <a class="code" href="group___seq_middle.html#a25">snd_seq_ev_set_fixed</a>(ev),\ (ev)->data.note.channel = (ch),\ (ev)->data.note.note = (key),\ (ev)->data.note.velocity = (vel))</pre></div>set note-on event <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>ch</em> </td><td> channel number </td></tr> <tr><td valign=top><em>key</em> </td><td> note key </td></tr> <tr><td valign=top><em>vel</em> </td><td> velocity </td></tr> </table> </dl> </td> </tr> </table> <a name="a44" doxytag="seqmid.h::snd_seq_ev_set_pgmchange"></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_ev_set_pgmchange</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>ch, <tr> <td></td> <td></td> <td class="md" nowrap>val </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->type = <a class="code" href="group___seq_events.html#a39a46">SND_SEQ_EVENT_PGMCHANGE</a>,\ <a class="code" href="group___seq_middle.html#a25">snd_seq_ev_set_fixed</a>(ev),\ (ev)->data.control.channel = (ch),\ (ev)->data.control.value = (val))</pre></div>set program change event <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>ch</em> </td><td> channel number </td></tr> <tr><td valign=top><em>val</em> </td><td> program number </td></tr> </table> </dl> </td> </tr> </table> <a name="a45" doxytag="seqmid.h::snd_seq_ev_set_pitchbend"></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_ev_set_pitchbend</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>ch, <tr> <td></td> <td></td> <td class="md" nowrap>val </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->type = <a class="code" href="group___seq_events.html#a39a48">SND_SEQ_EVENT_PITCHBEND</a>,\ <a class="code" href="group___seq_middle.html#a25">snd_seq_ev_set_fixed</a>(ev),\ (ev)->data.control.channel = (ch),\ (ev)->data.control.value = (val))</pre></div>set pitch-bend event <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>ch</em> </td><td> channel number </td></tr> <tr><td valign=top><em>val</em> </td><td> pitch bend; zero centered from -8192 to 8191 </td></tr> </table> </dl> </td> </tr> </table> <a name="a24" doxytag="seqmid.h::snd_seq_ev_set_priority"></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_ev_set_priority</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>high_prior </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->flags &= ~<a class="code" href="group___seq_events.html#a38">SND_SEQ_PRIORITY_MASK</a>,\ (ev)->flags |= (high_prior) ? <a class="code" href="group___seq_events.html#a37">SND_SEQ_PRIORITY_HIGH</a> : <a class="code" href="group___seq_events.html#a36">SND_SEQ_PRIORITY_NORMAL</a>)</pre></div>set event priority <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event instance </td></tr> <tr><td valign=top><em>high_prior</em> </td><td> 1 for high priority mode </td></tr> </table> </dl> </td> </tr> </table> <a name="a31" doxytag="seqmid.h::snd_seq_ev_set_queue_continue"></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_ev_set_queue_continue</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>q </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_CONTINUE, q, 0) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> set the stop queue event <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>q</em> </td><td> queue id to continue </td></tr> </table> </dl> </td> </tr> </table> <a name="a28" doxytag="seqmid.h::snd_seq_ev_set_queue_control"></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_ev_set_queue_control</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>typ, <tr> <td></td> <td></td> <td class="md" nowrap>q, <tr> <td></td> <td></td> <td class="md" nowrap>val </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->type = (typ),\ <a class="code" href="group___seq_middle.html#a17">snd_seq_ev_set_dest</a>(ev, <a class="code" href="group___sequencer.html#a37">SND_SEQ_CLIENT_SYSTEM</a>, <a class="code" href="group___seq_port.html#a33">SND_SEQ_PORT_SYSTEM_TIMER</a>),\ (ev)->data.queue.queue = (q),\ (ev)->data.queue.param.value = (val))</pre></div>set queue controls <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>typ</em> </td><td> event type </td></tr> <tr><td valign=top><em>q</em> </td><td> queue id </td></tr> <tr><td valign=top><em>val</em> </td><td> control value </td></tr> </table> </dl> </td> </tr> </table> <a name="a33" doxytag="seqmid.h::snd_seq_ev_set_queue_pos_real"></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_ev_set_queue_pos_real</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>q, <tr> <td></td> <td></td> <td class="md" nowrap>rtime </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->type = <a class="code" href="group___seq_events.html#a39a61">SND_SEQ_EVENT_SETPOS_TIME</a>,\ <a class="code" href="group___seq_middle.html#a17">snd_seq_ev_set_dest</a>(ev, <a class="code" href="group___sequencer.html#a37">SND_SEQ_CLIENT_SYSTEM</a>, <a class="code" href="group___seq_port.html#a33">SND_SEQ_PORT_SYSTEM_TIMER</a>),\ (ev)->data.queue.queue = (q),\ (ev)->data.queue.param.time.time = *(rtime))</pre></div>set the real-time position of a queue <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>q</em> </td><td> queue id to change tempo </td></tr> <tr><td valign=top><em>rtime</em> </td><td> the new real-time pointer </td></tr> </table> </dl> </td> </tr> </table> <a name="a34" doxytag="seqmid.h::snd_seq_ev_set_queue_pos_tick"></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_ev_set_queue_pos_tick</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>q, <tr> <td></td> <td></td> <td class="md" nowrap>ttime </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->type = <a class="code" href="group___seq_events.html#a39a60">SND_SEQ_EVENT_SETPOS_TICK</a>,\ <a class="code" href="group___seq_middle.html#a17">snd_seq_ev_set_dest</a>(ev, <a class="code" href="group___sequencer.html#a37">SND_SEQ_CLIENT_SYSTEM</a>, <a class="code" href="group___seq_port.html#a33">SND_SEQ_PORT_SYSTEM_TIMER</a>),\ (ev)->data.queue.queue = (q),\ (ev)->data.queue.param.time.tick = (ttime))</pre></div>set the tick-time position of a queue <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>q</em> </td><td> queue id to change tempo </td></tr> <tr><td valign=top><em>ttime</em> </td><td> the new tick-time </td></tr> </table> </dl> </td> </tr> </table> <a name="a29" doxytag="seqmid.h::snd_seq_ev_set_queue_start"></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_ev_set_queue_start</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>q </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_START, q, 0) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> set the start queue event <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>q</em> </td><td> queue id to start </td></tr> </table> </dl> </td> </tr> </table> <a name="a30" doxytag="seqmid.h::snd_seq_ev_set_queue_stop"></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_ev_set_queue_stop</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>q </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_STOP, q, 0) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> set the stop queue event <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>q</em> </td><td> queue id to stop </td></tr> </table> </dl> </td> </tr> </table> <a name="a32" doxytag="seqmid.h::snd_seq_ev_set_queue_tempo"></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_ev_set_queue_tempo</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>q, <tr> <td></td> <td></td> <td class="md" nowrap>val </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_TEMPO, q, val) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> set the stop queue event <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>q</em> </td><td> queue id to change tempo </td></tr> <tr><td valign=top><em>val</em> </td><td> the new tempo value </td></tr> </table> </dl> </td> </tr> </table> <a name="a20" doxytag="seqmid.h::snd_seq_ev_set_source"></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_ev_set_source</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>p </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> ((ev)->source.port = (p)) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> set the source port <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>p</em> </td><td> source port id </td></tr> </table> </dl> </td> </tr> </table> <a name="a18" doxytag="seqmid.h::snd_seq_ev_set_subs"></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_ev_set_subs</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->dest.client = <a class="code" href="group___sequencer.html#a35">SND_SEQ_ADDRESS_SUBSCRIBERS</a>,\ (ev)->dest.port = <a class="code" href="group___sequencer.html#a34">SND_SEQ_ADDRESS_UNKNOWN</a>)</pre></div>set broadcasting to subscribers <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> </table> </dl> </td> </tr> </table> <a name="a47" doxytag="seqmid.h::snd_seq_ev_set_sysex"></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_ev_set_sysex</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>datalen, <tr> <td></td> <td></td> <td class="md" nowrap>dataptr </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->type = <a class="code" href="group___seq_events.html#a39a118">SND_SEQ_EVENT_SYSEX</a>,\ <a class="code" href="group___seq_middle.html#a26">snd_seq_ev_set_variable</a>(ev, datalen, dataptr))</pre></div>set sysex event <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event record </td></tr> <tr><td valign=top><em>datalen</em> </td><td> length of sysex data </td></tr> <tr><td valign=top><em>dataptr</em> </td><td> sysex data pointer</td></tr> </table> </dl>the sysex data must contain the start byte 0xf0 and the end byte 0xf7. </td> </tr> </table> <a name="a26" doxytag="seqmid.h::snd_seq_ev_set_variable"></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_ev_set_variable</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>datalen, <tr> <td></td> <td></td> <td class="md" nowrap>dataptr </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->flags &= ~<a class="code" href="group___seq_events.html#a35">SND_SEQ_EVENT_LENGTH_MASK</a>,\ (ev)->flags |= <a class="code" href="group___seq_events.html#a33">SND_SEQ_EVENT_LENGTH_VARIABLE</a>,\ (ev)->data.ext.len = (datalen),\ (ev)->data.ext.ptr = (dataptr))</pre></div>set variable data <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event instance </td></tr> <tr><td valign=top><em>datalen</em> </td><td> length of the external data </td></tr> <tr><td valign=top><em>dataptr</em> </td><td> pointer of the external data</td></tr> </table> </dl>Sets the event length mode as variable length and stores the data. </td> </tr> </table> <a name="a27" doxytag="seqmid.h::snd_seq_ev_set_varusr"></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_ev_set_varusr</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">ev, <tr> <td></td> <td></td> <td class="md" nowrap>datalen, <tr> <td></td> <td></td> <td class="md" nowrap>dataptr </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((ev)->flags &= ~<a class="code" href="group___seq_events.html#a35">SND_SEQ_EVENT_LENGTH_MASK</a>,\ (ev)->flags |= <a class="code" href="group___seq_events.html#a34">SND_SEQ_EVENT_LENGTH_VARUSR</a>,\ (ev)->data.ext.len = (datalen),\ (ev)->data.ext.ptr = (dataptr))</pre></div>set varusr data <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>ev</em> </td><td> event instance </td></tr> <tr><td valign=top><em>len</em> </td><td> length of the external data </td></tr> <tr><td valign=top><em>ptr</em> </td><td> pointer of the external data</td></tr> </table> </dl>Sets the event length mode as variable user-space data and stores the data. </td> </tr> </table> <a name="a35" doxytag="seqmid.h::snd_seq_start_queue"></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_start_queue</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">seq, <tr> <td></td> <td></td> <td class="md" nowrap>q, <tr> <td></td> <td></td> <td class="md" nowrap>ev </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_START, 0, ev) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> start the specified queue <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>q</em> </td><td> queue id to start </td></tr> <tr><td valign=top><em>ev</em> </td><td> optional event record (see <a class="el" href="group___seq_middle.html#a0">snd_seq_control_queue</a>) </td></tr> </table> </dl> </td> </tr> </table> <a name="a36" doxytag="seqmid.h::snd_seq_stop_queue"></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_stop_queue</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">seq, <tr> <td></td> <td></td> <td class="md" nowrap>q, <tr> <td></td> <td></td> <td class="md" nowrap>ev </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_STOP, 0, ev) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> stop the specified queue <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>q</em> </td><td> queue id to stop </td></tr> <tr><td valign=top><em>ev</em> </td><td> optional event record (see <a class="el" href="group___seq_middle.html#a0">snd_seq_control_queue</a>) </td></tr> </table> </dl> </td> </tr> </table> <hr><h2>Function Documentation</h2> <a name="a3" doxytag="seqmid.h::snd_seq_connect_from"></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_connect_from </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>myport</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>src_client</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>src_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> simple subscription (w/o exclusive & time conversion) <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>myport</em> </td><td> the port id as receiver </td></tr> <tr><td valign=top><em>src_client</em> </td><td> sender client id </td></tr> <tr><td valign=top><em>src_port</em> </td><td> sender port id </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or negative error code</dl>Connect from the given sender client:port to the given destination port in the current client. </td> </tr> </table> <a name="a4" doxytag="seqmid.h::snd_seq_connect_to"></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_connect_to </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>myport</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>dest_client</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>dest_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> simple subscription (w/o exclusive & time conversion) <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>myport</em> </td><td> the port id as sender </td></tr> <tr><td valign=top><em>dest_client</em> </td><td> destination client id </td></tr> <tr><td valign=top><em>dest_port</em> </td><td> destination port id </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or negative error code</dl>Connect from the given receiver port in the current client to the given destination client:port. </td> </tr> </table> <a name="a0" doxytag="seqmid.h::snd_seq_control_queue"></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_control_queue </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>q</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>type</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>value</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="group___seq_events.html#a25">snd_seq_event_t</a> * </td> <td class="mdname" nowrap> <em>ev</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> queue controls - start/stop/continue <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>q</em> </td><td> queue id to control </td></tr> <tr><td valign=top><em>type</em> </td><td> event type </td></tr> <tr><td valign=top><em>value</em> </td><td> event value </td></tr> <tr><td valign=top><em>ev</em> </td><td> event instance</td></tr> </table> </dl>This function sets up general queue control event and sends it. To send at scheduled time, set the schedule in <em>ev</em>. If <em>ev</em> is NULL, the event is composed locally and sent immediately to the specified queue. In any cases, you need to call snd_seq_drain_event appropriately to feed the event. </td> </tr> </table> <a name="a1" doxytag="seqmid.h::snd_seq_create_simple_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_simple_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>const char * </td> <td class="mdname" nowrap> <em>name</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>unsigned int </td> <td class="mdname" nowrap> <em>caps</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> create a port - simple version <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>name</em> </td><td> the name of the port </td></tr> <tr><td valign=top><em>caps</em> </td><td> capability bits </td></tr> <tr><td valign=top><em>type</em> </td><td> type bits </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> the created port number or negative error code</dl>Creates a port with the given capability and type bits. </td> </tr> </table> <a name="a2" doxytag="seqmid.h::snd_seq_delete_simple_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_simple_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 the 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>port</em> </td><td> port id </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or negative error code </dl> </td> </tr> </table> <a name="a5" doxytag="seqmid.h::snd_seq_disconnect_from"></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_disconnect_from </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>myport</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>src_client</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>src_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> simple disconnection <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>myport</em> </td><td> the port id as receiver </td></tr> <tr><td valign=top><em>src_client</em> </td><td> sender client id </td></tr> <tr><td valign=top><em>src_port</em> </td><td> sender port id </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or negative error code</dl>Remove connection from the given sender client:port to the given destination port in the current client. </td> </tr> </table> <a name="a6" doxytag="seqmid.h::snd_seq_disconnect_to"></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_disconnect_to </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>myport</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>dest_client</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>dest_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> simple disconnection <p> <dl compact><dt><b>Parameters: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>myport</em> </td><td> the port id as sender </td></tr> <tr><td valign=top><em>dest_client</em> </td><td> destination client id </td></tr> <tr><td valign=top><em>dest_port</em> </td><td> destination port id </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or negative error code</dl>Remove connection from the given sender client:port to the given destination port in the current client. </td> </tr> </table> <a name="a13" doxytag="seqmid.h::snd_seq_parse_address"></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_parse_address </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_events.html#a1">snd_seq_addr_t</a> * </td> <td class="mdname" nowrap> <em>addr</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const char * </td> <td class="mdname" nowrap> <em>arg</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> parse the given string and get the sequencer address <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>addr</em> </td><td> the address pointer to be returned </td></tr> <tr><td valign=top><em>arg</em> </td><td> the string to be parsed </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or negative error code</dl>This function parses the sequencer client and port numbers from the given string. The client and port tokes are separated by either colon or period, e.g. 128:1. When <em>seq</em> is not NULL, the function accepts also a client name not only digit numbers. </td> </tr> </table> <a name="a15" doxytag="seqmid.h::snd_seq_reset_pool_input"></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_reset_pool_input </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="mdname1" valign="top" nowrap> <em>seq</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> reset client input pool <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> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or negative error code </dl> </td> </tr> </table> <a name="a14" doxytag="seqmid.h::snd_seq_reset_pool_output"></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_reset_pool_output </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="mdname1" valign="top" nowrap> <em>seq</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> reset client output pool <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> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or negative error code </dl> </td> </tr> </table> <a name="a8" doxytag="seqmid.h::snd_seq_set_client_event_filter"></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_client_event_filter </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>event_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> add client event filter <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>event_type</em> </td><td> event type to be added </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or negative error code </dl> </td> </tr> </table> <a name="a7" doxytag="seqmid.h::snd_seq_set_client_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"> int snd_seq_set_client_name </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>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 client name <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>name</em> </td><td> name string </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or negative error code </dl> </td> </tr> </table> <a name="a11" doxytag="seqmid.h::snd_seq_set_client_pool_input"></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_client_pool_input </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>size_t </td> <td class="mdname" nowrap> <em>size</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> change the input pool size of the given 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>size</em> </td><td> input pool size </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or negative error code </dl> </td> </tr> </table> <a name="a9" doxytag="seqmid.h::snd_seq_set_client_pool_output"></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_client_pool_output </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>size_t </td> <td class="mdname" nowrap> <em>size</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> change the output pool size of the given 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>size</em> </td><td> output pool size </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or negative error code </dl> </td> </tr> </table> <a name="a10" doxytag="seqmid.h::snd_seq_set_client_pool_output_room"></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_client_pool_output_room </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>size_t </td> <td class="mdname" nowrap> <em>size</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> change the output room size of the given 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>size</em> </td><td> output room size </td></tr> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or negative error code </dl> </td> </tr> </table> <a name="a12" doxytag="seqmid.h::snd_seq_sync_output_queue"></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_sync_output_queue </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="mdname1" valign="top" nowrap> <em>seq</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> drain output queue <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> </table> </dl><dl compact><dt><b>Returns: </b></dt><dd> 0 on success or 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>