Current File : //proc/thread-self/root/kunden/usr/share/doc/alsa-lib-devel/doxygen/html/seqmid_8h_source.html |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ALSA project - the C library reference: /builddir/build/BUILD/alsa-lib-1.2.13/include/seqmid.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">ALSA project - the C library reference
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">seqmid.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="seqmid_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>  </div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * This library is free software; you can redistribute it and/or modify</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * it under the terms of the GNU Lesser General Public License as</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * published by the Free Software Foundation; either version 2.1 of</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * the License, or (at your option) any later version.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * GNU Lesser General Public License for more details.</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef __ALSA_SEQMID_H</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#define __ALSA_SEQMID_H</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> snd_seq_ev_clear(<a class="code" href="structsnd__seq__event__t.html">snd_seq_event_t</a> *ev)</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> {</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  memset(ev, 0, <span class="keyword">sizeof</span>(*ev));</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> }</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> snd_seq_ump_ev_clear(<a class="code" href="structsnd__seq__ump__event__t.html">snd_seq_ump_event_t</a> *ev)</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> {</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  memset(ev, 0, <span class="keyword">sizeof</span>(*ev));</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  </div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga2d78011c3d4618ff47f7f60e3553ea02"> 71</a></span> <span class="preprocessor">#define snd_seq_ev_set_tag(ev,t) \</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"> ((ev)->tag = (t))</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  </div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gaff2d03c7db0d6d5cfeec429d160d9459"> 84</a></span> <span class="preprocessor">#define snd_seq_ev_set_dest(ev,c,p) \</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"> ((ev)->dest.client = (c), (ev)->dest.port = (p))</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  </div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga1eb546b3a1a23044d0ba7818731ed6d7"> 95</a></span> <span class="preprocessor">#define snd_seq_ev_set_subs(ev) \</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"> ((ev)->dest.client = SND_SEQ_ADDRESS_SUBSCRIBERS,\</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"> (ev)->dest.port = SND_SEQ_ADDRESS_UNKNOWN)</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  </div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gab06bf27dd5d0c94d78d935311fec1124"> 107</a></span> <span class="preprocessor">#define snd_seq_ev_set_broadcast(ev) \</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor"> ((ev)->dest.client = SND_SEQ_ADDRESS_BROADCAST,\</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor"> (ev)->dest.port = SND_SEQ_ADDRESS_BROADCAST)</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  </div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga457525dcca4a8a7e8cdb599a8ad6e8ff"> 118</a></span> <span class="preprocessor">#define snd_seq_ev_set_source(ev,p) \</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor"> ((ev)->source.port = (p))</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  </div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gae2674210b5601e8aa3e787c1ddbdcb62"> 130</a></span> <span class="preprocessor">#define snd_seq_ev_set_direct(ev) \</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor"> ((ev)->queue = SND_SEQ_QUEUE_DIRECT)</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  </div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga589469c27715bfae205ce26d5801d8b1"> 145</a></span> <span class="preprocessor">#define snd_seq_ev_schedule_tick(ev, q, relative, ttick) \</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor"> ((ev)->flags &= ~(SND_SEQ_TIME_STAMP_MASK | SND_SEQ_TIME_MODE_MASK),\</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="preprocessor"> (ev)->flags |= SND_SEQ_TIME_STAMP_TICK,\</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="preprocessor"> (ev)->flags |= (relative) ? SND_SEQ_TIME_MODE_REL : SND_SEQ_TIME_MODE_ABS,\</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="preprocessor"> (ev)->time.tick = (ttick),\</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="preprocessor"> (ev)->queue = (q))</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  </div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga713370bf29736477532e791b4ad92530"> 164</a></span> <span class="preprocessor">#define snd_seq_ev_schedule_real(ev, q, relative, rtime) \</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor"> ((ev)->flags &= ~(SND_SEQ_TIME_STAMP_MASK | SND_SEQ_TIME_MODE_MASK),\</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor"> (ev)->flags |= SND_SEQ_TIME_STAMP_REAL,\</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor"> (ev)->flags |= (relative) ? SND_SEQ_TIME_MODE_REL : SND_SEQ_TIME_MODE_ABS,\</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="preprocessor"> (ev)->time.time = *(rtime),\</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor"> (ev)->queue = (q))</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  </div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga9b6fba99052fb11977559f15192581d4"> 176</a></span> <span class="preprocessor">#define snd_seq_ev_set_priority(ev, high_prior) \</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor"> ((ev)->flags &= ~SND_SEQ_PRIORITY_MASK,\</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor"> (ev)->flags |= (high_prior) ? SND_SEQ_PRIORITY_HIGH : SND_SEQ_PRIORITY_NORMAL)</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  </div>
<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga8c949038f36fd3e27de8b8e419978793"> 188</a></span> <span class="preprocessor">#define snd_seq_ev_set_fixed(ev) \</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor"> ((ev)->flags &= ~SND_SEQ_EVENT_LENGTH_MASK,\</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor"> (ev)->flags |= SND_SEQ_EVENT_LENGTH_FIXED)</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  </div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga12ac15c961d96d3122f7c2f6a0849fb1"> 202</a></span> <span class="preprocessor">#define snd_seq_ev_set_variable(ev, datalen, dataptr) \</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor"> ((ev)->flags &= ~SND_SEQ_EVENT_LENGTH_MASK,\</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor"> (ev)->flags |= SND_SEQ_EVENT_LENGTH_VARIABLE,\</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor"> (ev)->data.ext.len = (datalen),\</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor"> (ev)->data.ext.ptr = (dataptr))</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  </div>
<div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga993e1f46d8122a227fa0072a73af813e"> 218</a></span> <span class="preprocessor">#define snd_seq_ev_set_varusr(ev, datalen, dataptr) \</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="preprocessor"> ((ev)->flags &= ~SND_SEQ_EVENT_LENGTH_MASK,\</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor"> (ev)->flags |= SND_SEQ_EVENT_LENGTH_VARUSR,\</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="preprocessor"> (ev)->data.ext.len = (datalen),\</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="preprocessor"> (ev)->data.ext.ptr = (dataptr))</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  </div>
<div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gacef573eba71eb2238758f1c178efd1d3"> 231</a></span> <span class="preprocessor">#define snd_seq_ev_set_queue_control(ev, typ, q, val) \</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor"> ((ev)->type = (typ),\</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="preprocessor"> snd_seq_ev_set_dest(ev, SND_SEQ_CLIENT_SYSTEM, SND_SEQ_PORT_SYSTEM_TIMER),\</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="preprocessor"> (ev)->data.queue.queue = (q),\</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="preprocessor"> (ev)->data.queue.param.value = (val))</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  </div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga4fcbcb1f9e1967a1ec77b569be735d7a"> 244</a></span> <span class="preprocessor">#define snd_seq_ev_set_queue_start(ev, q) \</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor"> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_START, q, 0)</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  </div>
<div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga342554415f9536077408dc1c7331ab36"> 254</a></span> <span class="preprocessor">#define snd_seq_ev_set_queue_stop(ev, q) \</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor"> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_STOP, q, 0)</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  </div>
<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga32b0ff4c40ffde6e08a7df624193ae40"> 264</a></span> <span class="preprocessor">#define snd_seq_ev_set_queue_continue(ev, q) \</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="preprocessor"> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_CONTINUE, q, 0)</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  </div>
<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga3d2a17d5034eb296af311b56374f2b19"> 273</a></span> <span class="preprocessor">#define snd_seq_ev_set_queue_tempo(ev, q, val) \</span></div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="preprocessor"> snd_seq_ev_set_queue_control(ev, SND_SEQ_EVENT_TEMPO, q, val)</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  </div>
<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gae7cb527a1efa854ba487bb26cfa62c77"> 282</a></span> <span class="preprocessor">#define snd_seq_ev_set_queue_pos_real(ev, q, rtime) \</span></div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="preprocessor"> ((ev)->type = SND_SEQ_EVENT_SETPOS_TIME,\</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="preprocessor"> snd_seq_ev_set_dest(ev, SND_SEQ_CLIENT_SYSTEM, SND_SEQ_PORT_SYSTEM_TIMER),\</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="preprocessor"> (ev)->data.queue.queue = (q),\</span></div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="preprocessor"> (ev)->data.queue.param.time.time = *(rtime))</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  </div>
<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga8b6057651e037e0df565784f629b5fb8"> 294</a></span> <span class="preprocessor">#define snd_seq_ev_set_queue_pos_tick(ev, q, ttime) \</span></div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="preprocessor"> ((ev)->type = SND_SEQ_EVENT_SETPOS_TICK,\</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="preprocessor"> snd_seq_ev_set_dest(ev, SND_SEQ_CLIENT_SYSTEM, SND_SEQ_PORT_SYSTEM_TIMER),\</span></div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="preprocessor"> (ev)->data.queue.queue = (q),\</span></div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="preprocessor"> (ev)->data.queue.param.time.tick = (ttime))</span></div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  </div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> snd_seq_ev_set_ump(<a class="code" href="structsnd__seq__ump__event__t.html">snd_seq_ump_event_t</a> *ev)</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> {</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  ev-><a class="code" href="structsnd__seq__ump__event__t.html#a5365bc6967a04a066b67ae7523a0caf2">flags</a> |= <a class="code" href="group___seq_events.html#ga8bfaba2acaa8d0c67d6e5fbfe9faf673">SND_SEQ_EVENT_UMP</a>;</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  ev-><a class="code" href="structsnd__seq__ump__event__t.html#abc27844b55cef6b29398fd5b20264e00">type</a> = 0; <span class="comment">/* unused for UMP */</span></div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  </div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> snd_seq_ev_set_ump_data(<a class="code" href="structsnd__seq__ump__event__t.html">snd_seq_ump_event_t</a> *ev, <span class="keywordtype">void</span> *<a class="code" href="ump__msg_8h.html#a1e43bf7d608e87228b625cca2c04d641">data</a>, <span class="keywordtype">size_t</span> bytes)</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> {</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">if</span> (bytes > 16)</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">return</span> -EINVAL;</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  snd_seq_ev_set_ump(ev);</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  memcpy(ev-><a class="code" href="structsnd__seq__ump__event__t.html#a546c9efb6b5c9ea714d87a52b4deb24a">ump</a>, <a class="code" href="ump__msg_8h.html#a1e43bf7d608e87228b625cca2c04d641">data</a>, bytes);</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> }</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  </div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment">/* set and send a queue control event */</span></div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#ga36dee7982baa47ad22ab8437541ea5ef">snd_seq_control_queue</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keywordtype">int</span> q, <span class="keywordtype">int</span> <a class="code" href="ump__msg_8h.html#ad44b615021ed3ccb734fcaf583ef4a03">type</a>, <span class="keywordtype">int</span> value, <a class="code" href="structsnd__seq__event__t.html">snd_seq_event_t</a> *ev);</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  </div>
<div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga0c7a86bb19188a00c5a3b4907d558058"> 334</a></span> <span class="preprocessor">#define snd_seq_start_queue(seq, q, ev) \</span></div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="preprocessor"> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_START, 0, ev)</span></div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  </div>
<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gab62a2e964135fdff96d21835d4cddad6"> 343</a></span> <span class="preprocessor">#define snd_seq_stop_queue(seq, q, ev) \</span></div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="preprocessor"> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_STOP, 0, ev)</span></div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  </div>
<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gad6b0c90be37eeb583318c9077f095b86"> 352</a></span> <span class="preprocessor">#define snd_seq_continue_queue(seq, q, ev) \</span></div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="preprocessor"> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_CONTINUE, 0, ev)</span></div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  </div>
<div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gab77f13c0b39dec12ef983eb706925d00"> 362</a></span> <span class="preprocessor">#define snd_seq_change_queue_tempo(seq, q, tempo, ev) \</span></div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="preprocessor"> snd_seq_control_queue(seq, q, SND_SEQ_EVENT_TEMPO, tempo, ev)</span></div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  </div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment">/* create a port - simple version - return the port number */</span></div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#ga9368266bde7b5c0f8d5ddeaf64914719">snd_seq_create_simple_port</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keyword">const</span> <span class="keywordtype">char</span> *name,</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> caps, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="ump__msg_8h.html#ad44b615021ed3ccb734fcaf583ef4a03">type</a>);</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment">/* delete the port */</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#ga8ac4c3a85750550f2978ca720a6329ca">snd_seq_delete_simple_port</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keywordtype">int</span> port);</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  </div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment">/* simple subscription between this port and another port</span></div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment"> (w/o exclusive & time conversion)</span></div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#ga1382029795fa101a3b8cc0af7b83b639">snd_seq_connect_from</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keywordtype">int</span> my_port, <span class="keywordtype">int</span> src_client, <span class="keywordtype">int</span> src_port);</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#gab39e210c5d93e96c241644f334c6c9ca">snd_seq_connect_to</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keywordtype">int</span> my_port, <span class="keywordtype">int</span> dest_client, <span class="keywordtype">int</span> dest_port);</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#ga931d199c780be30524aa24e58c59f6b9">snd_seq_disconnect_from</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keywordtype">int</span> my_port, <span class="keywordtype">int</span> src_client, <span class="keywordtype">int</span> src_port);</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#gafe5756afcd471b2d6bbd457c7abc5e89">snd_seq_disconnect_to</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keywordtype">int</span> my_port, <span class="keywordtype">int</span> dest_client, <span class="keywordtype">int</span> dest_port);</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  </div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="comment"> * set client information</span></div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#gaec3acab3bfb3df3f0c9ccc4903570b9d">snd_seq_set_client_name</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#ga888bf17bbc8141d1624f7bbef52dddce">snd_seq_set_client_event_filter</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keywordtype">int</span> event_type);</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#gab4def3f1dce8616648236bc3e61a7e4a">snd_seq_set_client_midi_version</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keywordtype">int</span> midi_version);</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#gac84fad8ae72f4c1d773249d8ffc6d165">snd_seq_set_client_ump_conversion</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keywordtype">int</span> enable);</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#ga38e40d84154122798c9fad8e56c60a0f">snd_seq_set_client_pool_output</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#ga597d2417e0fd512f56d31464cc2ea7d7">snd_seq_set_client_pool_output_room</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#ga1344c7aadb847bd409093c179557732d">snd_seq_set_client_pool_input</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="comment">/* sync output queue */</span></div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#ga732ad887b457771b7db47908186e8cce">snd_seq_sync_output_queue</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq);</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  </div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="comment"> * parse the given string and get the sequencer address</span></div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#ga692043bd9cb709b15513b06cea5bf0e8">snd_seq_parse_address</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <a class="code" href="structsnd__seq__addr__t.html">snd_seq_addr_t</a> *addr, <span class="keyword">const</span> <span class="keywordtype">char</span> *str);</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  </div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="comment"> * reset client input/output pool</span></div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#ga49d2acf57c4493a95eaaa19d8199f6f2">snd_seq_reset_pool_output</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq);</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#gae90243ea4d4e534bbca2b3965ff8efe9">snd_seq_reset_pool_input</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq);</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  </div>
<div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga544adc6b2a43edab107962754a772778"> 411</a></span> <span class="preprocessor">#define snd_seq_ev_set_note(ev, ch, key, vel, dur) \</span></div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="preprocessor"> ((ev)->type = SND_SEQ_EVENT_NOTE,\</span></div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="preprocessor"> snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="preprocessor"> (ev)->data.note.channel = (ch),\</span></div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="preprocessor"> (ev)->data.note.note = (key),\</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="preprocessor"> (ev)->data.note.velocity = (vel),\</span></div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="preprocessor"> (ev)->data.note.duration = (dur))</span></div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  </div>
<div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga61fbd95aadd4a80f4ff8db5f8f28172f"> 426</a></span> <span class="preprocessor">#define snd_seq_ev_set_noteon(ev, ch, key, vel) \</span></div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="preprocessor"> ((ev)->type = SND_SEQ_EVENT_NOTEON,\</span></div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="preprocessor"> snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="preprocessor"> (ev)->data.note.channel = (ch),\</span></div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="preprocessor"> (ev)->data.note.note = (key),\</span></div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="preprocessor"> (ev)->data.note.velocity = (vel))</span></div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  </div>
<div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gab9b466031485504fd5b4300def95de7c"> 440</a></span> <span class="preprocessor">#define snd_seq_ev_set_noteoff(ev, ch, key, vel) \</span></div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="preprocessor"> ((ev)->type = SND_SEQ_EVENT_NOTEOFF,\</span></div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="preprocessor"> snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="preprocessor"> (ev)->data.note.channel = (ch),\</span></div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="preprocessor"> (ev)->data.note.note = (key),\</span></div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="preprocessor"> (ev)->data.note.velocity = (vel))</span></div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  </div>
<div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga09c562a0d1745dc1a73e7347d51af913"> 454</a></span> <span class="preprocessor">#define snd_seq_ev_set_keypress(ev,ch,key,vel) \</span></div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="preprocessor"> ((ev)->type = SND_SEQ_EVENT_KEYPRESS,\</span></div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="preprocessor"> snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="preprocessor"> (ev)->data.note.channel = (ch),\</span></div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="preprocessor"> (ev)->data.note.note = (key),\</span></div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="preprocessor"> (ev)->data.note.velocity = (vel))</span></div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  </div>
<div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga1658bb76bb89c8bac1e7b0140d72c23c"> 468</a></span> <span class="preprocessor">#define snd_seq_ev_set_controller(ev,ch,cc,val) \</span></div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="preprocessor"> ((ev)->type = SND_SEQ_EVENT_CONTROLLER,\</span></div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="preprocessor"> snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="preprocessor"> (ev)->data.control.channel = (ch),\</span></div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="preprocessor"> (ev)->data.control.param = (cc),\</span></div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="preprocessor"> (ev)->data.control.value = (val))</span></div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  </div>
<div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gab74005fe3b04460687f88ba79695d631"> 481</a></span> <span class="preprocessor">#define snd_seq_ev_set_pgmchange(ev,ch,val) \</span></div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="preprocessor"> ((ev)->type = SND_SEQ_EVENT_PGMCHANGE,\</span></div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="preprocessor"> snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="preprocessor"> (ev)->data.control.channel = (ch),\</span></div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="preprocessor"> (ev)->data.control.value = (val))</span></div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  </div>
<div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga8da40bfd56e00ebec775e5241d86a3e3"> 493</a></span> <span class="preprocessor">#define snd_seq_ev_set_pitchbend(ev,ch,val) \</span></div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="preprocessor"> ((ev)->type = SND_SEQ_EVENT_PITCHBEND,\</span></div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="preprocessor"> snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="preprocessor"> (ev)->data.control.channel = (ch),\</span></div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="preprocessor"> (ev)->data.control.value = (val))</span></div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  </div>
<div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gaa475a6778116256734e7da45f4eb7af8"> 505</a></span> <span class="preprocessor">#define snd_seq_ev_set_chanpress(ev,ch,val) \</span></div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="preprocessor"> ((ev)->type = SND_SEQ_EVENT_CHANPRESS,\</span></div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="preprocessor"> snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="preprocessor"> (ev)->data.control.channel = (ch),\</span></div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="preprocessor"> (ev)->data.control.value = (val))</span></div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  </div>
<div class="line"><a name="l00519"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga104862c436dcc8f23892be44f50bc90f"> 519</a></span> <span class="preprocessor">#define snd_seq_ev_set_sysex(ev,datalen,dataptr) \</span></div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="preprocessor"> ((ev)->type = SND_SEQ_EVENT_SYSEX,\</span></div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="preprocessor"> snd_seq_ev_set_variable(ev, datalen, dataptr))</span></div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  </div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="comment">/* Helper API functions for UMP endpoint and block creations */</span></div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#gae4d6661744be758c5ecd7d0352e90665">snd_seq_create_ump_endpoint</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq,</div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keyword">const</span> <a class="code" href="group___raw_midi.html#gae4bdf7d93a82021264b89727aa17d87d">snd_ump_endpoint_info_t</a> *info,</div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num_groups);</div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_middle.html#gaefec842e4ce3a925c393e7b4e1d2b148">snd_seq_create_ump_block</a>(<a class="code" href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a> *seq, <span class="keywordtype">int</span> blkid,</div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keyword">const</span> <a class="code" href="group___raw_midi.html#gaad72212008c19517279f35f5e492ab34">snd_ump_block_info_t</a> *info);</div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  </div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> }</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  </div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="preprocessor">#endif </span><span class="comment">/* __ALSA_SEQMID_H */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  </div>
<div class="ttc" id="agroup___raw_midi_html_gaad72212008c19517279f35f5e492ab34"><div class="ttname"><a href="group___raw_midi.html#gaad72212008c19517279f35f5e492ab34">snd_ump_block_info_t</a></div><div class="ttdeci">struct snd_ump_block_info snd_ump_block_info_t</div><div class="ttdef"><b>Definition:</b> ump.h:29</div></div>
<div class="ttc" id="agroup___raw_midi_html_gae4bdf7d93a82021264b89727aa17d87d"><div class="ttname"><a href="group___raw_midi.html#gae4bdf7d93a82021264b89727aa17d87d">snd_ump_endpoint_info_t</a></div><div class="ttdeci">struct snd_ump_endpoint_info snd_ump_endpoint_info_t</div><div class="ttdef"><b>Definition:</b> ump.h:27</div></div>
<div class="ttc" id="agroup___seq_events_html_ga8bfaba2acaa8d0c67d6e5fbfe9faf673"><div class="ttname"><a href="group___seq_events.html#ga8bfaba2acaa8d0c67d6e5fbfe9faf673">SND_SEQ_EVENT_UMP</a></div><div class="ttdeci">#define SND_SEQ_EVENT_UMP</div><div class="ttdef"><b>Definition:</b> seq_event.h:230</div></div>
<div class="ttc" id="agroup___seq_middle_html_ga1344c7aadb847bd409093c179557732d"><div class="ttname"><a href="group___seq_middle.html#ga1344c7aadb847bd409093c179557732d">snd_seq_set_client_pool_input</a></div><div class="ttdeci">int snd_seq_set_client_pool_input(snd_seq_t *seq, size_t size)</div><div class="ttdoc">change the input pool size of the given client</div><div class="ttdef"><b>Definition:</b> seqmid.c:340</div></div>
<div class="ttc" id="agroup___seq_middle_html_ga1382029795fa101a3b8cc0af7b83b639"><div class="ttname"><a href="group___seq_middle.html#ga1382029795fa101a3b8cc0af7b83b639">snd_seq_connect_from</a></div><div class="ttdeci">int snd_seq_connect_from(snd_seq_t *seq, int my_port, int src_client, int src_port)</div><div class="ttdoc">simple subscription (w/o exclusive & time conversion)</div><div class="ttdef"><b>Definition:</b> seqmid.c:119</div></div>
<div class="ttc" id="agroup___seq_middle_html_ga36dee7982baa47ad22ab8437541ea5ef"><div class="ttname"><a href="group___seq_middle.html#ga36dee7982baa47ad22ab8437541ea5ef">snd_seq_control_queue</a></div><div class="ttdeci">int snd_seq_control_queue(snd_seq_t *seq, int q, int type, int value, snd_seq_event_t *ev)</div><div class="ttdoc">queue controls - start/stop/continue</div><div class="ttdef"><b>Definition:</b> seqmid.c:46</div></div>
<div class="ttc" id="agroup___seq_middle_html_ga38e40d84154122798c9fad8e56c60a0f"><div class="ttname"><a href="group___seq_middle.html#ga38e40d84154122798c9fad8e56c60a0f">snd_seq_set_client_pool_output</a></div><div class="ttdeci">int snd_seq_set_client_pool_output(snd_seq_t *seq, size_t size)</div><div class="ttdoc">change the output pool size of the given client</div><div class="ttdef"><b>Definition:</b> seqmid.c:302</div></div>
<div class="ttc" id="agroup___seq_middle_html_ga49d2acf57c4493a95eaaa19d8199f6f2"><div class="ttname"><a href="group___seq_middle.html#ga49d2acf57c4493a95eaaa19d8199f6f2">snd_seq_reset_pool_output</a></div><div class="ttdeci">int snd_seq_reset_pool_output(snd_seq_t *seq)</div><div class="ttdoc">reset client output pool</div><div class="ttdef"><b>Definition:</b> seqmid.c:358</div></div>
<div class="ttc" id="agroup___seq_middle_html_ga597d2417e0fd512f56d31464cc2ea7d7"><div class="ttname"><a href="group___seq_middle.html#ga597d2417e0fd512f56d31464cc2ea7d7">snd_seq_set_client_pool_output_room</a></div><div class="ttdeci">int snd_seq_set_client_pool_output_room(snd_seq_t *seq, size_t size)</div><div class="ttdoc">change the output room size of the given client</div><div class="ttdef"><b>Definition:</b> seqmid.c:321</div></div>
<div class="ttc" id="agroup___seq_middle_html_ga692043bd9cb709b15513b06cea5bf0e8"><div class="ttname"><a href="group___seq_middle.html#ga692043bd9cb709b15513b06cea5bf0e8">snd_seq_parse_address</a></div><div class="ttdeci">int snd_seq_parse_address(snd_seq_t *seq, snd_seq_addr_t *addr, const char *str)</div><div class="ttdoc">parse the given string and get the sequencer address</div><div class="ttdef"><b>Definition:</b> seqmid.c:425</div></div>
<div class="ttc" id="agroup___seq_middle_html_ga732ad887b457771b7db47908186e8cce"><div class="ttname"><a href="group___seq_middle.html#ga732ad887b457771b7db47908186e8cce">snd_seq_sync_output_queue</a></div><div class="ttdeci">int snd_seq_sync_output_queue(snd_seq_t *seq)</div><div class="ttdoc">wait until all events are processed</div><div class="ttdef"><b>Definition:</b> seqmid.c:384</div></div>
<div class="ttc" id="agroup___seq_middle_html_ga888bf17bbc8141d1624f7bbef52dddce"><div class="ttname"><a href="group___seq_middle.html#ga888bf17bbc8141d1624f7bbef52dddce">snd_seq_set_client_event_filter</a></div><div class="ttdeci">int snd_seq_set_client_event_filter(snd_seq_t *seq, int event_type)</div><div class="ttdoc">add client event filter</div><div class="ttdef"><b>Definition:</b> seqmid.c:245</div></div>
<div class="ttc" id="agroup___seq_middle_html_ga8ac4c3a85750550f2978ca720a6329ca"><div class="ttname"><a href="group___seq_middle.html#ga8ac4c3a85750550f2978ca720a6329ca">snd_seq_delete_simple_port</a></div><div class="ttdeci">int snd_seq_delete_simple_port(snd_seq_t *seq, int port)</div><div class="ttdoc">delete the port</div><div class="ttdef"><b>Definition:</b> seqmid.c:101</div></div>
<div class="ttc" id="agroup___seq_middle_html_ga931d199c780be30524aa24e58c59f6b9"><div class="ttname"><a href="group___seq_middle.html#ga931d199c780be30524aa24e58c59f6b9">snd_seq_disconnect_from</a></div><div class="ttdeci">int snd_seq_disconnect_from(snd_seq_t *seq, int my_port, int src_client, int src_port)</div><div class="ttdoc">simple disconnection</div><div class="ttdef"><b>Definition:</b> seqmid.c:173</div></div>
<div class="ttc" id="agroup___seq_middle_html_ga9368266bde7b5c0f8d5ddeaf64914719"><div class="ttname"><a href="group___seq_middle.html#ga9368266bde7b5c0f8d5ddeaf64914719">snd_seq_create_simple_port</a></div><div class="ttdeci">int snd_seq_create_simple_port(snd_seq_t *seq, const char *name, unsigned int caps, unsigned int type)</div><div class="ttdoc">create a port - simple version</div><div class="ttdef"><b>Definition:</b> seqmid.c:71</div></div>
<div class="ttc" id="agroup___seq_middle_html_gab39e210c5d93e96c241644f334c6c9ca"><div class="ttname"><a href="group___seq_middle.html#gab39e210c5d93e96c241644f334c6c9ca">snd_seq_connect_to</a></div><div class="ttdeci">int snd_seq_connect_to(snd_seq_t *seq, int my_port, int dest_client, int dest_port)</div><div class="ttdoc">simple subscription (w/o exclusive & time conversion)</div><div class="ttdef"><b>Definition:</b> seqmid.c:146</div></div>
<div class="ttc" id="agroup___seq_middle_html_gab4def3f1dce8616648236bc3e61a7e4a"><div class="ttname"><a href="group___seq_middle.html#gab4def3f1dce8616648236bc3e61a7e4a">snd_seq_set_client_midi_version</a></div><div class="ttdeci">int snd_seq_set_client_midi_version(snd_seq_t *seq, int midi_version)</div><div class="ttdoc">set client MIDI protocol version</div><div class="ttdef"><b>Definition:</b> seqmid.c:264</div></div>
<div class="ttc" id="agroup___seq_middle_html_gac84fad8ae72f4c1d773249d8ffc6d165"><div class="ttname"><a href="group___seq_middle.html#gac84fad8ae72f4c1d773249d8ffc6d165">snd_seq_set_client_ump_conversion</a></div><div class="ttdeci">int snd_seq_set_client_ump_conversion(snd_seq_t *seq, int enable)</div><div class="ttdoc">enable/disable client's automatic conversion of UMP/legacy events</div><div class="ttdef"><b>Definition:</b> seqmid.c:283</div></div>
<div class="ttc" id="agroup___seq_middle_html_gae4d6661744be758c5ecd7d0352e90665"><div class="ttname"><a href="group___seq_middle.html#gae4d6661744be758c5ecd7d0352e90665">snd_seq_create_ump_endpoint</a></div><div class="ttdeci">int snd_seq_create_ump_endpoint(snd_seq_t *seq, const snd_ump_endpoint_info_t *info, unsigned int num_groups)</div><div class="ttdoc">create a UMP Endpoint for the given sequencer client</div><div class="ttdef"><b>Definition:</b> seqmid.c:513</div></div>
<div class="ttc" id="agroup___seq_middle_html_gae90243ea4d4e534bbca2b3965ff8efe9"><div class="ttname"><a href="group___seq_middle.html#gae90243ea4d4e534bbca2b3965ff8efe9">snd_seq_reset_pool_input</a></div><div class="ttdeci">int snd_seq_reset_pool_input(snd_seq_t *seq)</div><div class="ttdoc">reset client input pool</div><div class="ttdef"><b>Definition:</b> seqmid.c:370</div></div>
<div class="ttc" id="agroup___seq_middle_html_gaec3acab3bfb3df3f0c9ccc4903570b9d"><div class="ttname"><a href="group___seq_middle.html#gaec3acab3bfb3df3f0c9ccc4903570b9d">snd_seq_set_client_name</a></div><div class="ttdeci">int snd_seq_set_client_name(snd_seq_t *seq, const char *name)</div><div class="ttdoc">set client name</div><div class="ttdef"><b>Definition:</b> seqmid.c:226</div></div>
<div class="ttc" id="agroup___seq_middle_html_gaefec842e4ce3a925c393e7b4e1d2b148"><div class="ttname"><a href="group___seq_middle.html#gaefec842e4ce3a925c393e7b4e1d2b148">snd_seq_create_ump_block</a></div><div class="ttdeci">int snd_seq_create_ump_block(snd_seq_t *seq, int blkid, const snd_ump_block_info_t *info)</div><div class="ttdoc">create a UMP block for the given sequencer client</div><div class="ttdef"><b>Definition:</b> seqmid.c:708</div></div>
<div class="ttc" id="agroup___seq_middle_html_gafe5756afcd471b2d6bbd457c7abc5e89"><div class="ttname"><a href="group___seq_middle.html#gafe5756afcd471b2d6bbd457c7abc5e89">snd_seq_disconnect_to</a></div><div class="ttdeci">int snd_seq_disconnect_to(snd_seq_t *seq, int my_port, int dest_client, int dest_port)</div><div class="ttdoc">simple disconnection</div><div class="ttdef"><b>Definition:</b> seqmid.c:200</div></div>
<div class="ttc" id="agroup___sequencer_html_gae141149958a7458806152ed5942a1acd"><div class="ttname"><a href="group___sequencer.html#gae141149958a7458806152ed5942a1acd">snd_seq_t</a></div><div class="ttdeci">struct _snd_seq snd_seq_t</div><div class="ttdef"><b>Definition:</b> seq.h:49</div></div>
<div class="ttc" id="astructsnd__seq__addr__t_html"><div class="ttname"><a href="structsnd__seq__addr__t.html">snd_seq_addr_t</a></div><div class="ttdef"><b>Definition:</b> seq_event.h:180</div></div>
<div class="ttc" id="astructsnd__seq__event__t_html"><div class="ttname"><a href="structsnd__seq__event__t.html">snd_seq_event_t</a></div><div class="ttdef"><b>Definition:</b> seq_event.h:312</div></div>
<div class="ttc" id="astructsnd__seq__ump__event__t_html"><div class="ttname"><a href="structsnd__seq__ump__event__t.html">snd_seq_ump_event_t</a></div><div class="ttdef"><b>Definition:</b> seq_event.h:327</div></div>
<div class="ttc" id="astructsnd__seq__ump__event__t_html_a5365bc6967a04a066b67ae7523a0caf2"><div class="ttname"><a href="structsnd__seq__ump__event__t.html#a5365bc6967a04a066b67ae7523a0caf2">snd_seq_ump_event_t::flags</a></div><div class="ttdeci">unsigned char flags</div><div class="ttdef"><b>Definition:</b> seq_event.h:329</div></div>
<div class="ttc" id="astructsnd__seq__ump__event__t_html_a546c9efb6b5c9ea714d87a52b4deb24a"><div class="ttname"><a href="structsnd__seq__ump__event__t.html#a546c9efb6b5c9ea714d87a52b4deb24a">snd_seq_ump_event_t::ump</a></div><div class="ttdeci">unsigned int ump[4]</div><div class="ttdef"><b>Definition:</b> seq_event.h:338</div></div>
<div class="ttc" id="astructsnd__seq__ump__event__t_html_abc27844b55cef6b29398fd5b20264e00"><div class="ttname"><a href="structsnd__seq__ump__event__t.html#abc27844b55cef6b29398fd5b20264e00">snd_seq_ump_event_t::type</a></div><div class="ttdeci">snd_seq_event_type_t type</div><div class="ttdef"><b>Definition:</b> seq_event.h:328</div></div>
<div class="ttc" id="aump__msg_8h_html_a1e43bf7d608e87228b625cca2c04d641"><div class="ttname"><a href="ump__msg_8h.html#a1e43bf7d608e87228b625cca2c04d641">data</a></div><div class="ttdeci">uint8_t data</div><div class="ttdef"><b>Definition:</b> ump_msg.h:8</div></div>
<div class="ttc" id="aump__msg_8h_html_ad44b615021ed3ccb734fcaf583ef4a03"><div class="ttname"><a href="ump__msg_8h.html#ad44b615021ed3ccb734fcaf583ef4a03">type</a></div><div class="ttdeci">uint8_t type</div><div class="ttdef"><b>Definition:</b> ump_msg.h:13</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>