Current File : //proc/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&amp;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&amp;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>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef __ALSA_SEQMID_H</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define __ALSA_SEQMID_H</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<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>&#160;{</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    memset(ev, 0, <span class="keyword">sizeof</span>(*ev));</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;}</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<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>&#160;{</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    memset(ev, 0, <span class="keyword">sizeof</span>(*ev));</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;}</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga2d78011c3d4618ff47f7f60e3553ea02">   71</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;tag = (t))</span></div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gaff2d03c7db0d6d5cfeec429d160d9459">   84</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;dest.client = (c), (ev)-&gt;dest.port = (p))</span></div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga1eb546b3a1a23044d0ba7818731ed6d7">   95</a></span>&#160;<span class="preprocessor">#define snd_seq_ev_set_subs(ev) \</span></div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">    ((ev)-&gt;dest.client = SND_SEQ_ADDRESS_SUBSCRIBERS,\</span></div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">     (ev)-&gt;dest.port = SND_SEQ_ADDRESS_UNKNOWN)</span></div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gab06bf27dd5d0c94d78d935311fec1124">  107</a></span>&#160;<span class="preprocessor">#define snd_seq_ev_set_broadcast(ev) \</span></div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">    ((ev)-&gt;dest.client = SND_SEQ_ADDRESS_BROADCAST,\</span></div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor">     (ev)-&gt;dest.port = SND_SEQ_ADDRESS_BROADCAST)</span></div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga457525dcca4a8a7e8cdb599a8ad6e8ff">  118</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;source.port = (p))</span></div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gae2674210b5601e8aa3e787c1ddbdcb62">  130</a></span>&#160;<span class="preprocessor">#define snd_seq_ev_set_direct(ev) \</span></div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">    ((ev)-&gt;queue = SND_SEQ_QUEUE_DIRECT)</span></div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga589469c27715bfae205ce26d5801d8b1">  145</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;flags &amp;= ~(SND_SEQ_TIME_STAMP_MASK | SND_SEQ_TIME_MODE_MASK),\</span></div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor">     (ev)-&gt;flags |= SND_SEQ_TIME_STAMP_TICK,\</span></div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="preprocessor">     (ev)-&gt;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>&#160;<span class="preprocessor">     (ev)-&gt;time.tick = (ttick),\</span></div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;<span class="preprocessor">     (ev)-&gt;queue = (q))</span></div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga713370bf29736477532e791b4ad92530">  164</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;flags &amp;= ~(SND_SEQ_TIME_STAMP_MASK | SND_SEQ_TIME_MODE_MASK),\</span></div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="preprocessor">     (ev)-&gt;flags |= SND_SEQ_TIME_STAMP_REAL,\</span></div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;<span class="preprocessor">     (ev)-&gt;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>&#160;<span class="preprocessor">     (ev)-&gt;time.time = *(rtime),\</span></div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="preprocessor">     (ev)-&gt;queue = (q))</span></div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga9b6fba99052fb11977559f15192581d4">  176</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;flags &amp;= ~SND_SEQ_PRIORITY_MASK,\</span></div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor">     (ev)-&gt;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>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga8c949038f36fd3e27de8b8e419978793">  188</a></span>&#160;<span class="preprocessor">#define snd_seq_ev_set_fixed(ev) \</span></div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;<span class="preprocessor">    ((ev)-&gt;flags &amp;= ~SND_SEQ_EVENT_LENGTH_MASK,\</span></div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="preprocessor">     (ev)-&gt;flags |= SND_SEQ_EVENT_LENGTH_FIXED)</span></div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160; </div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga12ac15c961d96d3122f7c2f6a0849fb1">  202</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;flags &amp;= ~SND_SEQ_EVENT_LENGTH_MASK,\</span></div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="preprocessor">     (ev)-&gt;flags |= SND_SEQ_EVENT_LENGTH_VARIABLE,\</span></div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<span class="preprocessor">     (ev)-&gt;data.ext.len = (datalen),\</span></div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="preprocessor">     (ev)-&gt;data.ext.ptr = (dataptr))</span></div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160; </div>
<div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga993e1f46d8122a227fa0072a73af813e">  218</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;flags &amp;= ~SND_SEQ_EVENT_LENGTH_MASK,\</span></div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;<span class="preprocessor">     (ev)-&gt;flags |= SND_SEQ_EVENT_LENGTH_VARUSR,\</span></div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;<span class="preprocessor">     (ev)-&gt;data.ext.len = (datalen),\</span></div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="preprocessor">     (ev)-&gt;data.ext.ptr = (dataptr))</span></div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160; </div>
<div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gacef573eba71eb2238758f1c178efd1d3">  231</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;type = (typ),\</span></div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;<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>&#160;<span class="preprocessor">     (ev)-&gt;data.queue.queue = (q),\</span></div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;<span class="preprocessor">     (ev)-&gt;data.queue.param.value = (val))</span></div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160; </div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga4fcbcb1f9e1967a1ec77b569be735d7a">  244</a></span>&#160;<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>&#160;<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>&#160; </div>
<div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga342554415f9536077408dc1c7331ab36">  254</a></span>&#160;<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>&#160;<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>&#160; </div>
<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga32b0ff4c40ffde6e08a7df624193ae40">  264</a></span>&#160;<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>&#160;<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>&#160; </div>
<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga3d2a17d5034eb296af311b56374f2b19">  273</a></span>&#160;<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>&#160;<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>&#160; </div>
<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gae7cb527a1efa854ba487bb26cfa62c77">  282</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;type = SND_SEQ_EVENT_SETPOS_TIME,\</span></div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<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>&#160;<span class="preprocessor">     (ev)-&gt;data.queue.queue = (q),\</span></div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;<span class="preprocessor">     (ev)-&gt;data.queue.param.time.time = *(rtime))</span></div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160; </div>
<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga8b6057651e037e0df565784f629b5fb8">  294</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;type = SND_SEQ_EVENT_SETPOS_TICK,\</span></div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<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>&#160;<span class="preprocessor">     (ev)-&gt;data.queue.queue = (q),\</span></div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="preprocessor">     (ev)-&gt;data.queue.param.time.tick = (ttime))</span></div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160; </div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<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>&#160;{</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    ev-&gt;<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>&#160;    ev-&gt;<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>&#160;}</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160; </div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<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>&#160;{</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    <span class="keywordflow">if</span> (bytes &gt; 16)</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;        <span class="keywordflow">return</span> -EINVAL;</div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    snd_seq_ev_set_ump(ev);</div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    memcpy(ev-&gt;<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>&#160;    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;}</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160; </div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;<span class="comment">/* set and send a queue control event */</span></div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;<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>&#160; </div>
<div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga0c7a86bb19188a00c5a3b4907d558058">  334</a></span>&#160;<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>&#160;<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>&#160; </div>
<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gab62a2e964135fdff96d21835d4cddad6">  343</a></span>&#160;<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>&#160;<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>&#160; </div>
<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gad6b0c90be37eeb583318c9077f095b86">  352</a></span>&#160;<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>&#160;<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>&#160; </div>
<div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gab77f13c0b39dec12ef983eb706925d00">  362</a></span>&#160;<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>&#160;<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>&#160; </div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<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>&#160;<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>&#160;                   <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>&#160;<span class="comment">/* delete the port */</span></div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<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>&#160; </div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;<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>&#160;<span class="comment">   (w/o exclusive &amp; time conversion)</span></div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="comment">   */</span></div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160; </div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="comment"> * set client information</span></div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment">/* sync output queue */</span></div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<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>&#160; </div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<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>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;<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>&#160; </div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;<span class="comment"> * reset client input/output pool</span></div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<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>&#160;<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>&#160; </div>
<div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga544adc6b2a43edab107962754a772778">  411</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;type = SND_SEQ_EVENT_NOTE,\</span></div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<span class="preprocessor">     snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;<span class="preprocessor">     (ev)-&gt;data.note.channel = (ch),\</span></div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="preprocessor">     (ev)-&gt;data.note.note = (key),\</span></div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<span class="preprocessor">     (ev)-&gt;data.note.velocity = (vel),\</span></div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="preprocessor">     (ev)-&gt;data.note.duration = (dur))</span></div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160; </div>
<div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga61fbd95aadd4a80f4ff8db5f8f28172f">  426</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;type = SND_SEQ_EVENT_NOTEON,\</span></div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;<span class="preprocessor">     snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;<span class="preprocessor">     (ev)-&gt;data.note.channel = (ch),\</span></div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="preprocessor">     (ev)-&gt;data.note.note = (key),\</span></div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<span class="preprocessor">     (ev)-&gt;data.note.velocity = (vel))</span></div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160; </div>
<div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gab9b466031485504fd5b4300def95de7c">  440</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;type = SND_SEQ_EVENT_NOTEOFF,\</span></div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="preprocessor">     snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="preprocessor">     (ev)-&gt;data.note.channel = (ch),\</span></div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;<span class="preprocessor">     (ev)-&gt;data.note.note = (key),\</span></div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;<span class="preprocessor">     (ev)-&gt;data.note.velocity = (vel))</span></div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160; </div>
<div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga09c562a0d1745dc1a73e7347d51af913">  454</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;type = SND_SEQ_EVENT_KEYPRESS,\</span></div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;<span class="preprocessor">     snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;<span class="preprocessor">     (ev)-&gt;data.note.channel = (ch),\</span></div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="preprocessor">     (ev)-&gt;data.note.note = (key),\</span></div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="preprocessor">     (ev)-&gt;data.note.velocity = (vel))</span></div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160; </div>
<div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga1658bb76bb89c8bac1e7b0140d72c23c">  468</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;type = SND_SEQ_EVENT_CONTROLLER,\</span></div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;<span class="preprocessor">     snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="preprocessor">     (ev)-&gt;data.control.channel = (ch),\</span></div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="preprocessor">     (ev)-&gt;data.control.param = (cc),\</span></div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;<span class="preprocessor">     (ev)-&gt;data.control.value = (val))</span></div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160; </div>
<div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gab74005fe3b04460687f88ba79695d631">  481</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;type = SND_SEQ_EVENT_PGMCHANGE,\</span></div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;<span class="preprocessor">     snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;<span class="preprocessor">     (ev)-&gt;data.control.channel = (ch),\</span></div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;<span class="preprocessor">     (ev)-&gt;data.control.value = (val))</span></div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160; </div>
<div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga8da40bfd56e00ebec775e5241d86a3e3">  493</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;type = SND_SEQ_EVENT_PITCHBEND,\</span></div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;<span class="preprocessor">     snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;<span class="preprocessor">     (ev)-&gt;data.control.channel = (ch),\</span></div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;<span class="preprocessor">     (ev)-&gt;data.control.value = (val))</span></div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160; </div>
<div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="group___seq_middle.html#gaa475a6778116256734e7da45f4eb7af8">  505</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;type = SND_SEQ_EVENT_CHANPRESS,\</span></div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="preprocessor">     snd_seq_ev_set_fixed(ev),\</span></div>
<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;<span class="preprocessor">     (ev)-&gt;data.control.channel = (ch),\</span></div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;<span class="preprocessor">     (ev)-&gt;data.control.value = (val))</span></div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160; </div>
<div class="line"><a name="l00519"></a><span class="lineno"><a class="line" href="group___seq_middle.html#ga104862c436dcc8f23892be44f50bc90f">  519</a></span>&#160;<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>&#160;<span class="preprocessor">    ((ev)-&gt;type = SND_SEQ_EVENT_SYSEX,\</span></div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;<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>&#160; </div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;<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>&#160;<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>&#160;                <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>&#160;                <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>&#160;<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>&#160;                 <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>&#160; </div>
<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;}</div>
<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160; </div>
<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;<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>&#160; </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 &amp; 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 &amp; 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&#160;<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>