1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
3
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>ALSA project - the C library reference: Sequencer Middle Level Interface</title>
5
<link href="doxygen.css" rel="stylesheet" type="text/css">
6
<link href="tabs.css" rel="stylesheet" type="text/css"></head><body>
7
<!-- Generated by Doxygen 1.5.0 -->
10
<li><a href="index.html"><span>Main Page</span></a></li>
11
<li><a href="modules.html"><span>Modules</span></a></li>
12
<li><a href="annotated.html"><span>Data Structures</span></a></li>
13
<li><a href="files.html"><span>Files</span></a></li>
14
<li><a href="pages.html"><span>Related Pages</span></a></li>
15
<li><a href="examples.html"><span>Examples</span></a></li>
17
<h1>Sequencer Middle Level Interface<br>
19
[<a class="el" href="group___sequencer.html">MIDI Sequencer</a>]</small>
20
</h1><table border="0" cellpadding="0" cellspacing="0">
23
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
24
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
26
<tr><td class="mdescLeft"> </td><td class="mdescRight">initialize event record <a href="#g6ed1a615ac4c8f02832198ab04fa8f55"></a><br></td></tr>
27
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
29
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the tag for given event <a href="#ge89a11da3605b750815a4f4aaa43d211"></a><br></td></tr>
30
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
32
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the explicit destination <a href="#gb3f126483e71b08985f8d24b4b4d4d65"></a><br></td></tr>
33
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
35
<tr><td class="mdescLeft"> </td><td class="mdescRight">set broadcasting to subscribers <a href="#gd61b73ca763e011b23df35dc746ad760"></a><br></td></tr>
36
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
38
<tr><td class="mdescLeft"> </td><td class="mdescRight">set broadcasting to all clients/ports <a href="#g9e847d44970b9caf6d387903af1edc1f"></a><br></td></tr>
39
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
41
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the source port <a href="#gabdd5b232c8f306b4ced5eb7edf12844"></a><br></td></tr>
42
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
44
<tr><td class="mdescLeft"> </td><td class="mdescRight">set direct passing mode (without queued) <a href="#gdda452e0b4ea3b5f722795d015159388"></a><br></td></tr>
45
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
47
<tr><td class="mdescLeft"> </td><td class="mdescRight">set tick-scheduling mode on queue <a href="#gc52cfb42dc6be2f0ae70b1e8838f7f20"></a><br></td></tr>
48
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
50
<tr><td class="mdescLeft"> </td><td class="mdescRight">set real-time-scheduling mode on queue <a href="#g79b6a2a71dbb99e99178ac92010fab9f"></a><br></td></tr>
51
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
53
<tr><td class="mdescLeft"> </td><td class="mdescRight">set event priority <a href="#g5accb4512ba59d928d490bd0d3af0b1b"></a><br></td></tr>
54
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
56
<tr><td class="mdescLeft"> </td><td class="mdescRight">set fixed data <a href="#gc63201166b9f4c557ab36d42b0a1edba"></a><br></td></tr>
57
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
59
<tr><td class="mdescLeft"> </td><td class="mdescRight">set variable data <a href="#gf0bc5a0eddabf0d6ae0916388bcc27d5"></a><br></td></tr>
60
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
62
<tr><td class="mdescLeft"> </td><td class="mdescRight">set varusr data <a href="#g7e2d5a6856cf1602274f11faca0ae031"></a><br></td></tr>
63
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
65
<tr><td class="mdescLeft"> </td><td class="mdescRight">set queue controls <a href="#g582281c5cd25e2fd41a6b5e64c26a66b"></a><br></td></tr>
66
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
68
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the start queue event <a href="#g7b4719f97c41df8e821242ffeed21411"></a><br></td></tr>
69
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
71
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the stop queue event <a href="#g2d9cf241719b4616e24b6422fc204de6"></a><br></td></tr>
72
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
74
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the stop queue event <a href="#g76610ea2f6b0269bb982a74ecdfd5f46"></a><br></td></tr>
75
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
77
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the stop queue event <a href="#gc35ef96f503260f55c7aad4edd61660f"></a><br></td></tr>
78
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
80
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the real-time position of a queue <a href="#gc6ea752f05647a800d8878b3021b534f"></a><br></td></tr>
81
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
83
<tr><td class="mdescLeft"> </td><td class="mdescRight">set the tick-time position of a queue <a href="#g383aab434971f7d6cce4dec127791953"></a><br></td></tr>
84
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
86
<tr><td class="mdescLeft"> </td><td class="mdescRight">start the specified queue <a href="#g3738c42a4ee922fe9a8edcf79c991ee3"></a><br></td></tr>
87
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
89
<tr><td class="mdescLeft"> </td><td class="mdescRight">stop the specified queue <a href="#g703da053ca7605e25401b4ab822d8334"></a><br></td></tr>
90
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
92
<tr><td class="mdescLeft"> </td><td class="mdescRight">continue the specified queue <a href="#gea755c06c0789c7427430bef4b57a4fe"></a><br></td></tr>
93
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
95
<tr><td class="mdescLeft"> </td><td class="mdescRight">change the tempo of the specified queue <a href="#gd995d31715bcc1de6c81e3f4b8f8e9e7"></a><br></td></tr>
96
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
98
<tr><td class="mdescLeft"> </td><td class="mdescRight">set note event <a href="#gc74d4a02e90510e06dc8a1b6c177ab7e"></a><br></td></tr>
99
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
101
<tr><td class="mdescLeft"> </td><td class="mdescRight">set note-on event <a href="#g033efcda9b91854b4543987e4068d52e"></a><br></td></tr>
102
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
104
<tr><td class="mdescLeft"> </td><td class="mdescRight">set note-off event <a href="#g74c4e0f98dd057e0f44aa20fb3e1461b"></a><br></td></tr>
105
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
107
<tr><td class="mdescLeft"> </td><td class="mdescRight">set key-pressure event <a href="#g2681e074d480974ac8dcf7fe7b03c131"></a><br></td></tr>
108
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
110
<tr><td class="mdescLeft"> </td><td class="mdescRight">set MIDI controller event <a href="#g5a992c1e250a207faa26f8a9de4ee684"></a><br></td></tr>
111
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
113
<tr><td class="mdescLeft"> </td><td class="mdescRight">set program change event <a href="#gf4250b8092836cdf73c604afa514a81f"></a><br></td></tr>
114
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
116
<tr><td class="mdescLeft"> </td><td class="mdescRight">set pitch-bend event <a href="#gfc2c8b79ee7f9673dc04a237a13246f2"></a><br></td></tr>
117
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
119
<tr><td class="mdescLeft"> </td><td class="mdescRight">set channel pressure event <a href="#g74fb0ab38361c213daaaf94d4c919b09"></a><br></td></tr>
120
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
122
<tr><td class="mdescLeft"> </td><td class="mdescRight">set sysex event <a href="#g49f76b30271be92dd28800753e57df34"></a><br></td></tr>
123
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
124
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
126
<tr><td class="mdescLeft"> </td><td class="mdescRight">queue controls - start/stop/continue <a href="#ge067d7c822a0980e79f13d4cc3f778a0"></a><br></td></tr>
127
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
129
<tr><td class="mdescLeft"> </td><td class="mdescRight">create a port - simple version <a href="#ge399e1fd02759dd7ac143ecb774fce12"></a><br></td></tr>
130
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
132
<tr><td class="mdescLeft"> </td><td class="mdescRight">delete the port <a href="#g6b8748467dd79245cdefb9960cb17440"></a><br></td></tr>
133
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
135
<tr><td class="mdescLeft"> </td><td class="mdescRight">simple subscription (w/o exclusive & time conversion) <a href="#g71a443d8532881c60b42d00abe384408"></a><br></td></tr>
136
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
138
<tr><td class="mdescLeft"> </td><td class="mdescRight">simple subscription (w/o exclusive & time conversion) <a href="#g26bd68161e674223ad42b8341a939222"></a><br></td></tr>
139
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
141
<tr><td class="mdescLeft"> </td><td class="mdescRight">simple disconnection <a href="#g79ad32b175138707cf2ca9a89cd82d89"></a><br></td></tr>
142
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
144
<tr><td class="mdescLeft"> </td><td class="mdescRight">simple disconnection <a href="#g8b26d2b152bfff0e330613cef113a36f"></a><br></td></tr>
145
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
147
<tr><td class="mdescLeft"> </td><td class="mdescRight">set client name <a href="#gb9d6b52fb5db04f741b9584b445ef1ce"></a><br></td></tr>
148
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
150
<tr><td class="mdescLeft"> </td><td class="mdescRight">add client event filter <a href="#gb2f548580770dd1fc98d205126c33ed8"></a><br></td></tr>
151
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
153
<tr><td class="mdescLeft"> </td><td class="mdescRight">change the output pool size of the given client <a href="#gf025c8f3a0257709c6acdcc372052ff8"></a><br></td></tr>
154
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
156
<tr><td class="mdescLeft"> </td><td class="mdescRight">change the output room size of the given client <a href="#g0bcd4061da4877c4bc9470dc5666609c"></a><br></td></tr>
157
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
159
<tr><td class="mdescLeft"> </td><td class="mdescRight">change the input pool size of the given client <a href="#g85b71ed209823208ed117e02e1223772"></a><br></td></tr>
160
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
162
<tr><td class="mdescLeft"> </td><td class="mdescRight">wait until all events are processed <a href="#g56d46593604d507674abec6ca65ee845"></a><br></td></tr>
163
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
165
<tr><td class="mdescLeft"> </td><td class="mdescRight">parse the given string and get the sequencer address <a href="#g918fb2ef3d0959a048ab054f39339906"></a><br></td></tr>
166
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
168
<tr><td class="mdescLeft"> </td><td class="mdescRight">reset client output pool <a href="#g749ba4733d7ecd0f4b0a67dffc87379b"></a><br></td></tr>
169
<tr><td class="memItemLeft" align="right" nowrap="nowrap" 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>
171
<tr><td class="mdescLeft"> </td><td class="mdescRight">reset client input pool <a href="#gfa702330035da142eb564e26af2d8ed4"></a><br></td></tr>
173
<hr><a name="_details"></a><h2>Detailed Description</h2>
174
Sequencer Middle Level Interface <hr><h2>Define Documentation</h2>
175
<a class="anchor" name="gd995d31715bcc1de6c81e3f4b8f8e9e7"></a><!-- doxytag: member="seqmid.h::snd_seq_change_queue_tempo" ref="gd995d31715bcc1de6c81e3f4b8f8e9e7" args="(seq, q, tempo, ev)" -->
176
<div class="memitem">
177
<div class="memproto">
178
<table class="memname">
180
<td class="memname">#define snd_seq_change_queue_tempo </td>
182
<td class="paramtype">seq, </td></tr><tr>
183
<td class="paramkey"><br>
187
<td class="paramtype">q, </td></tr><tr>
188
<td class="paramkey"><br>
192
<td class="paramtype">tempo, </td></tr><tr>
193
<td class="paramkey"><br>
197
<td class="paramtype">ev </td>
198
<td class="paramname"> <br>
200
<td> ) </td>
201
<td width="100%"> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_TEMPO, tempo, ev)</td>
208
change the tempo of the specified queue
210
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
211
<table border="0" cellpadding="0" cellspacing="2">
212
<tbody><tr><td valign="top"><br>
213
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
214
<tr><td valign="top"><br>
215
</td><td valign="top"><em>q</em> </td><td>queue id </td></tr>
216
<tr><td valign="top"><br>
217
</td><td valign="top"><em>tempo</em> </td><td>the new tempo value </td></tr>
218
<tr><td valign="top"><br>
219
</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>
225
<a class="anchor" name="gea755c06c0789c7427430bef4b57a4fe"></a><!-- doxytag: member="seqmid.h::snd_seq_continue_queue" ref="gea755c06c0789c7427430bef4b57a4fe" args="(seq, q, ev)" -->
226
</p><div class="memitem">
227
<div class="memproto">
228
<table class="memname">
230
<td class="memname">#define snd_seq_continue_queue </td>
232
<td class="paramtype">seq, </td></tr><tr>
233
<td class="paramkey"><br>
237
<td class="paramtype">q, </td></tr><tr>
238
<td class="paramkey"><br>
242
<td class="paramtype">ev </td>
243
<td class="paramname"> <br>
245
<td> ) </td>
246
<td width="100%"> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_CONTINUE, 0, ev)</td>
253
continue the specified queue
255
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
256
<table border="0" cellpadding="0" cellspacing="2">
257
<tbody><tr><td valign="top"><br>
258
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
259
<tr><td valign="top"><br>
260
</td><td valign="top"><em>q</em> </td><td>queue id to continue </td></tr>
261
<tr><td valign="top"><br>
262
</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>
268
<a class="anchor" name="g6ed1a615ac4c8f02832198ab04fa8f55"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_clear" ref="g6ed1a615ac4c8f02832198ab04fa8f55" args="(ev)" -->
269
</p><div class="memitem">
270
<div class="memproto">
271
<table class="memname">
273
<td class="memname">#define snd_seq_ev_clear </td>
275
<td class="paramtype">ev </td>
276
<td class="paramname"> <br>
278
<td> ) </td>
279
<td width="100%"> memset(ev, 0, sizeof(<a class="el" href="structsnd__seq__event.html">snd_seq_event_t</a>))</td>
286
initialize event record
288
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
289
<table border="0" cellpadding="0" cellspacing="2">
290
<tbody><tr><td valign="top"><br>
291
</td><td valign="top"><em>ev</em> </td><td>event record pointer</td></tr>
294
This macro clears the given event record pointer to the default status.
297
<a class="anchor" name="g79b6a2a71dbb99e99178ac92010fab9f"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_schedule_real" ref="g79b6a2a71dbb99e99178ac92010fab9f" args="(ev, q, relative, rtime)" -->
298
</p><div class="memitem">
299
<div class="memproto">
300
<table class="memname">
302
<td class="memname">#define snd_seq_ev_schedule_real </td>
304
<td class="paramtype">ev, </td></tr><tr>
305
<td class="paramkey"><br>
309
<td class="paramtype">q, </td></tr><tr>
310
<td class="paramkey"><br>
314
<td class="paramtype">relative, </td></tr><tr>
315
<td class="paramkey"><br>
319
<td class="paramtype">rtime </td>
320
<td class="paramname"> <br>
322
<td> ) </td>
323
<td width="100%"><br>
331
<b>Value:</b></p><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>),\<br> (ev)->flags |= <a class="code" href="group___seq_events.html#gab9f7ef74f95e9addbaedc58579e5a20">SND_SEQ_TIME_STAMP_REAL</a>,\<br> (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>,\<br> (ev)->time.time = *(rtime),\<br> (ev)->queue = (q))<br></pre></div>set real-time-scheduling mode on queue
333
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
334
<table border="0" cellpadding="0" cellspacing="2">
335
<tbody><tr><td valign="top"><br>
336
</td><td valign="top"><em>ev</em> </td><td>event instance </td></tr>
337
<tr><td valign="top"><br>
338
</td><td valign="top"><em>q</em> </td><td>queue id to schedule </td></tr>
339
<tr><td valign="top"><br>
340
</td><td valign="top"><em>relative</em> </td><td>relative time-stamp if non-zero </td></tr>
341
<tr><td valign="top"><br>
342
</td><td valign="top"><em>rtime</em> </td><td>time-stamp to be delivered</td></tr>
345
This macro sets the scheduling of the event in the realtime mode.<p>
346
</p><dl class="see" compact="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>
350
<a class="anchor" name="gc52cfb42dc6be2f0ae70b1e8838f7f20"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_schedule_tick" ref="gc52cfb42dc6be2f0ae70b1e8838f7f20" args="(ev, q, relative, ttick)" -->
351
</p><div class="memitem">
352
<div class="memproto">
353
<table class="memname">
355
<td class="memname">#define snd_seq_ev_schedule_tick </td>
357
<td class="paramtype">ev, </td></tr><tr>
358
<td class="paramkey"><br>
362
<td class="paramtype">q, </td></tr><tr>
363
<td class="paramkey"><br>
367
<td class="paramtype">relative, </td></tr><tr>
368
<td class="paramkey"><br>
372
<td class="paramtype">ttick </td>
373
<td class="paramname"> <br>
375
<td> ) </td>
376
<td width="100%"><br>
384
<b>Value:</b></p><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>),\<br> (ev)->flags |= <a class="code" href="group___seq_events.html#gab0792a8f7d240d15b7a64fc2bb6de4e">SND_SEQ_TIME_STAMP_TICK</a>,\<br> (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>,\<br> (ev)->time.tick = (ttick),\<br> (ev)->queue = (q))<br></pre></div>set tick-scheduling mode on queue
386
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
387
<table border="0" cellpadding="0" cellspacing="2">
388
<tbody><tr><td valign="top"><br>
389
</td><td valign="top"><em>ev</em> </td><td>event instance </td></tr>
390
<tr><td valign="top"><br>
391
</td><td valign="top"><em>q</em> </td><td>queue id to schedule </td></tr>
392
<tr><td valign="top"><br>
393
</td><td valign="top"><em>relative</em> </td><td>relative time-stamp if non-zero </td></tr>
394
<tr><td valign="top"><br>
395
</td><td valign="top"><em>ttick</em> </td><td>tick time-stamp to be delivered</td></tr>
398
This macro sets the scheduling of the event in the MIDI tick mode.<p>
399
</p><dl class="see" compact="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>
403
<a class="anchor" name="g9e847d44970b9caf6d387903af1edc1f"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_broadcast" ref="g9e847d44970b9caf6d387903af1edc1f" args="(ev)" -->
404
</p><div class="memitem">
405
<div class="memproto">
406
<table class="memname">
408
<td class="memname">#define snd_seq_ev_set_broadcast </td>
410
<td class="paramtype">ev </td>
411
<td class="paramname"> <br>
413
<td> ) </td>
414
<td width="100%"><br>
422
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->dest.client = <a class="code" href="group___sequencer.html#g82b2252edf13b4bac9b46e336f507f2e">SND_SEQ_ADDRESS_BROADCAST</a>,\<br> (ev)->dest.port = <a class="code" href="group___sequencer.html#g82b2252edf13b4bac9b46e336f507f2e">SND_SEQ_ADDRESS_BROADCAST</a>)<br></pre></div>set broadcasting to all clients/ports
424
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
425
<table border="0" cellpadding="0" cellspacing="2">
426
<tbody><tr><td valign="top"><br>
427
</td><td valign="top"><em>ev</em> </td><td>event record</td></tr>
430
This macro sets the destination as the broadcasting.<p>
431
</p><dl class="see" compact="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>
435
<a class="anchor" name="g74fb0ab38361c213daaaf94d4c919b09"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_chanpress" ref="g74fb0ab38361c213daaaf94d4c919b09" args="(ev, ch, val)" -->
436
</p><div class="memitem">
437
<div class="memproto">
438
<table class="memname">
440
<td class="memname">#define snd_seq_ev_set_chanpress </td>
442
<td class="paramtype">ev, </td></tr><tr>
443
<td class="paramkey"><br>
447
<td class="paramtype">ch, </td></tr><tr>
448
<td class="paramkey"><br>
452
<td class="paramtype">val </td>
453
<td class="paramname"> <br>
455
<td> ) </td>
456
<td width="100%"><br>
464
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cda21160b17a1a0eb28c885f8846f3cd0ff">SND_SEQ_EVENT_CHANPRESS</a>,\<br> <a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">snd_seq_ev_set_fixed</a>(ev),\<br> (ev)->data.control.channel = (ch),\<br> (ev)->data.control.value = (val))<br></pre></div>set channel pressure event
466
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
467
<table border="0" cellpadding="0" cellspacing="2">
468
<tbody><tr><td valign="top"><br>
469
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
470
<tr><td valign="top"><br>
471
</td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
472
<tr><td valign="top"><br>
473
</td><td valign="top"><em>val</em> </td><td>channel pressure value </td></tr>
479
<a class="anchor" name="g5a992c1e250a207faa26f8a9de4ee684"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_controller" ref="g5a992c1e250a207faa26f8a9de4ee684" args="(ev, ch, cc, val)" -->
480
</p><div class="memitem">
481
<div class="memproto">
482
<table class="memname">
484
<td class="memname">#define snd_seq_ev_set_controller </td>
486
<td class="paramtype">ev, </td></tr><tr>
487
<td class="paramkey"><br>
491
<td class="paramtype">ch, </td></tr><tr>
492
<td class="paramkey"><br>
496
<td class="paramtype">cc, </td></tr><tr>
497
<td class="paramkey"><br>
501
<td class="paramtype">val </td>
502
<td class="paramname"> <br>
504
<td> ) </td>
505
<td width="100%"><br>
513
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cda04f700c22fc344880a56f3b57af46b02">SND_SEQ_EVENT_CONTROLLER</a>,\<br> <a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">snd_seq_ev_set_fixed</a>(ev),\<br> (ev)->data.control.channel = (ch),\<br> (ev)->data.control.param = (cc),\<br> (ev)->data.control.value = (val))<br></pre></div>set MIDI controller event
515
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
516
<table border="0" cellpadding="0" cellspacing="2">
517
<tbody><tr><td valign="top"><br>
518
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
519
<tr><td valign="top"><br>
520
</td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
521
<tr><td valign="top"><br>
522
</td><td valign="top"><em>cc</em> </td><td>controller number </td></tr>
523
<tr><td valign="top"><br>
524
</td><td valign="top"><em>val</em> </td><td>control value </td></tr>
530
<a class="anchor" name="gb3f126483e71b08985f8d24b4b4d4d65"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_dest" ref="gb3f126483e71b08985f8d24b4b4d4d65" args="(ev, c, p)" -->
531
</p><div class="memitem">
532
<div class="memproto">
533
<table class="memname">
535
<td class="memname">#define snd_seq_ev_set_dest </td>
537
<td class="paramtype">ev, </td></tr><tr>
538
<td class="paramkey"><br>
542
<td class="paramtype">c, </td></tr><tr>
543
<td class="paramkey"><br>
547
<td class="paramtype">p </td>
548
<td class="paramname"> <br>
550
<td> ) </td>
551
<td width="100%"> ((ev)->dest.client = (c), (ev)->dest.port = (p))</td>
558
set the explicit destination
560
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
561
<table border="0" cellpadding="0" cellspacing="2">
562
<tbody><tr><td valign="top"><br>
563
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
564
<tr><td valign="top"><br>
565
</td><td valign="top"><em>c</em> </td><td>destination client id </td></tr>
566
<tr><td valign="top"><br>
567
</td><td valign="top"><em>p</em> </td><td>destination port id</td></tr>
570
This macro sets the client and port id numbers to the given event record.<p>
571
</p><dl class="see" compact="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>
575
<a class="anchor" name="gdda452e0b4ea3b5f722795d015159388"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_direct" ref="gdda452e0b4ea3b5f722795d015159388" args="(ev)" -->
576
</p><div class="memitem">
577
<div class="memproto">
578
<table class="memname">
580
<td class="memname">#define snd_seq_ev_set_direct </td>
582
<td class="paramtype">ev </td>
583
<td class="paramname"> <br>
585
<td> ) </td>
586
<td width="100%"> ((ev)->queue = SND_SEQ_QUEUE_DIRECT)</td>
593
set direct passing mode (without queued)
595
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
596
<table border="0" cellpadding="0" cellspacing="2">
597
<tbody><tr><td valign="top"><br>
598
</td><td valign="top"><em>ev</em> </td><td>event instance</td></tr>
601
This macro sets the event to the direct passing mode to be delivered immediately without queueing.<p>
602
</p><dl class="see" compact="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>
606
<a class="anchor" name="gc63201166b9f4c557ab36d42b0a1edba"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_fixed" ref="gc63201166b9f4c557ab36d42b0a1edba" args="(ev)" -->
607
</p><div class="memitem">
608
<div class="memproto">
609
<table class="memname">
611
<td class="memname">#define snd_seq_ev_set_fixed </td>
613
<td class="paramtype">ev </td>
614
<td class="paramname"> <br>
616
<td> ) </td>
617
<td width="100%"><br>
625
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->flags &= ~<a class="code" href="group___seq_events.html#g61d27929db71c8d9b75551c627fc3526">SND_SEQ_EVENT_LENGTH_MASK</a>,\<br> (ev)->flags |= <a class="code" href="group___seq_events.html#ga35d48f57eadbbf478040cae8fdfb3bc">SND_SEQ_EVENT_LENGTH_FIXED</a>)<br></pre></div>set fixed data
627
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
628
<table border="0" cellpadding="0" cellspacing="2">
629
<tbody><tr><td valign="top"><br>
630
</td><td valign="top"><em>ev</em> </td><td>event instance</td></tr>
633
Sets the event length mode as fixed size.<p>
634
</p><dl class="see" compact="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>
638
<a class="anchor" name="g2681e074d480974ac8dcf7fe7b03c131"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_keypress" ref="g2681e074d480974ac8dcf7fe7b03c131" args="(ev, ch, key, vel)" -->
639
</p><div class="memitem">
640
<div class="memproto">
641
<table class="memname">
643
<td class="memname">#define snd_seq_ev_set_keypress </td>
645
<td class="paramtype">ev, </td></tr><tr>
646
<td class="paramkey"><br>
650
<td class="paramtype">ch, </td></tr><tr>
651
<td class="paramkey"><br>
655
<td class="paramtype">key, </td></tr><tr>
656
<td class="paramkey"><br>
660
<td class="paramtype">vel </td>
661
<td class="paramname"> <br>
663
<td> ) </td>
664
<td width="100%"><br>
672
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cda04b77729462837ce15cebb776365b311">SND_SEQ_EVENT_KEYPRESS</a>,\<br> <a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">snd_seq_ev_set_fixed</a>(ev),\<br> (ev)->data.note.channel = (ch),\<br> (ev)->data.note.note = (key),\<br> (ev)->data.note.velocity = (vel))<br></pre></div>set key-pressure event
674
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
675
<table border="0" cellpadding="0" cellspacing="2">
676
<tbody><tr><td valign="top"><br>
677
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
678
<tr><td valign="top"><br>
679
</td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
680
<tr><td valign="top"><br>
681
</td><td valign="top"><em>key</em> </td><td>note key </td></tr>
682
<tr><td valign="top"><br>
683
</td><td valign="top"><em>vel</em> </td><td>velocity </td></tr>
689
<a class="anchor" name="gc74d4a02e90510e06dc8a1b6c177ab7e"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_note" ref="gc74d4a02e90510e06dc8a1b6c177ab7e" args="(ev, ch, key, vel, dur)" -->
690
</p><div class="memitem">
691
<div class="memproto">
692
<table class="memname">
694
<td class="memname">#define snd_seq_ev_set_note </td>
696
<td class="paramtype">ev, </td></tr><tr>
697
<td class="paramkey"><br>
701
<td class="paramtype">ch, </td></tr><tr>
702
<td class="paramkey"><br>
706
<td class="paramtype">key, </td></tr><tr>
707
<td class="paramkey"><br>
711
<td class="paramtype">vel, </td></tr><tr>
712
<td class="paramkey"><br>
716
<td class="paramtype">dur </td>
717
<td class="paramname"> <br>
719
<td> ) </td>
720
<td width="100%"><br>
728
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cda025985f07d1b0b2c8583b91dcb893299">SND_SEQ_EVENT_NOTE</a>,\<br> <a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">snd_seq_ev_set_fixed</a>(ev),\<br> (ev)->data.note.channel = (ch),\<br> (ev)->data.note.note = (key),\<br> (ev)->data.note.velocity = (vel),\<br> (ev)->data.note.duration = (dur))<br></pre></div>set note event
730
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
731
<table border="0" cellpadding="0" cellspacing="2">
732
<tbody><tr><td valign="top"><br>
733
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
734
<tr><td valign="top"><br>
735
</td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
736
<tr><td valign="top"><br>
737
</td><td valign="top"><em>key</em> </td><td>note key </td></tr>
738
<tr><td valign="top"><br>
739
</td><td valign="top"><em>vel</em> </td><td>velocity </td></tr>
740
<tr><td valign="top"><br>
741
</td><td valign="top"><em>dur</em> </td><td>duration (in tick or msec) </td></tr>
747
<a class="anchor" name="g74c4e0f98dd057e0f44aa20fb3e1461b"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_noteoff" ref="g74c4e0f98dd057e0f44aa20fb3e1461b" args="(ev, ch, key, vel)" -->
748
</p><div class="memitem">
749
<div class="memproto">
750
<table class="memname">
752
<td class="memname">#define snd_seq_ev_set_noteoff </td>
754
<td class="paramtype">ev, </td></tr><tr>
755
<td class="paramkey"><br>
759
<td class="paramtype">ch, </td></tr><tr>
760
<td class="paramkey"><br>
764
<td class="paramtype">key, </td></tr><tr>
765
<td class="paramkey"><br>
769
<td class="paramtype">vel </td>
770
<td class="paramname"> <br>
772
<td> ) </td>
773
<td width="100%"><br>
781
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cda2025ebf83f70a67393465c232f30d49e">SND_SEQ_EVENT_NOTEOFF</a>,\<br> <a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">snd_seq_ev_set_fixed</a>(ev),\<br> (ev)->data.note.channel = (ch),\<br> (ev)->data.note.note = (key),\<br> (ev)->data.note.velocity = (vel))<br></pre></div>set note-off event
783
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
784
<table border="0" cellpadding="0" cellspacing="2">
785
<tbody><tr><td valign="top"><br>
786
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
787
<tr><td valign="top"><br>
788
</td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
789
<tr><td valign="top"><br>
790
</td><td valign="top"><em>key</em> </td><td>note key </td></tr>
791
<tr><td valign="top"><br>
792
</td><td valign="top"><em>vel</em> </td><td>velocity </td></tr>
798
<a class="anchor" name="g033efcda9b91854b4543987e4068d52e"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_noteon" ref="g033efcda9b91854b4543987e4068d52e" args="(ev, ch, key, vel)" -->
799
</p><div class="memitem">
800
<div class="memproto">
801
<table class="memname">
803
<td class="memname">#define snd_seq_ev_set_noteon </td>
805
<td class="paramtype">ev, </td></tr><tr>
806
<td class="paramkey"><br>
810
<td class="paramtype">ch, </td></tr><tr>
811
<td class="paramkey"><br>
815
<td class="paramtype">key, </td></tr><tr>
816
<td class="paramkey"><br>
820
<td class="paramtype">vel </td>
821
<td class="paramname"> <br>
823
<td> ) </td>
824
<td width="100%"><br>
832
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cda943ec11ad6722e1d083f32ca53cba973">SND_SEQ_EVENT_NOTEON</a>,\<br> <a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">snd_seq_ev_set_fixed</a>(ev),\<br> (ev)->data.note.channel = (ch),\<br> (ev)->data.note.note = (key),\<br> (ev)->data.note.velocity = (vel))<br></pre></div>set note-on event
834
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
835
<table border="0" cellpadding="0" cellspacing="2">
836
<tbody><tr><td valign="top"><br>
837
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
838
<tr><td valign="top"><br>
839
</td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
840
<tr><td valign="top"><br>
841
</td><td valign="top"><em>key</em> </td><td>note key </td></tr>
842
<tr><td valign="top"><br>
843
</td><td valign="top"><em>vel</em> </td><td>velocity </td></tr>
849
<a class="anchor" name="gf4250b8092836cdf73c604afa514a81f"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_pgmchange" ref="gf4250b8092836cdf73c604afa514a81f" args="(ev, ch, val)" -->
850
</p><div class="memitem">
851
<div class="memproto">
852
<table class="memname">
854
<td class="memname">#define snd_seq_ev_set_pgmchange </td>
856
<td class="paramtype">ev, </td></tr><tr>
857
<td class="paramkey"><br>
861
<td class="paramtype">ch, </td></tr><tr>
862
<td class="paramkey"><br>
866
<td class="paramtype">val </td>
867
<td class="paramname"> <br>
869
<td> ) </td>
870
<td width="100%"><br>
878
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cdacb7097f39cb1d1737bb5cce023694cdc">SND_SEQ_EVENT_PGMCHANGE</a>,\<br> <a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">snd_seq_ev_set_fixed</a>(ev),\<br> (ev)->data.control.channel = (ch),\<br> (ev)->data.control.value = (val))<br></pre></div>set program change event
880
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
881
<table border="0" cellpadding="0" cellspacing="2">
882
<tbody><tr><td valign="top"><br>
883
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
884
<tr><td valign="top"><br>
885
</td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
886
<tr><td valign="top"><br>
887
</td><td valign="top"><em>val</em> </td><td>program number </td></tr>
893
<a class="anchor" name="gfc2c8b79ee7f9673dc04a237a13246f2"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_pitchbend" ref="gfc2c8b79ee7f9673dc04a237a13246f2" args="(ev, ch, val)" -->
894
</p><div class="memitem">
895
<div class="memproto">
896
<table class="memname">
898
<td class="memname">#define snd_seq_ev_set_pitchbend </td>
900
<td class="paramtype">ev, </td></tr><tr>
901
<td class="paramkey"><br>
905
<td class="paramtype">ch, </td></tr><tr>
906
<td class="paramkey"><br>
910
<td class="paramtype">val </td>
911
<td class="paramname"> <br>
913
<td> ) </td>
914
<td width="100%"><br>
922
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cdae3461b1b18c218bdf2478aa68ef401b8">SND_SEQ_EVENT_PITCHBEND</a>,\<br> <a class="code" href="group___seq_middle.html#gc63201166b9f4c557ab36d42b0a1edba">snd_seq_ev_set_fixed</a>(ev),\<br> (ev)->data.control.channel = (ch),\<br> (ev)->data.control.value = (val))<br></pre></div>set pitch-bend event
924
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
925
<table border="0" cellpadding="0" cellspacing="2">
926
<tbody><tr><td valign="top"><br>
927
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
928
<tr><td valign="top"><br>
929
</td><td valign="top"><em>ch</em> </td><td>channel number </td></tr>
930
<tr><td valign="top"><br>
931
</td><td valign="top"><em>val</em> </td><td>pitch bend; zero centered from -8192 to 8191 </td></tr>
937
<a class="anchor" name="g5accb4512ba59d928d490bd0d3af0b1b"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_priority" ref="g5accb4512ba59d928d490bd0d3af0b1b" args="(ev, high_prior)" -->
938
</p><div class="memitem">
939
<div class="memproto">
940
<table class="memname">
942
<td class="memname">#define snd_seq_ev_set_priority </td>
944
<td class="paramtype">ev, </td></tr><tr>
945
<td class="paramkey"><br>
949
<td class="paramtype">high_prior </td>
950
<td class="paramname"> <br>
952
<td> ) </td>
953
<td width="100%"><br>
961
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->flags &= ~<a class="code" href="group___seq_events.html#g476d97dc9a6d356c29abbc06e192f47f">SND_SEQ_PRIORITY_MASK</a>,\<br> (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>)<br></pre></div>set event priority
963
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
964
<table border="0" cellpadding="0" cellspacing="2">
965
<tbody><tr><td valign="top"><br>
966
</td><td valign="top"><em>ev</em> </td><td>event instance </td></tr>
967
<tr><td valign="top"><br>
968
</td><td valign="top"><em>high_prior</em> </td><td>1 for high priority mode </td></tr>
974
<a class="anchor" name="g76610ea2f6b0269bb982a74ecdfd5f46"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_continue" ref="g76610ea2f6b0269bb982a74ecdfd5f46" args="(ev, q)" -->
975
</p><div class="memitem">
976
<div class="memproto">
977
<table class="memname">
979
<td class="memname">#define snd_seq_ev_set_queue_continue </td>
981
<td class="paramtype">ev, </td></tr><tr>
982
<td class="paramkey"><br>
986
<td class="paramtype">q </td>
987
<td class="paramname"> <br>
989
<td> ) </td>
990
<td width="100%"> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_CONTINUE, q, 0)</td>
997
set the stop queue event
999
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1000
<table border="0" cellpadding="0" cellspacing="2">
1001
<tbody><tr><td valign="top"><br>
1002
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
1003
<tr><td valign="top"><br>
1004
</td><td valign="top"><em>q</em> </td><td>queue id to continue</td></tr>
1007
<dl class="see" compact="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>
1011
<a class="anchor" name="g582281c5cd25e2fd41a6b5e64c26a66b"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_control" ref="g582281c5cd25e2fd41a6b5e64c26a66b" args="(ev, typ, q, val)" -->
1012
</p><div class="memitem">
1013
<div class="memproto">
1014
<table class="memname">
1016
<td class="memname">#define snd_seq_ev_set_queue_control </td>
1018
<td class="paramtype">ev, </td></tr><tr>
1019
<td class="paramkey"><br>
1023
<td class="paramtype">typ, </td></tr><tr>
1024
<td class="paramkey"><br>
1028
<td class="paramtype">q, </td></tr><tr>
1029
<td class="paramkey"><br>
1033
<td class="paramtype">val </td>
1034
<td class="paramname"> <br>
1036
<td> ) </td>
1037
<td width="100%"><br>
1042
<div class="memdoc">
1045
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->type = (typ),\<br> <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>),\<br> (ev)->data.queue.queue = (q),\<br> (ev)->data.queue.param.value = (val))<br></pre></div>set queue controls
1047
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1048
<table border="0" cellpadding="0" cellspacing="2">
1049
<tbody><tr><td valign="top"><br>
1050
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
1051
<tr><td valign="top"><br>
1052
</td><td valign="top"><em>typ</em> </td><td>event type </td></tr>
1053
<tr><td valign="top"><br>
1054
</td><td valign="top"><em>q</em> </td><td>queue id </td></tr>
1055
<tr><td valign="top"><br>
1056
</td><td valign="top"><em>val</em> </td><td>control value </td></tr>
1062
<a class="anchor" name="gc6ea752f05647a800d8878b3021b534f"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_pos_real" ref="gc6ea752f05647a800d8878b3021b534f" args="(ev, q, rtime)" -->
1063
</p><div class="memitem">
1064
<div class="memproto">
1065
<table class="memname">
1067
<td class="memname">#define snd_seq_ev_set_queue_pos_real </td>
1069
<td class="paramtype">ev, </td></tr><tr>
1070
<td class="paramkey"><br>
1074
<td class="paramtype">q, </td></tr><tr>
1075
<td class="paramkey"><br>
1079
<td class="paramtype">rtime </td>
1080
<td class="paramname"> <br>
1082
<td> ) </td>
1083
<td width="100%"><br>
1088
<div class="memdoc">
1091
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cdaca7b3c23a85db5f523a4c81ff79e19a8">SND_SEQ_EVENT_SETPOS_TIME</a>,\<br> <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>),\<br> (ev)->data.queue.queue = (q),\<br> (ev)->data.queue.param.time.time = *(rtime))<br></pre></div>set the real-time position of a queue
1093
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1094
<table border="0" cellpadding="0" cellspacing="2">
1095
<tbody><tr><td valign="top"><br>
1096
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
1097
<tr><td valign="top"><br>
1098
</td><td valign="top"><em>q</em> </td><td>queue id to change tempo </td></tr>
1099
<tr><td valign="top"><br>
1100
</td><td valign="top"><em>rtime</em> </td><td>the new real-time pointer </td></tr>
1106
<a class="anchor" name="g383aab434971f7d6cce4dec127791953"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_pos_tick" ref="g383aab434971f7d6cce4dec127791953" args="(ev, q, ttime)" -->
1107
</p><div class="memitem">
1108
<div class="memproto">
1109
<table class="memname">
1111
<td class="memname">#define snd_seq_ev_set_queue_pos_tick </td>
1113
<td class="paramtype">ev, </td></tr><tr>
1114
<td class="paramkey"><br>
1118
<td class="paramtype">q, </td></tr><tr>
1119
<td class="paramkey"><br>
1123
<td class="paramtype">ttime </td>
1124
<td class="paramname"> <br>
1126
<td> ) </td>
1127
<td width="100%"><br>
1132
<div class="memdoc">
1135
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cdaa41a09378e846a5d694f0a170c199a4f">SND_SEQ_EVENT_SETPOS_TICK</a>,\<br> <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>),\<br> (ev)->data.queue.queue = (q),\<br> (ev)->data.queue.param.time.tick = (ttime))<br></pre></div>set the tick-time position of a queue
1137
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1138
<table border="0" cellpadding="0" cellspacing="2">
1139
<tbody><tr><td valign="top"><br>
1140
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
1141
<tr><td valign="top"><br>
1142
</td><td valign="top"><em>q</em> </td><td>queue id to change tempo </td></tr>
1143
<tr><td valign="top"><br>
1144
</td><td valign="top"><em>ttime</em> </td><td>the new tick-time </td></tr>
1150
<a class="anchor" name="g7b4719f97c41df8e821242ffeed21411"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_start" ref="g7b4719f97c41df8e821242ffeed21411" args="(ev, q)" -->
1151
</p><div class="memitem">
1152
<div class="memproto">
1153
<table class="memname">
1155
<td class="memname">#define snd_seq_ev_set_queue_start </td>
1157
<td class="paramtype">ev, </td></tr><tr>
1158
<td class="paramkey"><br>
1162
<td class="paramtype">q </td>
1163
<td class="paramname"> <br>
1165
<td> ) </td>
1166
<td width="100%"> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_START, q, 0)</td>
1170
<div class="memdoc">
1173
set the start queue event
1175
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1176
<table border="0" cellpadding="0" cellspacing="2">
1177
<tbody><tr><td valign="top"><br>
1178
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
1179
<tr><td valign="top"><br>
1180
</td><td valign="top"><em>q</em> </td><td>queue id to start</td></tr>
1183
<dl class="see" compact="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>
1187
<a class="anchor" name="g2d9cf241719b4616e24b6422fc204de6"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_stop" ref="g2d9cf241719b4616e24b6422fc204de6" args="(ev, q)" -->
1188
</p><div class="memitem">
1189
<div class="memproto">
1190
<table class="memname">
1192
<td class="memname">#define snd_seq_ev_set_queue_stop </td>
1194
<td class="paramtype">ev, </td></tr><tr>
1195
<td class="paramkey"><br>
1199
<td class="paramtype">q </td>
1200
<td class="paramname"> <br>
1202
<td> ) </td>
1203
<td width="100%"> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_STOP, q, 0)</td>
1207
<div class="memdoc">
1210
set the stop queue event
1212
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1213
<table border="0" cellpadding="0" cellspacing="2">
1214
<tbody><tr><td valign="top"><br>
1215
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
1216
<tr><td valign="top"><br>
1217
</td><td valign="top"><em>q</em> </td><td>queue id to stop</td></tr>
1220
<dl class="see" compact="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>
1224
<a class="anchor" name="gc35ef96f503260f55c7aad4edd61660f"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_queue_tempo" ref="gc35ef96f503260f55c7aad4edd61660f" args="(ev, q, val)" -->
1225
</p><div class="memitem">
1226
<div class="memproto">
1227
<table class="memname">
1229
<td class="memname">#define snd_seq_ev_set_queue_tempo </td>
1231
<td class="paramtype">ev, </td></tr><tr>
1232
<td class="paramkey"><br>
1236
<td class="paramtype">q, </td></tr><tr>
1237
<td class="paramkey"><br>
1241
<td class="paramtype">val </td>
1242
<td class="paramname"> <br>
1244
<td> ) </td>
1245
<td width="100%"> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_TEMPO, q, val)</td>
1249
<div class="memdoc">
1252
set the stop queue event
1254
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1255
<table border="0" cellpadding="0" cellspacing="2">
1256
<tbody><tr><td valign="top"><br>
1257
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
1258
<tr><td valign="top"><br>
1259
</td><td valign="top"><em>q</em> </td><td>queue id to change tempo </td></tr>
1260
<tr><td valign="top"><br>
1261
</td><td valign="top"><em>val</em> </td><td>the new tempo value </td></tr>
1267
<a class="anchor" name="gabdd5b232c8f306b4ced5eb7edf12844"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_source" ref="gabdd5b232c8f306b4ced5eb7edf12844" args="(ev, p)" -->
1268
</p><div class="memitem">
1269
<div class="memproto">
1270
<table class="memname">
1272
<td class="memname">#define snd_seq_ev_set_source </td>
1274
<td class="paramtype">ev, </td></tr><tr>
1275
<td class="paramkey"><br>
1279
<td class="paramtype">p </td>
1280
<td class="paramname"> <br>
1282
<td> ) </td>
1283
<td width="100%"> ((ev)->source.port = (p))</td>
1287
<div class="memdoc">
1292
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1293
<table border="0" cellpadding="0" cellspacing="2">
1294
<tbody><tr><td valign="top"><br>
1295
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
1296
<tr><td valign="top"><br>
1297
</td><td valign="top"><em>p</em> </td><td>source port id</td></tr>
1300
This macro sets the source port id number.
1303
<a class="anchor" name="gd61b73ca763e011b23df35dc746ad760"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_subs" ref="gd61b73ca763e011b23df35dc746ad760" args="(ev)" -->
1304
</p><div class="memitem">
1305
<div class="memproto">
1306
<table class="memname">
1308
<td class="memname">#define snd_seq_ev_set_subs </td>
1310
<td class="paramtype">ev </td>
1311
<td class="paramname"> <br>
1313
<td> ) </td>
1314
<td width="100%"><br>
1319
<div class="memdoc">
1322
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->dest.client = <a class="code" href="group___sequencer.html#g6540f2d8e765175bb6f082648d1d12fb">SND_SEQ_ADDRESS_SUBSCRIBERS</a>,\<br> (ev)->dest.port = <a class="code" href="group___sequencer.html#g1f8b452b2c67c4aa992c519b8cbcc842">SND_SEQ_ADDRESS_UNKNOWN</a>)<br></pre></div>set broadcasting to subscribers
1324
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1325
<table border="0" cellpadding="0" cellspacing="2">
1326
<tbody><tr><td valign="top"><br>
1327
</td><td valign="top"><em>ev</em> </td><td>event record</td></tr>
1330
This macro sets the destination as the subscribers.<p>
1331
</p><dl class="see" compact="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>
1335
<a class="anchor" name="g49f76b30271be92dd28800753e57df34"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_sysex" ref="g49f76b30271be92dd28800753e57df34" args="(ev, datalen, dataptr)" -->
1336
</p><div class="memitem">
1337
<div class="memproto">
1338
<table class="memname">
1340
<td class="memname">#define snd_seq_ev_set_sysex </td>
1342
<td class="paramtype">ev, </td></tr><tr>
1343
<td class="paramkey"><br>
1347
<td class="paramtype">datalen, </td></tr><tr>
1348
<td class="paramkey"><br>
1352
<td class="paramtype">dataptr </td>
1353
<td class="paramname"> <br>
1355
<td> ) </td>
1356
<td width="100%"><br>
1361
<div class="memdoc">
1364
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->type = <a class="code" href="group___seq_events.html#gg644c72e4af4461703b3fe43a7dfa5cdaaca9f9f5841240dfe16f45125594668e">SND_SEQ_EVENT_SYSEX</a>,\<br> <a class="code" href="group___seq_middle.html#gf0bc5a0eddabf0d6ae0916388bcc27d5">snd_seq_ev_set_variable</a>(ev, datalen, dataptr))<br></pre></div>set sysex event
1366
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1367
<table border="0" cellpadding="0" cellspacing="2">
1368
<tbody><tr><td valign="top"><br>
1369
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
1370
<tr><td valign="top"><br>
1371
</td><td valign="top"><em>datalen</em> </td><td>length of sysex data </td></tr>
1372
<tr><td valign="top"><br>
1373
</td><td valign="top"><em>dataptr</em> </td><td>sysex data pointer</td></tr>
1376
the sysex data must contain the start byte 0xf0 and the end byte 0xf7.
1379
<a class="anchor" name="ge89a11da3605b750815a4f4aaa43d211"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_tag" ref="ge89a11da3605b750815a4f4aaa43d211" args="(ev, t)" -->
1380
</p><div class="memitem">
1381
<div class="memproto">
1382
<table class="memname">
1384
<td class="memname">#define snd_seq_ev_set_tag </td>
1386
<td class="paramtype">ev, </td></tr><tr>
1387
<td class="paramkey"><br>
1391
<td class="paramtype">t </td>
1392
<td class="paramname"> <br>
1394
<td> ) </td>
1395
<td width="100%"> ((ev)->tag = (t))</td>
1399
<div class="memdoc">
1402
set the tag for given event
1404
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1405
<table border="0" cellpadding="0" cellspacing="2">
1406
<tbody><tr><td valign="top"><br>
1407
</td><td valign="top"><em>ev</em> </td><td>event record </td></tr>
1408
<tr><td valign="top"><br>
1409
</td><td valign="top"><em>t</em> </td><td>event tag</td></tr>
1412
This macro sets the tag to the given event record.
1415
<a class="anchor" name="gf0bc5a0eddabf0d6ae0916388bcc27d5"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_variable" ref="gf0bc5a0eddabf0d6ae0916388bcc27d5" args="(ev, datalen, dataptr)" -->
1416
</p><div class="memitem">
1417
<div class="memproto">
1418
<table class="memname">
1420
<td class="memname">#define snd_seq_ev_set_variable </td>
1422
<td class="paramtype">ev, </td></tr><tr>
1423
<td class="paramkey"><br>
1427
<td class="paramtype">datalen, </td></tr><tr>
1428
<td class="paramkey"><br>
1432
<td class="paramtype">dataptr </td>
1433
<td class="paramname"> <br>
1435
<td> ) </td>
1436
<td width="100%"><br>
1441
<div class="memdoc">
1444
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->flags &= ~<a class="code" href="group___seq_events.html#g61d27929db71c8d9b75551c627fc3526">SND_SEQ_EVENT_LENGTH_MASK</a>,\<br> (ev)->flags |= <a class="code" href="group___seq_events.html#gbf202534b3964e7d562a675314fce0b3">SND_SEQ_EVENT_LENGTH_VARIABLE</a>,\<br> (ev)->data.ext.len = (datalen),\<br> (ev)->data.ext.ptr = (dataptr))<br></pre></div>set variable data
1446
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1447
<table border="0" cellpadding="0" cellspacing="2">
1448
<tbody><tr><td valign="top"><br>
1449
</td><td valign="top"><em>ev</em> </td><td>event instance </td></tr>
1450
<tr><td valign="top"><br>
1451
</td><td valign="top"><em>datalen</em> </td><td>length of the external data </td></tr>
1452
<tr><td valign="top"><br>
1453
</td><td valign="top"><em>dataptr</em> </td><td>pointer of the external data</td></tr>
1456
Sets the event length mode as variable length and stores the data.<p>
1457
</p><dl class="see" compact="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>
1461
<a class="anchor" name="g7e2d5a6856cf1602274f11faca0ae031"></a><!-- doxytag: member="seqmid.h::snd_seq_ev_set_varusr" ref="g7e2d5a6856cf1602274f11faca0ae031" args="(ev, datalen, dataptr)" -->
1462
</p><div class="memitem">
1463
<div class="memproto">
1464
<table class="memname">
1466
<td class="memname">#define snd_seq_ev_set_varusr </td>
1468
<td class="paramtype">ev, </td></tr><tr>
1469
<td class="paramkey"><br>
1473
<td class="paramtype">datalen, </td></tr><tr>
1474
<td class="paramkey"><br>
1478
<td class="paramtype">dataptr </td>
1479
<td class="paramname"> <br>
1481
<td> ) </td>
1482
<td width="100%"><br>
1487
<div class="memdoc">
1490
<b>Value:</b></p><div class="fragment"><pre class="fragment">((ev)->flags &= ~<a class="code" href="group___seq_events.html#g61d27929db71c8d9b75551c627fc3526">SND_SEQ_EVENT_LENGTH_MASK</a>,\<br> (ev)->flags |= <a class="code" href="group___seq_events.html#gde32481e628a32f8f30399e5b0c5b28f">SND_SEQ_EVENT_LENGTH_VARUSR</a>,\<br> (ev)->data.ext.len = (datalen),\<br> (ev)->data.ext.ptr = (dataptr))<br></pre></div>set varusr data
1492
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1493
<table border="0" cellpadding="0" cellspacing="2">
1494
<tbody><tr><td valign="top"><br>
1495
</td><td valign="top"><em>ev</em> </td><td>event instance </td></tr>
1496
<tr><td valign="top"><br>
1497
</td><td valign="top"><em>datalen</em> </td><td>length of the external data </td></tr>
1498
<tr><td valign="top"><br>
1499
</td><td valign="top"><em>dataptr</em> </td><td>pointer of the external data</td></tr>
1502
Sets the event length mode as variable user-space data and stores the data.<p>
1503
</p><dl class="see" compact="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>
1507
<a class="anchor" name="g3738c42a4ee922fe9a8edcf79c991ee3"></a><!-- doxytag: member="seqmid.h::snd_seq_start_queue" ref="g3738c42a4ee922fe9a8edcf79c991ee3" args="(seq, q, ev)" -->
1508
</p><div class="memitem">
1509
<div class="memproto">
1510
<table class="memname">
1512
<td class="memname">#define snd_seq_start_queue </td>
1514
<td class="paramtype">seq, </td></tr><tr>
1515
<td class="paramkey"><br>
1519
<td class="paramtype">q, </td></tr><tr>
1520
<td class="paramkey"><br>
1524
<td class="paramtype">ev </td>
1525
<td class="paramname"> <br>
1527
<td> ) </td>
1528
<td width="100%"> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_START, 0, ev)</td>
1532
<div class="memdoc">
1535
start the specified queue
1537
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1538
<table border="0" cellpadding="0" cellspacing="2">
1539
<tbody><tr><td valign="top"><br>
1540
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
1541
<tr><td valign="top"><br>
1542
</td><td valign="top"><em>q</em> </td><td>queue id to start </td></tr>
1543
<tr><td valign="top"><br>
1544
</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>
1550
<a class="anchor" name="g703da053ca7605e25401b4ab822d8334"></a><!-- doxytag: member="seqmid.h::snd_seq_stop_queue" ref="g703da053ca7605e25401b4ab822d8334" args="(seq, q, ev)" -->
1551
</p><div class="memitem">
1552
<div class="memproto">
1553
<table class="memname">
1555
<td class="memname">#define snd_seq_stop_queue </td>
1557
<td class="paramtype">seq, </td></tr><tr>
1558
<td class="paramkey"><br>
1562
<td class="paramtype">q, </td></tr><tr>
1563
<td class="paramkey"><br>
1567
<td class="paramtype">ev </td>
1568
<td class="paramname"> <br>
1570
<td> ) </td>
1571
<td width="100%"> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_STOP, 0, ev)</td>
1575
<div class="memdoc">
1578
stop the specified queue
1580
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1581
<table border="0" cellpadding="0" cellspacing="2">
1582
<tbody><tr><td valign="top"><br>
1583
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
1584
<tr><td valign="top"><br>
1585
</td><td valign="top"><em>q</em> </td><td>queue id to stop </td></tr>
1586
<tr><td valign="top"><br>
1587
</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>
1593
</p><hr><h2>Function Documentation</h2>
1594
<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)" -->
1595
<div class="memitem">
1596
<div class="memproto">
1597
<table class="memname">
1599
<td class="memname">int snd_seq_connect_from </td>
1601
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
1602
<td class="paramname"> <em>seq</em>, </td>
1605
<td class="paramkey"><br>
1609
<td class="paramtype">int </td>
1610
<td class="paramname"> <em>myport</em>, </td>
1613
<td class="paramkey"><br>
1617
<td class="paramtype">int </td>
1618
<td class="paramname"> <em>src_client</em>, </td>
1621
<td class="paramkey"><br>
1625
<td class="paramtype">int </td>
1626
<td class="paramname"> <em>src_port</em></td><td> </td>
1634
</td><td width="100%"><br>
1639
<div class="memdoc">
1642
simple subscription (w/o exclusive & time conversion)
1644
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1645
<table border="0" cellpadding="0" cellspacing="2">
1646
<tbody><tr><td valign="top"><br>
1647
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
1648
<tr><td valign="top"><br>
1649
</td><td valign="top"><em>myport</em> </td><td>the port id as receiver </td></tr>
1650
<tr><td valign="top"><br>
1651
</td><td valign="top"><em>src_client</em> </td><td>sender client id </td></tr>
1652
<tr><td valign="top"><br>
1653
</td><td valign="top"><em>src_port</em> </td><td>sender port id </td></tr>
1656
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>
1657
Connect from the given sender client:port to the given destination port in the current client.<p>
1658
</p><dl class="see" compact="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>
1662
<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)" -->
1663
</p><div class="memitem">
1664
<div class="memproto">
1665
<table class="memname">
1667
<td class="memname">int snd_seq_connect_to </td>
1669
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
1670
<td class="paramname"> <em>seq</em>, </td>
1673
<td class="paramkey"><br>
1677
<td class="paramtype">int </td>
1678
<td class="paramname"> <em>myport</em>, </td>
1681
<td class="paramkey"><br>
1685
<td class="paramtype">int </td>
1686
<td class="paramname"> <em>dest_client</em>, </td>
1689
<td class="paramkey"><br>
1693
<td class="paramtype">int </td>
1694
<td class="paramname"> <em>dest_port</em></td><td> </td>
1702
</td><td width="100%"><br>
1707
<div class="memdoc">
1710
simple subscription (w/o exclusive & time conversion)
1712
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1713
<table border="0" cellpadding="0" cellspacing="2">
1714
<tbody><tr><td valign="top"><br>
1715
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
1716
<tr><td valign="top"><br>
1717
</td><td valign="top"><em>myport</em> </td><td>the port id as sender </td></tr>
1718
<tr><td valign="top"><br>
1719
</td><td valign="top"><em>dest_client</em> </td><td>destination client id </td></tr>
1720
<tr><td valign="top"><br>
1721
</td><td valign="top"><em>dest_port</em> </td><td>destination port id </td></tr>
1724
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>
1725
Connect from the given receiver port in the current client to the given destination client:port.<p>
1726
</p><dl class="see" compact="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>
1730
<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)" -->
1731
</p><div class="memitem">
1732
<div class="memproto">
1733
<table class="memname">
1735
<td class="memname">int snd_seq_control_queue </td>
1737
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
1738
<td class="paramname"> <em>seq</em>, </td>
1741
<td class="paramkey"><br>
1745
<td class="paramtype">int </td>
1746
<td class="paramname"> <em>q</em>, </td>
1749
<td class="paramkey"><br>
1753
<td class="paramtype">int </td>
1754
<td class="paramname"> <em>type</em>, </td>
1757
<td class="paramkey"><br>
1761
<td class="paramtype">int </td>
1762
<td class="paramname"> <em>value</em>, </td>
1765
<td class="paramkey"><br>
1769
<td class="paramtype"><a class="el" href="structsnd__seq__event.html">snd_seq_event_t</a> * </td>
1770
<td class="paramname"> <em>ev</em></td><td> </td>
1778
</td><td width="100%"><br>
1783
<div class="memdoc">
1786
queue controls - start/stop/continue
1788
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1789
<table border="0" cellpadding="0" cellspacing="2">
1790
<tbody><tr><td valign="top"><br>
1791
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
1792
<tr><td valign="top"><br>
1793
</td><td valign="top"><em>q</em> </td><td>queue id to control </td></tr>
1794
<tr><td valign="top"><br>
1795
</td><td valign="top"><em>type</em> </td><td>event type </td></tr>
1796
<tr><td valign="top"><br>
1797
</td><td valign="top"><em>value</em> </td><td>event value </td></tr>
1798
<tr><td valign="top"><br>
1799
</td><td valign="top"><em>ev</em> </td><td>event instance</td></tr>
1802
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>
1803
</p><dl class="see" compact="compact"><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_queue.html#g7cbcf491237ff190f802605e934c2d22">snd_seq_alloc_queue()</a> </dd></dl>
1807
<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)" -->
1808
</p><div class="memitem">
1809
<div class="memproto">
1810
<table class="memname">
1812
<td class="memname">int snd_seq_create_simple_port </td>
1814
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
1815
<td class="paramname"> <em>seq</em>, </td>
1818
<td class="paramkey"><br>
1822
<td class="paramtype">const char * </td>
1823
<td class="paramname"> <em>name</em>, </td>
1826
<td class="paramkey"><br>
1830
<td class="paramtype">unsigned int </td>
1831
<td class="paramname"> <em>caps</em>, </td>
1834
<td class="paramkey"><br>
1838
<td class="paramtype">unsigned int </td>
1839
<td class="paramname"> <em>type</em></td><td> </td>
1847
</td><td width="100%"><br>
1852
<div class="memdoc">
1855
create a port - simple version
1857
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1858
<table border="0" cellpadding="0" cellspacing="2">
1859
<tbody><tr><td valign="top"><br>
1860
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
1861
<tr><td valign="top"><br>
1862
</td><td valign="top"><em>name</em> </td><td>the name of the port </td></tr>
1863
<tr><td valign="top"><br>
1864
</td><td valign="top"><em>caps</em> </td><td>capability bits </td></tr>
1865
<tr><td valign="top"><br>
1866
</td><td valign="top"><em>type</em> </td><td>type bits </td></tr>
1869
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>the created port number or negative error code</dd></dl>
1870
Creates a port with the given capability and type bits.<p>
1871
</p><dl class="see" compact="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>
1875
<a class="anchor" name="g6b8748467dd79245cdefb9960cb17440"></a><!-- doxytag: member="seqmid.h::snd_seq_delete_simple_port" ref="g6b8748467dd79245cdefb9960cb17440" args="(snd_seq_t *seq, int port)" -->
1876
</p><div class="memitem">
1877
<div class="memproto">
1878
<table class="memname">
1880
<td class="memname">int snd_seq_delete_simple_port </td>
1882
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
1883
<td class="paramname"> <em>seq</em>, </td>
1886
<td class="paramkey"><br>
1890
<td class="paramtype">int </td>
1891
<td class="paramname"> <em>port</em></td><td> </td>
1899
</td><td width="100%"><br>
1904
<div class="memdoc">
1909
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1910
<table border="0" cellpadding="0" cellspacing="2">
1911
<tbody><tr><td valign="top"><br>
1912
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
1913
<tr><td valign="top"><br>
1914
</td><td valign="top"><em>port</em> </td><td>port id </td></tr>
1917
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>
1918
<dl class="see" compact="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>
1922
<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)" -->
1923
</p><div class="memitem">
1924
<div class="memproto">
1925
<table class="memname">
1927
<td class="memname">int snd_seq_disconnect_from </td>
1929
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
1930
<td class="paramname"> <em>seq</em>, </td>
1933
<td class="paramkey"><br>
1937
<td class="paramtype">int </td>
1938
<td class="paramname"> <em>myport</em>, </td>
1941
<td class="paramkey"><br>
1945
<td class="paramtype">int </td>
1946
<td class="paramname"> <em>src_client</em>, </td>
1949
<td class="paramkey"><br>
1953
<td class="paramtype">int </td>
1954
<td class="paramname"> <em>src_port</em></td><td> </td>
1962
</td><td width="100%"><br>
1967
<div class="memdoc">
1970
simple disconnection
1972
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
1973
<table border="0" cellpadding="0" cellspacing="2">
1974
<tbody><tr><td valign="top"><br>
1975
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
1976
<tr><td valign="top"><br>
1977
</td><td valign="top"><em>myport</em> </td><td>the port id as receiver </td></tr>
1978
<tr><td valign="top"><br>
1979
</td><td valign="top"><em>src_client</em> </td><td>sender client id </td></tr>
1980
<tr><td valign="top"><br>
1981
</td><td valign="top"><em>src_port</em> </td><td>sender port id </td></tr>
1984
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>
1985
Remove connection from the given sender client:port to the given destination port in the current client.<p>
1986
</p><dl class="see" compact="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>
1990
<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)" -->
1991
</p><div class="memitem">
1992
<div class="memproto">
1993
<table class="memname">
1995
<td class="memname">int snd_seq_disconnect_to </td>
1997
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
1998
<td class="paramname"> <em>seq</em>, </td>
2001
<td class="paramkey"><br>
2005
<td class="paramtype">int </td>
2006
<td class="paramname"> <em>myport</em>, </td>
2009
<td class="paramkey"><br>
2013
<td class="paramtype">int </td>
2014
<td class="paramname"> <em>dest_client</em>, </td>
2017
<td class="paramkey"><br>
2021
<td class="paramtype">int </td>
2022
<td class="paramname"> <em>dest_port</em></td><td> </td>
2030
</td><td width="100%"><br>
2035
<div class="memdoc">
2038
simple disconnection
2040
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
2041
<table border="0" cellpadding="0" cellspacing="2">
2042
<tbody><tr><td valign="top"><br>
2043
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
2044
<tr><td valign="top"><br>
2045
</td><td valign="top"><em>myport</em> </td><td>the port id as sender </td></tr>
2046
<tr><td valign="top"><br>
2047
</td><td valign="top"><em>dest_client</em> </td><td>destination client id </td></tr>
2048
<tr><td valign="top"><br>
2049
</td><td valign="top"><em>dest_port</em> </td><td>destination port id </td></tr>
2052
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>
2053
Remove connection from the given sender client:port to the given destination port in the current client.<p>
2054
</p><dl class="see" compact="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>
2058
<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)" -->
2059
</p><div class="memitem">
2060
<div class="memproto">
2061
<table class="memname">
2063
<td class="memname">int snd_seq_parse_address </td>
2065
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
2066
<td class="paramname"> <em>seq</em>, </td>
2069
<td class="paramkey"><br>
2073
<td class="paramtype"><a class="el" href="structsnd__seq__addr.html">snd_seq_addr_t</a> * </td>
2074
<td class="paramname"> <em>addr</em>, </td>
2077
<td class="paramkey"><br>
2081
<td class="paramtype">const char * </td>
2082
<td class="paramname"> <em>arg</em></td><td> </td>
2090
</td><td width="100%"><br>
2095
<div class="memdoc">
2098
parse the given string and get the sequencer address
2100
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
2101
<table border="0" cellpadding="0" cellspacing="2">
2102
<tbody><tr><td valign="top"><br>
2103
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
2104
<tr><td valign="top"><br>
2105
</td><td valign="top"><em>addr</em> </td><td>the address pointer to be returned </td></tr>
2106
<tr><td valign="top"><br>
2107
</td><td valign="top"><em>arg</em> </td><td>the string to be parsed </td></tr>
2110
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>This
2111
function parses the sequencer client and port numbers from the given
2112
string. The client and port tokes are separated by either colon or
2113
period, e.g. 128:1. When <em>seq</em> is not NULL, the function accepts also a client name not only digit numbers.
2116
<a class="anchor" name="gfa702330035da142eb564e26af2d8ed4"></a><!-- doxytag: member="seqmid.h::snd_seq_reset_pool_input" ref="gfa702330035da142eb564e26af2d8ed4" args="(snd_seq_t *seq)" -->
2117
</p><div class="memitem">
2118
<div class="memproto">
2119
<table class="memname">
2121
<td class="memname">int snd_seq_reset_pool_input </td>
2123
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
2124
<td class="paramname"> <em>seq</em> </td>
2125
<td> ) </td>
2126
<td width="100%"><br>
2131
<div class="memdoc">
2134
reset client input pool
2136
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
2137
<table border="0" cellpadding="0" cellspacing="2">
2138
<tbody><tr><td valign="top"><br>
2139
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
2142
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>
2143
So far, this works identically like <a class="el" href="group___seq_event.html#g0807f883d4987b0639914026c5af4821">snd_seq_drop_input()</a>.
2146
<a class="anchor" name="g749ba4733d7ecd0f4b0a67dffc87379b"></a><!-- doxytag: member="seqmid.h::snd_seq_reset_pool_output" ref="g749ba4733d7ecd0f4b0a67dffc87379b" args="(snd_seq_t *seq)" -->
2147
</p><div class="memitem">
2148
<div class="memproto">
2149
<table class="memname">
2151
<td class="memname">int snd_seq_reset_pool_output </td>
2153
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
2154
<td class="paramname"> <em>seq</em> </td>
2155
<td> ) </td>
2156
<td width="100%"><br>
2161
<div class="memdoc">
2164
reset client output pool
2166
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
2167
<table border="0" cellpadding="0" cellspacing="2">
2168
<tbody><tr><td valign="top"><br>
2169
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
2172
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>
2173
So far, this works identically like <a class="el" href="group___seq_event.html#gd9263162eeba3701b0abeeba4d4de932">snd_seq_drop_output()</a>.
2176
<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)" -->
2177
</p><div class="memitem">
2178
<div class="memproto">
2179
<table class="memname">
2181
<td class="memname">int snd_seq_set_client_event_filter </td>
2183
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
2184
<td class="paramname"> <em>seq</em>, </td>
2187
<td class="paramkey"><br>
2191
<td class="paramtype">int </td>
2192
<td class="paramname"> <em>event_type</em></td><td> </td>
2200
</td><td width="100%"><br>
2205
<div class="memdoc">
2208
add client event filter
2210
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
2211
<table border="0" cellpadding="0" cellspacing="2">
2212
<tbody><tr><td valign="top"><br>
2213
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
2214
<tr><td valign="top"><br>
2215
</td><td valign="top"><em>event_type</em> </td><td>event type to be added </td></tr>
2218
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>
2219
<dl class="see" compact="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>
2223
<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)" -->
2224
</p><div class="memitem">
2225
<div class="memproto">
2226
<table class="memname">
2228
<td class="memname">int snd_seq_set_client_name </td>
2230
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
2231
<td class="paramname"> <em>seq</em>, </td>
2234
<td class="paramkey"><br>
2238
<td class="paramtype">const char * </td>
2239
<td class="paramname"> <em>name</em></td><td> </td>
2247
</td><td width="100%"><br>
2252
<div class="memdoc">
2257
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
2258
<table border="0" cellpadding="0" cellspacing="2">
2259
<tbody><tr><td valign="top"><br>
2260
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
2261
<tr><td valign="top"><br>
2262
</td><td valign="top"><em>name</em> </td><td>name string </td></tr>
2265
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>
2266
<dl class="see" compact="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>
2270
<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)" -->
2271
</p><div class="memitem">
2272
<div class="memproto">
2273
<table class="memname">
2275
<td class="memname">int snd_seq_set_client_pool_input </td>
2277
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
2278
<td class="paramname"> <em>seq</em>, </td>
2281
<td class="paramkey"><br>
2285
<td class="paramtype">size_t </td>
2286
<td class="paramname"> <em>size</em></td><td> </td>
2294
</td><td width="100%"><br>
2299
<div class="memdoc">
2302
change the input pool size of the given client
2304
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
2305
<table border="0" cellpadding="0" cellspacing="2">
2306
<tbody><tr><td valign="top"><br>
2307
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
2308
<tr><td valign="top"><br>
2309
</td><td valign="top"><em>size</em> </td><td>input pool size </td></tr>
2312
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>
2313
<dl class="see" compact="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>
2317
<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)" -->
2318
</p><div class="memitem">
2319
<div class="memproto">
2320
<table class="memname">
2322
<td class="memname">int snd_seq_set_client_pool_output </td>
2324
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
2325
<td class="paramname"> <em>seq</em>, </td>
2328
<td class="paramkey"><br>
2332
<td class="paramtype">size_t </td>
2333
<td class="paramname"> <em>size</em></td><td> </td>
2341
</td><td width="100%"><br>
2346
<div class="memdoc">
2349
change the output pool size of the given client
2351
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
2352
<table border="0" cellpadding="0" cellspacing="2">
2353
<tbody><tr><td valign="top"><br>
2354
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
2355
<tr><td valign="top"><br>
2356
</td><td valign="top"><em>size</em> </td><td>output pool size </td></tr>
2359
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>
2360
<dl class="see" compact="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>
2364
<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)" -->
2365
</p><div class="memitem">
2366
<div class="memproto">
2367
<table class="memname">
2369
<td class="memname">int snd_seq_set_client_pool_output_room </td>
2371
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
2372
<td class="paramname"> <em>seq</em>, </td>
2375
<td class="paramkey"><br>
2379
<td class="paramtype">size_t </td>
2380
<td class="paramname"> <em>size</em></td><td> </td>
2388
</td><td width="100%"><br>
2393
<div class="memdoc">
2396
change the output room size of the given client
2398
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
2399
<table border="0" cellpadding="0" cellspacing="2">
2400
<tbody><tr><td valign="top"><br>
2401
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
2402
<tr><td valign="top"><br>
2403
</td><td valign="top"><em>size</em> </td><td>output room size </td></tr>
2406
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>
2407
<dl class="see" compact="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>
2411
<a class="anchor" name="g56d46593604d507674abec6ca65ee845"></a><!-- doxytag: member="seqmid.h::snd_seq_sync_output_queue" ref="g56d46593604d507674abec6ca65ee845" args="(snd_seq_t *seq)" -->
2412
</p><div class="memitem">
2413
<div class="memproto">
2414
<table class="memname">
2416
<td class="memname">int snd_seq_sync_output_queue </td>
2418
<td class="paramtype"><a class="el" href="group___sequencer.html#g527eff2e3b3c7dd45cac6fdd2ceee964">snd_seq_t</a> * </td>
2419
<td class="paramname"> <em>seq</em> </td>
2420
<td> ) </td>
2421
<td width="100%"><br>
2426
<div class="memdoc">
2429
wait until all events are processed
2431
</p><dl compact="compact"><dt><b>Parameters:</b></dt><dd>
2432
<table border="0" cellpadding="0" cellspacing="2">
2433
<tbody><tr><td valign="top"><br>
2434
</td><td valign="top"><em>seq</em> </td><td>sequencer handle </td></tr>
2437
<dl class="return" compact="compact"><dt><b>Returns:</b></dt><dd>0 on success or negative error code</dd></dl>
2438
This function waits until all events of this client are processed.<p>
2439
</p><dl class="see" compact="compact"><dt><b>See also:</b></dt><dd><a class="el" href="group___seq_event.html#g841a0cc485b82fd0b80c92274dfe36c0">snd_seq_drain_output()</a> </dd></dl>
2443
</p><hr size="1"><address style=""><small>Generated on Wed Sep 9 14:37:09 2009 for ALSA project - the C library reference by
2444
<a href="http://www.doxygen.org/index.html">
2445
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.0 </small></address>
b'\\ No newline at end of file'