File: //usr/share/doc/alsa-lib-devel-1.0.17/lib64/html/group___seq_middle.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ALSA project - the C library reference: Sequencer Middle Level Interface</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul></div>
<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 class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g6ed1a615ac4c8f02832198ab04fa8f55">snd_seq_ev_clear</a>(ev) memset(ev, 0, sizeof(<a class="el" href="structsnd__seq__event.html">snd_seq_event_t</a>))</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">initialize event record <a href="#g6ed1a615ac4c8f02832198ab04fa8f55"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#ge89a11da3605b750815a4f4aaa43d211">snd_seq_ev_set_tag</a>(ev, t) ((ev)->tag = (t))</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the tag for given event <a href="#ge89a11da3605b750815a4f4aaa43d211"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gb3f126483e71b08985f8d24b4b4d4d65">snd_seq_ev_set_dest</a>(ev, c, p) ((ev)->dest.client = (c), (ev)->dest.port = (p))</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the explicit destination <a href="#gb3f126483e71b08985f8d24b4b4d4d65"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gd61b73ca763e011b23df35dc746ad760">snd_seq_ev_set_subs</a>(ev)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set broadcasting to subscribers <a href="#gd61b73ca763e011b23df35dc746ad760"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g9e847d44970b9caf6d387903af1edc1f">snd_seq_ev_set_broadcast</a>(ev)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set broadcasting to all clients/ports <a href="#g9e847d44970b9caf6d387903af1edc1f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gabdd5b232c8f306b4ced5eb7edf12844">snd_seq_ev_set_source</a>(ev, p) ((ev)->source.port = (p))</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the source port <a href="#gabdd5b232c8f306b4ced5eb7edf12844"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gdda452e0b4ea3b5f722795d015159388">snd_seq_ev_set_direct</a>(ev) ((ev)->queue = SND_SEQ_QUEUE_DIRECT)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set direct passing mode (without queued) <a href="#gdda452e0b4ea3b5f722795d015159388"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gc52cfb42dc6be2f0ae70b1e8838f7f20">snd_seq_ev_schedule_tick</a>(ev, q, relative, ttick)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set tick-scheduling mode on queue <a href="#gc52cfb42dc6be2f0ae70b1e8838f7f20"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g79b6a2a71dbb99e99178ac92010fab9f">snd_seq_ev_schedule_real</a>(ev, q, relative, rtime)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set real-time-scheduling mode on queue <a href="#g79b6a2a71dbb99e99178ac92010fab9f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g5accb4512ba59d928d490bd0d3af0b1b">snd_seq_ev_set_priority</a>(ev, high_prior)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set event priority <a href="#g5accb4512ba59d928d490bd0d3af0b1b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">snd_seq_ev_set_fixed</a>(ev)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set fixed data <a href="#gc63201166b9f4c557ab36d42b0a1edba"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gf0bc5a0eddabf0d6ae0916388bcc27d5">snd_seq_ev_set_variable</a>(ev, datalen, dataptr)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set variable data <a href="#gf0bc5a0eddabf0d6ae0916388bcc27d5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g7e2d5a6856cf1602274f11faca0ae031">snd_seq_ev_set_varusr</a>(ev, datalen, dataptr)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set varusr data <a href="#g7e2d5a6856cf1602274f11faca0ae031"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g582281c5cd25e2fd41a6b5e64c26a66b">snd_seq_ev_set_queue_control</a>(ev, typ, q, val)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set queue controls <a href="#g582281c5cd25e2fd41a6b5e64c26a66b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g7b4719f97c41df8e821242ffeed21411">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 class="mdescLeft"> </td><td class="mdescRight">set the start queue event <a href="#g7b4719f97c41df8e821242ffeed21411"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g2d9cf241719b4616e24b6422fc204de6">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 class="mdescLeft"> </td><td class="mdescRight">set the stop queue event <a href="#g2d9cf241719b4616e24b6422fc204de6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g76610ea2f6b0269bb982a74ecdfd5f46">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 class="mdescLeft"> </td><td class="mdescRight">set the stop queue event <a href="#g76610ea2f6b0269bb982a74ecdfd5f46"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gc35ef96f503260f55c7aad4edd61660f">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 class="mdescLeft"> </td><td class="mdescRight">set the stop queue event <a href="#gc35ef96f503260f55c7aad4edd61660f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gc6ea752f05647a800d8878b3021b534f">snd_seq_ev_set_queue_pos_real</a>(ev, q, rtime)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the real-time position of a queue <a href="#gc6ea752f05647a800d8878b3021b534f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g383aab434971f7d6cce4dec127791953">snd_seq_ev_set_queue_pos_tick</a>(ev, q, ttime)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the tick-time position of a queue <a href="#g383aab434971f7d6cce4dec127791953"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g3738c42a4ee922fe9a8edcf79c991ee3">snd_seq_start_queue</a>(seq, q, ev) snd_seq_control_queue(seq, q, SND_SEQ_EVENT_START, 0, ev)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">start the specified queue <a href="#g3738c42a4ee922fe9a8edcf79c991ee3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g703da053ca7605e25401b4ab822d8334">snd_seq_stop_queue</a>(seq, q, ev) snd_seq_control_queue(seq, q, SND_SEQ_EVENT_STOP, 0, ev)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">stop the specified queue <a href="#g703da053ca7605e25401b4ab822d8334"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gea755c06c0789c7427430bef4b57a4fe">snd_seq_continue_queue</a>(seq, q, ev) snd_seq_control_queue(seq, q, SND_SEQ_EVENT_CONTINUE, 0, ev)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">continue the specified queue <a href="#gea755c06c0789c7427430bef4b57a4fe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gd995d31715bcc1de6c81e3f4b8f8e9e7">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 class="mdescLeft"> </td><td class="mdescRight">change the tempo of the specified queue <a href="#gd995d31715bcc1de6c81e3f4b8f8e9e7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gc74d4a02e90510e06dc8a1b6c177ab7e">snd_seq_ev_set_note</a>(ev, ch, key, vel, dur)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set note event <a href="#gc74d4a02e90510e06dc8a1b6c177ab7e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g033efcda9b91854b4543987e4068d52e">snd_seq_ev_set_noteon</a>(ev, ch, key, vel)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set note-on event <a href="#g033efcda9b91854b4543987e4068d52e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g74c4e0f98dd057e0f44aa20fb3e1461b">snd_seq_ev_set_noteoff</a>(ev, ch, key, vel)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set note-off event <a href="#g74c4e0f98dd057e0f44aa20fb3e1461b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g2681e074d480974ac8dcf7fe7b03c131">snd_seq_ev_set_keypress</a>(ev, ch, key, vel)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set key-pressure event <a href="#g2681e074d480974ac8dcf7fe7b03c131"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g5a992c1e250a207faa26f8a9de4ee684">snd_seq_ev_set_controller</a>(ev, ch, cc, val)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set MIDI controller event <a href="#g5a992c1e250a207faa26f8a9de4ee684"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gf4250b8092836cdf73c604afa514a81f">snd_seq_ev_set_pgmchange</a>(ev, ch, val)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set program change event <a href="#gf4250b8092836cdf73c604afa514a81f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gfc2c8b79ee7f9673dc04a237a13246f2">snd_seq_ev_set_pitchbend</a>(ev, ch, val)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set pitch-bend event <a href="#gfc2c8b79ee7f9673dc04a237a13246f2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g74fb0ab38361c213daaaf94d4c919b09">snd_seq_ev_set_chanpress</a>(ev, ch, val)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set channel pressure event <a href="#g74fb0ab38361c213daaaf94d4c919b09"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g49f76b30271be92dd28800753e57df34">snd_seq_ev_set_sysex</a>(ev, datalen, dataptr)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set sysex event <a href="#g49f76b30271be92dd28800753e57df34"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#ge067d7c822a0980e79f13d4cc3f778a0">snd_seq_control_queue</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq, int q, int type, int value, <a class="el" href="structsnd__seq__event.html">snd_seq_event_t</a> *ev)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">queue controls - start/stop/continue <a href="#ge067d7c822a0980e79f13d4cc3f778a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#ge399e1fd02759dd7ac143ecb774fce12">snd_seq_create_simple_port</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq, const char *name, unsigned int caps, unsigned int type)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">create a port - simple version <a href="#ge399e1fd02759dd7ac143ecb774fce12"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g6b8748467dd79245cdefb9960cb17440">snd_seq_delete_simple_port</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq, int port)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">delete the port <a href="#g6b8748467dd79245cdefb9960cb17440"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g71a443d8532881c60b42d00abe384408">snd_seq_connect_from</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq, int my_port, int src_client, int src_port)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">simple subscription (w/o exclusive & time conversion) <a href="#g71a443d8532881c60b42d00abe384408"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g26bd68161e674223ad42b8341a939222">snd_seq_connect_to</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq, int my_port, int dest_client, int dest_port)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">simple subscription (w/o exclusive & time conversion) <a href="#g26bd68161e674223ad42b8341a939222"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g79ad32b175138707cf2ca9a89cd82d89">snd_seq_disconnect_from</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq, int my_port, int src_client, int src_port)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">simple disconnection <a href="#g79ad32b175138707cf2ca9a89cd82d89"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g8b26d2b152bfff0e330613cef113a36f">snd_seq_disconnect_to</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq, int my_port, int dest_client, int dest_port)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">simple disconnection <a href="#g8b26d2b152bfff0e330613cef113a36f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gb9d6b52fb5db04f741b9584b445ef1ce">snd_seq_set_client_name</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq, const char *name)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">set client name <a href="#gb9d6b52fb5db04f741b9584b445ef1ce"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gb2f548580770dd1fc98d205126c33ed8">snd_seq_set_client_event_filter</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq, int event_type)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">add client event filter <a href="#gb2f548580770dd1fc98d205126c33ed8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gf025c8f3a0257709c6acdcc372052ff8">snd_seq_set_client_pool_output</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq, size_t size)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">change the output pool size of the given client <a href="#gf025c8f3a0257709c6acdcc372052ff8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g0bcd4061da4877c4bc9470dc5666609c">snd_seq_set_client_pool_output_room</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq, size_t size)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">change the output room size of the given client <a href="#g0bcd4061da4877c4bc9470dc5666609c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g85b71ed209823208ed117e02e1223772">snd_seq_set_client_pool_input</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq, size_t size)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">change the input pool size of the given client <a href="#g85b71ed209823208ed117e02e1223772"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g56d46593604d507674abec6ca65ee845">snd_seq_sync_output_queue</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">wait until all events are processed <a href="#g56d46593604d507674abec6ca65ee845"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g918fb2ef3d0959a048ab054f39339906">snd_seq_parse_address</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq, <a class="el" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *addr, const char *str)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">parse the given string and get the sequencer address <a href="#g918fb2ef3d0959a048ab054f39339906"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#g749ba4733d7ecd0f4b0a67dffc87379b">snd_seq_reset_pool_output</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">reset client output pool <a href="#g749ba4733d7ecd0f4b0a67dffc87379b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___seq_middle.html#gfa702330035da142eb564e26af2d8ed4">snd_seq_reset_pool_input</a> (<a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> *seq)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">reset client input pool <a href="#gfa702330035da142eb564e26af2d8ed4"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Sequencer Middle Level Interface <hr><h2>Define Documentation</h2>
<a class="anchor" name="gd995d31715bcc1de6c81e3f4b8f8e9e7"></a><!-- doxytag: member="seqmid.h::snd_seq_change_queue_tempo" ref="gd995d31715bcc1de6c81e3f4b8f8e9e7" args="(seq, q, tempo, ev)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_change_queue_tempo </td>
<td>(</td>
<td class="paramtype">seq, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">q, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">tempo, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ev </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_TEMPO, tempo, ev)</td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id </td></tr>
<tr><td valign="top"></td><td valign="top"><em>tempo</em> </td><td>the new tempo value </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ev</em> </td><td>optional event record (see <a class="el" href="group___seq_middle.html#ge067d7c822a0980e79f13d4cc3f778a0">snd_seq_control_queue</a>) </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="gea755c06c0789c7427430bef4b57a4fe"></a><!-- doxytag: member="seqmid.h::snd_seq_continue_queue" ref="gea755c06c0789c7427430bef4b57a4fe" args="(seq, q, ev)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_continue_queue </td>
<td>(</td>
<td class="paramtype">seq, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">q, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ev </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_CONTINUE, 0, ev)</td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id to continue </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ev</em> </td><td>optional event record (see <a class="el" href="group___seq_middle.html#ge067d7c822a0980e79f13d4cc3f778a0">snd_seq_control_queue</a>) </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g6ed1a615ac4c8f02832198ab04fa8f55"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_clear" ref="g6ed1a615ac4c8f02832198ab04fa8f55" args="(ev)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_clear </td>
<td>(</td>
<td class="paramtype">ev </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> memset(ev, 0, sizeof(<a class="el" href="structsnd__seq__event.html">snd_seq_event_t</a>))</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
initialize event record
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>ev</em> </td><td>event record pointer</td></tr>
</table>
</dl>
This macro clears the given event record pointer to the default status.
</div>
</div><p>
<a class="anchor" name="g79b6a2a71dbb99e99178ac92010fab9f"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_schedule_real" ref="g79b6a2a71dbb99e99178ac92010fab9f" args="(ev, q, relative, rtime)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_schedule_real </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">q, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">relative, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">rtime </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->flags &= ~(<a class="code" href="group___seq_events.html#g5f907fabdb768cafa721905cd1405c54">SND_SEQ_TIME_STAMP_MASK</a> | <a class="code" href="group___seq_events.html#g56f29e10bc6afc128d5ffddf5e119b78">SND_SEQ_TIME_MODE_MASK</a>),\
(ev)->flags |= <a class="code" href="group___seq_events.html#gab9f7ef74f95e9addbaedc58579e5a20">SND_SEQ_TIME_STAMP_REAL</a>,\
(ev)->flags |= (relative) ? <a class="code" href="group___seq_events.html#gfd7fdcb33dd5a6478696b124396e495c">SND_SEQ_TIME_MODE_REL</a> : <a class="code" href="group___seq_events.html#geb2a2dd62f5590ea888ca0a0d71a1a38">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"></td><td valign="top"><em>ev</em> </td><td>event instance </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id to schedule </td></tr>
<tr><td valign="top"></td><td valign="top"><em>relative</em> </td><td>relative time-stamp if non-zero </td></tr>
<tr><td valign="top"></td><td valign="top"><em>rtime</em> </td><td>time-stamp to be delivered</td></tr>
</table>
</dl>
This macro sets the scheduling of the event in the realtime mode.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_middle.html#gc52cfb42dc6be2f0ae70b1e8838f7f20">snd_seq_ev_schedule_tick()</a>, <a class="el" href="group___seq_middle.html#gdda452e0b4ea3b5f722795d015159388">snd_seq_ev_set_direct()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="gc52cfb42dc6be2f0ae70b1e8838f7f20"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_schedule_tick" ref="gc52cfb42dc6be2f0ae70b1e8838f7f20" args="(ev, q, relative, ttick)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_schedule_tick </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">q, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">relative, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ttick </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->flags &= ~(<a class="code" href="group___seq_events.html#g5f907fabdb768cafa721905cd1405c54">SND_SEQ_TIME_STAMP_MASK</a> | <a class="code" href="group___seq_events.html#g56f29e10bc6afc128d5ffddf5e119b78">SND_SEQ_TIME_MODE_MASK</a>),\
(ev)->flags |= <a class="code" href="group___seq_events.html#gab0792a8f7d240d15b7a64fc2bb6de4e">SND_SEQ_TIME_STAMP_TICK</a>,\
(ev)->flags |= (relative) ? <a class="code" href="group___seq_events.html#gfd7fdcb33dd5a6478696b124396e495c">SND_SEQ_TIME_MODE_REL</a> : <a class="code" href="group___seq_events.html#geb2a2dd62f5590ea888ca0a0d71a1a38">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"></td><td valign="top"><em>ev</em> </td><td>event instance </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id to schedule </td></tr>
<tr><td valign="top"></td><td valign="top"><em>relative</em> </td><td>relative time-stamp if non-zero </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ttick</em> </td><td>tick time-stamp to be delivered</td></tr>
</table>
</dl>
This macro sets the scheduling of the event in the MIDI tick mode.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_middle.html#g79b6a2a71dbb99e99178ac92010fab9f">snd_seq_ev_schedule_real()</a>, <a class="el" href="group___seq_middle.html#gdda452e0b4ea3b5f722795d015159388">snd_seq_ev_set_direct()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g9e847d44970b9caf6d387903af1edc1f"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_broadcast" ref="g9e847d44970b9caf6d387903af1edc1f" args="(ev)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_broadcast </td>
<td>(</td>
<td class="paramtype">ev </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->dest.client = <a class="code" href="group___sequencer.html#g82b2252edf13b4bac9b46e336f507f2e">SND_SEQ_ADDRESS_BROADCAST</a>,\
(ev)->dest.port = <a class="code" href="group___sequencer.html#g82b2252edf13b4bac9b46e336f507f2e">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"></td><td valign="top"><em>ev</em> </td><td>event record</td></tr>
</table>
</dl>
This macro sets the destination as the broadcasting.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_middle.html#gb3f126483e71b08985f8d24b4b4d4d65">snd_seq_ev_set_dest()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g74fb0ab38361c213daaaf94d4c919b09"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_chanpress" ref="g74fb0ab38361c213daaaf94d4c919b09" args="(ev, ch, val)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_chanpress </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ch, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">val </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cda21160b17a1a0eb28c885f8846f3cd0ff">SND_SEQ_EVENT_CHANPRESS</a>,\
<a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
<tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>channel pressure value </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g5a992c1e250a207faa26f8a9de4ee684"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_controller" ref="g5a992c1e250a207faa26f8a9de4ee684" args="(ev, ch, cc, val)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_controller </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ch, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cc, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">val </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cda04f700c22fc344880a56f3b57af46b02">SND_SEQ_EVENT_CONTROLLER</a>,\
<a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
<tr><td valign="top"></td><td valign="top"><em>cc</em> </td><td>controller number </td></tr>
<tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>control value </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="gb3f126483e71b08985f8d24b4b4d4d65"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_dest" ref="gb3f126483e71b08985f8d24b4b4d4d65" args="(ev, c, p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_dest </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">c, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">p </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> ((ev)->dest.client = (c), (ev)->dest.port = (p))</td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>destination client id </td></tr>
<tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>destination port id</td></tr>
</table>
</dl>
This macro sets the client and port id numbers to the given event record.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_middle.html#gd61b73ca763e011b23df35dc746ad760">snd_seq_ev_set_subs()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="gdda452e0b4ea3b5f722795d015159388"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_direct" ref="gdda452e0b4ea3b5f722795d015159388" args="(ev)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_direct </td>
<td>(</td>
<td class="paramtype">ev </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> ((ev)->queue = SND_SEQ_QUEUE_DIRECT)</td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>ev</em> </td><td>event instance</td></tr>
</table>
</dl>
This macro sets the event to the direct passing mode to be delivered immediately without queueing.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_middle.html#gc52cfb42dc6be2f0ae70b1e8838f7f20">snd_seq_ev_schedule_tick()</a>, <a class="el" href="group___seq_middle.html#g79b6a2a71dbb99e99178ac92010fab9f">snd_seq_ev_schedule_real()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="gc63201166b9f4c557ab36d42b0a1edba"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_fixed" ref="gc63201166b9f4c557ab36d42b0a1edba" args="(ev)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_fixed </td>
<td>(</td>
<td class="paramtype">ev </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->flags &= ~<a class="code" href="group___seq_events.html#g61d27929db71c8d9b75551c627fc3526">SND_SEQ_EVENT_LENGTH_MASK</a>,\
(ev)->flags |= <a class="code" href="group___seq_events.html#ga35d48f57eadbbf478040cae8fdfb3bc">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"></td><td valign="top"><em>ev</em> </td><td>event instance</td></tr>
</table>
</dl>
Sets the event length mode as fixed size.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_middle.html#gf0bc5a0eddabf0d6ae0916388bcc27d5">snd_seq_ev_set_variable()</a>, <a class="el" href="group___seq_middle.html#g7e2d5a6856cf1602274f11faca0ae031">snd_seq_ev_set_varusr()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g2681e074d480974ac8dcf7fe7b03c131"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_keypress" ref="g2681e074d480974ac8dcf7fe7b03c131" args="(ev, ch, key, vel)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_keypress </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ch, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">key, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vel </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cda04b77729462837ce15cebb776365b311">SND_SEQ_EVENT_KEYPRESS</a>,\
<a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
<tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>note key </td></tr>
<tr><td valign="top"></td><td valign="top"><em>vel</em> </td><td>velocity </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="gc74d4a02e90510e06dc8a1b6c177ab7e"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_note" ref="gc74d4a02e90510e06dc8a1b6c177ab7e" args="(ev, ch, key, vel, dur)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_note </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ch, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">key, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vel, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dur </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cda025985f07d1b0b2c8583b91dcb893299">SND_SEQ_EVENT_NOTE</a>,\
<a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
<tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>note key </td></tr>
<tr><td valign="top"></td><td valign="top"><em>vel</em> </td><td>velocity </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dur</em> </td><td>duration (in tick or msec) </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g74c4e0f98dd057e0f44aa20fb3e1461b"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_noteoff" ref="g74c4e0f98dd057e0f44aa20fb3e1461b" args="(ev, ch, key, vel)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_noteoff </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ch, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">key, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vel </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cda2025ebf83f70a67393465c232f30d49e">SND_SEQ_EVENT_NOTEOFF</a>,\
<a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
<tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>note key </td></tr>
<tr><td valign="top"></td><td valign="top"><em>vel</em> </td><td>velocity </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g033efcda9b91854b4543987e4068d52e"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_noteon" ref="g033efcda9b91854b4543987e4068d52e" args="(ev, ch, key, vel)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_noteon </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ch, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">key, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">vel </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cda943ec11ad6722e1d083f32ca53cba973">SND_SEQ_EVENT_NOTEON</a>,\
<a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
<tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>note key </td></tr>
<tr><td valign="top"></td><td valign="top"><em>vel</em> </td><td>velocity </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="gf4250b8092836cdf73c604afa514a81f"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_pgmchange" ref="gf4250b8092836cdf73c604afa514a81f" args="(ev, ch, val)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_pgmchange </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ch, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">val </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cdacb7097f39cb1d1737bb5cce023694cdc">SND_SEQ_EVENT_PGMCHANGE</a>,\
<a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
<tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>program number </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="gfc2c8b79ee7f9673dc04a237a13246f2"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_pitchbend" ref="gfc2c8b79ee7f9673dc04a237a13246f2" args="(ev, ch, val)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_pitchbend </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ch, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">val </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cdae3461b1b18c218bdf2478aa68ef401b8">SND_SEQ_EVENT_PITCHBEND</a>,\
<a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
<tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>pitch bend; zero centered from -8192 to 8191 </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g5accb4512ba59d928d490bd0d3af0b1b"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_priority" ref="g5accb4512ba59d928d490bd0d3af0b1b" args="(ev, high_prior)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_priority </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">high_prior </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->flags &= ~<a class="code" href="group___seq_events.html#g476d97dc9a6d356c29abbc06e192f47f">SND_SEQ_PRIORITY_MASK</a>,\
(ev)->flags |= (high_prior) ? <a class="code" href="group___seq_events.html#gdfa50cebd762d0a151387c0bf5b4f38e">SND_SEQ_PRIORITY_HIGH</a> : <a class="code" href="group___seq_events.html#g9e96295948415a3c36c961e547c1f401">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"></td><td valign="top"><em>ev</em> </td><td>event instance </td></tr>
<tr><td valign="top"></td><td valign="top"><em>high_prior</em> </td><td>1 for high priority mode </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g76610ea2f6b0269bb982a74ecdfd5f46"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_continue" ref="g76610ea2f6b0269bb982a74ecdfd5f46" args="(ev, q)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_queue_continue </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">q </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_CONTINUE, q, 0)</td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id to continue</td></tr>
</table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_middle.html#g7b4719f97c41df8e821242ffeed21411">snd_seq_ev_set_queue_start()</a>, <a class="el" href="group___seq_middle.html#g2d9cf241719b4616e24b6422fc204de6">snd_seq_ev_set_queue_stop()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g582281c5cd25e2fd41a6b5e64c26a66b"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_control" ref="g582281c5cd25e2fd41a6b5e64c26a66b" args="(ev, typ, q, val)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_queue_control </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">typ, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">q, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">val </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->type = (typ),\
<a class="code" href="group___seq_middle.html#gb3f126483e71b08985f8d24b4b4d4d65">snd_seq_ev_set_dest</a>(ev, <a class="code" href="group___sequencer.html#g99fdba14f37a55f4ebe38bc35f8b93bb">SND_SEQ_CLIENT_SYSTEM</a>, <a class="code" href="group___seq_port.html#gcbbb71e7d502167e46824e29f667172b">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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>typ</em> </td><td>event type </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id </td></tr>
<tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>control value </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="gc6ea752f05647a800d8878b3021b534f"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_pos_real" ref="gc6ea752f05647a800d8878b3021b534f" args="(ev, q, rtime)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_queue_pos_real </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">q, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">rtime </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cdaca7b3c23a85db5f523a4c81ff79e19a8">SND_SEQ_EVENT_SETPOS_TIME</a>,\
<a class="code" href="group___seq_middle.html#gb3f126483e71b08985f8d24b4b4d4d65">snd_seq_ev_set_dest</a>(ev, <a class="code" href="group___sequencer.html#g99fdba14f37a55f4ebe38bc35f8b93bb">SND_SEQ_CLIENT_SYSTEM</a>, <a class="code" href="group___seq_port.html#gcbbb71e7d502167e46824e29f667172b">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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id to change tempo </td></tr>
<tr><td valign="top"></td><td valign="top"><em>rtime</em> </td><td>the new real-time pointer </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g383aab434971f7d6cce4dec127791953"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_pos_tick" ref="g383aab434971f7d6cce4dec127791953" args="(ev, q, ttime)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_queue_pos_tick </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">q, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ttime </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cdaa41a09378e846a5d694f0a170c199a4f">SND_SEQ_EVENT_SETPOS_TICK</a>,\
<a class="code" href="group___seq_middle.html#gb3f126483e71b08985f8d24b4b4d4d65">snd_seq_ev_set_dest</a>(ev, <a class="code" href="group___sequencer.html#g99fdba14f37a55f4ebe38bc35f8b93bb">SND_SEQ_CLIENT_SYSTEM</a>, <a class="code" href="group___seq_port.html#gcbbb71e7d502167e46824e29f667172b">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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id to change tempo </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ttime</em> </td><td>the new tick-time </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g7b4719f97c41df8e821242ffeed21411"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_start" ref="g7b4719f97c41df8e821242ffeed21411" args="(ev, q)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_queue_start </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">q </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_START, q, 0)</td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id to start</td></tr>
</table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_middle.html#g2d9cf241719b4616e24b6422fc204de6">snd_seq_ev_set_queue_stop()</a>, <a class="el" href="group___seq_middle.html#g76610ea2f6b0269bb982a74ecdfd5f46">snd_seq_ev_set_queue_continue()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g2d9cf241719b4616e24b6422fc204de6"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_stop" ref="g2d9cf241719b4616e24b6422fc204de6" args="(ev, q)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_queue_stop </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">q </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_STOP, q, 0)</td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id to stop</td></tr>
</table>
</dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_middle.html#g7b4719f97c41df8e821242ffeed21411">snd_seq_ev_set_queue_start()</a>, <a class="el" href="group___seq_middle.html#g76610ea2f6b0269bb982a74ecdfd5f46">snd_seq_ev_set_queue_continue()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="gc35ef96f503260f55c7aad4edd61660f"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_tempo" ref="gc35ef96f503260f55c7aad4edd61660f" args="(ev, q, val)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_queue_tempo </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">q, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">val </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_TEMPO, q, val)</td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id to change tempo </td></tr>
<tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>the new tempo value </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="gabdd5b232c8f306b4ced5eb7edf12844"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_source" ref="gabdd5b232c8f306b4ced5eb7edf12844" args="(ev, p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_source </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">p </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> ((ev)->source.port = (p))</td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>source port id</td></tr>
</table>
</dl>
This macro sets the source port id number.
</div>
</div><p>
<a class="anchor" name="gd61b73ca763e011b23df35dc746ad760"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_subs" ref="gd61b73ca763e011b23df35dc746ad760" args="(ev)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_subs </td>
<td>(</td>
<td class="paramtype">ev </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->dest.client = <a class="code" href="group___sequencer.html#g6540f2d8e765175bb6f082648d1d12fb">SND_SEQ_ADDRESS_SUBSCRIBERS</a>,\
(ev)->dest.port = <a class="code" href="group___sequencer.html#g1f8b452b2c67c4aa992c519b8cbcc842">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"></td><td valign="top"><em>ev</em> </td><td>event record</td></tr>
</table>
</dl>
This macro sets the destination as the subscribers.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_middle.html#gb3f126483e71b08985f8d24b4b4d4d65">snd_seq_ev_set_dest()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g49f76b30271be92dd28800753e57df34"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_sysex" ref="g49f76b30271be92dd28800753e57df34" args="(ev, datalen, dataptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_sysex </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">datalen, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dataptr </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cdaaca9f9f5841240dfe16f45125594668e">SND_SEQ_EVENT_SYSEX</a>,\
<a class="code" href="group___seq_middle.html#gf0bc5a0eddabf0d6ae0916388bcc27d5">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"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>datalen</em> </td><td>length of sysex data </td></tr>
<tr><td valign="top"></td><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.
</div>
</div><p>
<a class="anchor" name="ge89a11da3605b750815a4f4aaa43d211"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_tag" ref="ge89a11da3605b750815a4f4aaa43d211" args="(ev, t)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_tag </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">t </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> ((ev)->tag = (t))</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set the tag for given event
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
<tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>event tag</td></tr>
</table>
</dl>
This macro sets the tag to the given event record.
</div>
</div><p>
<a class="anchor" name="gf0bc5a0eddabf0d6ae0916388bcc27d5"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_variable" ref="gf0bc5a0eddabf0d6ae0916388bcc27d5" args="(ev, datalen, dataptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_variable </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">datalen, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dataptr </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->flags &= ~<a class="code" href="group___seq_events.html#g61d27929db71c8d9b75551c627fc3526">SND_SEQ_EVENT_LENGTH_MASK</a>,\
(ev)->flags |= <a class="code" href="group___seq_events.html#gbf202534b3964e7d562a675314fce0b3">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"></td><td valign="top"><em>ev</em> </td><td>event instance </td></tr>
<tr><td valign="top"></td><td valign="top"><em>datalen</em> </td><td>length of the external data </td></tr>
<tr><td valign="top"></td><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.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">snd_seq_ev_set_fixed()</a>, <a class="el" href="group___seq_middle.html#g7e2d5a6856cf1602274f11faca0ae031">snd_seq_ev_set_varusr()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g7e2d5a6856cf1602274f11faca0ae031"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_varusr" ref="g7e2d5a6856cf1602274f11faca0ae031" args="(ev, datalen, dataptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_ev_set_varusr </td>
<td>(</td>
<td class="paramtype">ev, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">datalen, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dataptr </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((ev)->flags &= ~<a class="code" href="group___seq_events.html#g61d27929db71c8d9b75551c627fc3526">SND_SEQ_EVENT_LENGTH_MASK</a>,\
(ev)->flags |= <a class="code" href="group___seq_events.html#gde32481e628a32f8f30399e5b0c5b28f">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"></td><td valign="top"><em>ev</em> </td><td>event instance </td></tr>
<tr><td valign="top"></td><td valign="top"><em>datalen</em> </td><td>length of the external data </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dataptr</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.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">snd_seq_ev_set_fixed()</a>, <a class="el" href="group___seq_middle.html#gf0bc5a0eddabf0d6ae0916388bcc27d5">snd_seq_ev_set_variable()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g3738c42a4ee922fe9a8edcf79c991ee3"></a><!-- doxytag: member="seqmid.h::snd_seq_start_queue" ref="g3738c42a4ee922fe9a8edcf79c991ee3" args="(seq, q, ev)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_start_queue </td>
<td>(</td>
<td class="paramtype">seq, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">q, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ev </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_START, 0, ev)</td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id to start </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ev</em> </td><td>optional event record (see <a class="el" href="group___seq_middle.html#ge067d7c822a0980e79f13d4cc3f778a0">snd_seq_control_queue</a>) </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g703da053ca7605e25401b4ab822d8334"></a><!-- doxytag: member="seqmid.h::snd_seq_stop_queue" ref="g703da053ca7605e25401b4ab822d8334" args="(seq, q, ev)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define snd_seq_stop_queue </td>
<td>(</td>
<td class="paramtype">seq, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">q, <tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ev </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_STOP, 0, ev)</td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id to stop </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ev</em> </td><td>optional event record (see <a class="el" href="group___seq_middle.html#ge067d7c822a0980e79f13d4cc3f778a0">snd_seq_control_queue</a>) </td></tr>
</table>
</dl>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g71a443d8532881c60b42d00abe384408"></a><!-- doxytag: member="seqmid.h::snd_seq_connect_from" ref="g71a443d8532881c60b42d00abe384408" args="(snd_seq_t *seq, int my_port, int src_client, int src_port)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_connect_from </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>myport</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>src_client</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>src_port</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>myport</em> </td><td>the port id as receiver </td></tr>
<tr><td valign="top"></td><td valign="top"><em>src_client</em> </td><td>sender client id </td></tr>
<tr><td valign="top"></td><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</dd></dl>
Connect from the given sender client:port to the given destination port in the current client.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_subscribe.html#ga638c8ee8c6382e4804c840dfaba70ae">snd_seq_subscribe_port()</a>, <a class="el" href="group___seq_middle.html#g79ad32b175138707cf2ca9a89cd82d89">snd_seq_disconnect_from()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g26bd68161e674223ad42b8341a939222"></a><!-- doxytag: member="seqmid.h::snd_seq_connect_to" ref="g26bd68161e674223ad42b8341a939222" args="(snd_seq_t *seq, int my_port, int dest_client, int dest_port)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_connect_to </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>myport</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>dest_client</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>dest_port</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>myport</em> </td><td>the port id as sender </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dest_client</em> </td><td>destination client id </td></tr>
<tr><td valign="top"></td><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</dd></dl>
Connect from the given receiver port in the current client to the given destination client:port.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_subscribe.html#ga638c8ee8c6382e4804c840dfaba70ae">snd_seq_subscribe_port()</a>, <a class="el" href="group___seq_middle.html#g8b26d2b152bfff0e330613cef113a36f">snd_seq_disconnect_to()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="ge067d7c822a0980e79f13d4cc3f778a0"></a><!-- doxytag: member="seqmid.h::snd_seq_control_queue" ref="ge067d7c822a0980e79f13d4cc3f778a0" args="(snd_seq_t *seq, int q, int type, int value, snd_seq_event_t *ev)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_control_queue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>q</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structsnd__seq__event.html">snd_seq_event_t</a> * </td>
<td class="paramname"> <em>ev</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>q</em> </td><td>queue id to control </td></tr>
<tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>event type </td></tr>
<tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>event value </td></tr>
<tr><td valign="top"></td><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 <a class="el" href="group___seq_event.html#g841a0cc485b82fd0b80c92274dfe36c0">snd_seq_drain_output()</a> appropriately to feed the event.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_queue.html#g7cbcf491237ff190f802605e934c2d22">snd_seq_alloc_queue()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="ge399e1fd02759dd7ac143ecb774fce12"></a><!-- doxytag: member="seqmid.h::snd_seq_create_simple_port" ref="ge399e1fd02759dd7ac143ecb774fce12" args="(snd_seq_t *seq, const char *name, unsigned int caps, unsigned int type)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_create_simple_port </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"> <em>caps</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int </td>
<td class="paramname"> <em>type</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>the name of the port </td></tr>
<tr><td valign="top"></td><td valign="top"><em>caps</em> </td><td>capability bits </td></tr>
<tr><td valign="top"></td><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</dd></dl>
Creates a port with the given capability and type bits.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#ge670627e559f1c7892aa30df8febf722">snd_seq_create_port()</a>, <a class="el" href="group___seq_middle.html#g6b8748467dd79245cdefb9960cb17440">snd_seq_delete_simple_port()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g6b8748467dd79245cdefb9960cb17440"></a><!-- doxytag: member="seqmid.h::snd_seq_delete_simple_port" ref="g6b8748467dd79245cdefb9960cb17440" args="(snd_seq_t *seq, int port)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_delete_simple_port </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>port</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
delete the port
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><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</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_port.html#gaa13a372738845ee9fe66ca8c7147611">snd_seq_delete_port()</a>, <a class="el" href="group___seq_middle.html#ge399e1fd02759dd7ac143ecb774fce12">snd_seq_create_simple_port()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g79ad32b175138707cf2ca9a89cd82d89"></a><!-- doxytag: member="seqmid.h::snd_seq_disconnect_from" ref="g79ad32b175138707cf2ca9a89cd82d89" args="(snd_seq_t *seq, int my_port, int src_client, int src_port)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_disconnect_from </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>myport</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>src_client</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>src_port</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
simple disconnection
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>myport</em> </td><td>the port id as receiver </td></tr>
<tr><td valign="top"></td><td valign="top"><em>src_client</em> </td><td>sender client id </td></tr>
<tr><td valign="top"></td><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</dd></dl>
Remove connection from the given sender client:port to the given destination port in the current client.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_subscribe.html#gd84b1d39dc422529fe8637baf388bf8e">snd_seq_unsubscribe_port()</a>, <a class="el" href="group___seq_middle.html#g71a443d8532881c60b42d00abe384408">snd_seq_connect_from()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g8b26d2b152bfff0e330613cef113a36f"></a><!-- doxytag: member="seqmid.h::snd_seq_disconnect_to" ref="g8b26d2b152bfff0e330613cef113a36f" args="(snd_seq_t *seq, int my_port, int dest_client, int dest_port)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_disconnect_to </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>myport</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>dest_client</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>dest_port</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
simple disconnection
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>myport</em> </td><td>the port id as sender </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dest_client</em> </td><td>destination client id </td></tr>
<tr><td valign="top"></td><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</dd></dl>
Remove connection from the given sender client:port to the given destination port in the current client.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_subscribe.html#gd84b1d39dc422529fe8637baf388bf8e">snd_seq_unsubscribe_port()</a>, <a class="el" href="group___seq_middle.html#g26bd68161e674223ad42b8341a939222">snd_seq_connect_to()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g918fb2ef3d0959a048ab054f39339906"></a><!-- doxytag: member="seqmid.h::snd_seq_parse_address" ref="g918fb2ef3d0959a048ab054f39339906" args="(snd_seq_t *seq, snd_seq_addr_t *addr, const char *str)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_parse_address </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structsnd__seq__addr.html">snd_seq_addr_t</a> * </td>
<td class="paramname"> <em>addr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>arg</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>the address pointer to be returned </td></tr>
<tr><td valign="top"></td><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</dd></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.
</div>
</div><p>
<a class="anchor" name="gfa702330035da142eb564e26af2d8ed4"></a><!-- doxytag: member="seqmid.h::snd_seq_reset_pool_input" ref="gfa702330035da142eb564e26af2d8ed4" args="(snd_seq_t *seq)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_reset_pool_input </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><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</dd></dl>
So far, this works ideically like <a class="el" href="group___seq_event.html#g0807f883d4987b0639914026c5af4821">snd_seq_drop_input()</a>.
</div>
</div><p>
<a class="anchor" name="g749ba4733d7ecd0f4b0a67dffc87379b"></a><!-- doxytag: member="seqmid.h::snd_seq_reset_pool_output" ref="g749ba4733d7ecd0f4b0a67dffc87379b" args="(snd_seq_t *seq)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_reset_pool_output </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><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</dd></dl>
So far, this works ideically like <a class="el" href="group___seq_event.html#gd9263162eeba3701b0abeeba4d4de932">snd_seq_drop_output()</a>.
</div>
</div><p>
<a class="anchor" name="gb2f548580770dd1fc98d205126c33ed8"></a><!-- doxytag: member="seqmid.h::snd_seq_set_client_event_filter" ref="gb2f548580770dd1fc98d205126c33ed8" args="(snd_seq_t *seq, int event_type)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_set_client_event_filter </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>event_type</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><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</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_client.html#ge71e5f995b84dc21ed7d5b108285a6eb">snd_seq_set_client_info()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="gb9d6b52fb5db04f741b9584b445ef1ce"></a><!-- doxytag: member="seqmid.h::snd_seq_set_client_name" ref="gb9d6b52fb5db04f741b9584b445ef1ce" args="(snd_seq_t *seq, const char *name)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_set_client_name </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>name</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
set client name
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><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</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_client.html#ge71e5f995b84dc21ed7d5b108285a6eb">snd_seq_set_client_info()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g85b71ed209823208ed117e02e1223772"></a><!-- doxytag: member="seqmid.h::snd_seq_set_client_pool_input" ref="g85b71ed209823208ed117e02e1223772" args="(snd_seq_t *seq, size_t size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_set_client_pool_input </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"> <em>size</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><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</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_client.html#g6254bca63eae9f0ecc2b9f02740333c2">snd_seq_set_client_pool()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="gf025c8f3a0257709c6acdcc372052ff8"></a><!-- doxytag: member="seqmid.h::snd_seq_set_client_pool_output" ref="gf025c8f3a0257709c6acdcc372052ff8" args="(snd_seq_t *seq, size_t size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_set_client_pool_output </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"> <em>size</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><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</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_client.html#g6254bca63eae9f0ecc2b9f02740333c2">snd_seq_set_client_pool()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g0bcd4061da4877c4bc9470dc5666609c"></a><!-- doxytag: member="seqmid.h::snd_seq_set_client_pool_output_room" ref="g0bcd4061da4877c4bc9470dc5666609c" args="(snd_seq_t *seq, size_t size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_set_client_pool_output_room </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"> <em>size</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<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"></td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
<tr><td valign="top"></td><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</dd></dl>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_client.html#g6254bca63eae9f0ecc2b9f02740333c2">snd_seq_set_client_pool()</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g56d46593604d507674abec6ca65ee845"></a><!-- doxytag: member="seqmid.h::snd_seq_sync_output_queue" ref="g56d46593604d507674abec6ca65ee845" args="(snd_seq_t *seq)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int snd_seq_sync_output_queue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
<td class="paramname"> <em>seq</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
wait until all events are processed
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><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</dd></dl>
This function waits until all events of this client are processed.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_event.html#g841a0cc485b82fd0b80c92274dfe36c0">snd_seq_drain_output()</a> </dd></dl>
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jan 20 22:42:10 2009 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"></a> 1.4.7 </small></address>
</body>
</html>