<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>seq.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.2.18 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindex" href="examples.html">Examples</a> </center> <hr><h1>seq.h</h1><div class="fragment"><pre>00001 00009 <span class="comment">/*</span> 00010 <span class="comment"> * Application interface library for the ALSA driver</span> 00011 <span class="comment"> *</span> 00012 <span class="comment"> *</span> 00013 <span class="comment"> * This library is free software; you can redistribute it and/or modify</span> 00014 <span class="comment"> * it under the terms of the GNU Lesser General Public License as</span> 00015 <span class="comment"> * published by the Free Software Foundation; either version 2.1 of</span> 00016 <span class="comment"> * the License, or (at your option) any later version.</span> 00017 <span class="comment"> *</span> 00018 <span class="comment"> * This program is distributed in the hope that it will be useful,</span> 00019 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span> 00020 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span> 00021 <span class="comment"> * GNU Lesser General Public License for more details.</span> 00022 <span class="comment"> *</span> 00023 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span> 00024 <span class="comment"> * License along with this library; if not, write to the Free Software</span> 00025 <span class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span> 00026 <span class="comment"> *</span> 00027 <span class="comment"> */</span> 00028 00029 <span class="preprocessor">#ifndef __ALSA_SEQ_H</span> 00030 <span class="preprocessor"></span><span class="preprocessor">#define __ALSA_SEQ_H</span> 00031 <span class="preprocessor"></span> 00032 <span class="preprocessor">#ifdef __cplusplus</span> 00033 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { 00034 <span class="preprocessor">#endif</span> 00035 <span class="preprocessor"></span> <a name="l00044"></a><a class="code" href="group___sequencer.html#a28">00044</a> <span class="preprocessor">#define SND_SEQ_DLSYM_VERSION _dlsym_seq_001</span> 00045 <span class="preprocessor"></span> <a name="l00047"></a><a class="code" href="group___sequencer.html#a0">00047</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_seq <a class="code" href="group___sequencer.html#a0">snd_seq_t</a>; 00048 <a name="l00050"></a><a class="code" href="group___sequencer.html#a29">00050</a> <span class="preprocessor">#define SND_ALLOCA(type,ptr) \</span> 00051 <span class="preprocessor">do {\</span> 00052 <span class="preprocessor"> assert(ptr);\</span> 00053 <span class="preprocessor"> *ptr = (type##_t *)alloca(type##_sizeof());\</span> 00054 <span class="preprocessor"> memset(*ptr, 0, type##_sizeof());\</span> 00055 <span class="preprocessor">} while (0)</span> 00056 <span class="preprocessor"></span> <a name="l00060"></a><a class="code" href="group___sequencer.html#a30">00060</a> <span class="preprocessor">#define SND_SEQ_OPEN_OUTPUT 1 </span> <a name="l00061"></a><a class="code" href="group___sequencer.html#a31">00061</a> <span class="preprocessor">#define SND_SEQ_OPEN_INPUT 2 </span> <a name="l00062"></a><a class="code" href="group___sequencer.html#a32">00062</a> <span class="preprocessor">#define SND_SEQ_OPEN_DUPLEX (SND_SEQ_OPEN_OUTPUT|SND_SEQ_OPEN_INPUT) </span> <a name="l00067"></a><a class="code" href="group___sequencer.html#a33">00067</a> <span class="preprocessor">#define SND_SEQ_NONBLOCK 0x0001 </span> <a name="l00070"></a><a class="code" href="group___sequencer.html#a41">00070</a> <span class="preprocessor">typedef enum _snd_seq_type {</span> 00071 <span class="preprocessor"></span> <a class="code" href="group___sequencer.html#a41a98">SND_SEQ_TYPE_HW</a>, 00072 <a class="code" href="group___sequencer.html#a41a99">SND_SEQ_TYPE_SHM</a>, 00073 <a class="code" href="group___sequencer.html#a41a100">SND_SEQ_TYPE_INET</a> 00074 } <a class="code" href="group___sequencer.html#a1">snd_seq_type_t</a>; 00075 <a name="l00077"></a><a class="code" href="group___sequencer.html#a34">00077</a> <span class="preprocessor">#define SND_SEQ_ADDRESS_UNKNOWN 253 </span> <a name="l00078"></a><a class="code" href="group___sequencer.html#a35">00078</a> <span class="preprocessor">#define SND_SEQ_ADDRESS_SUBSCRIBERS 254 </span> <a name="l00079"></a><a class="code" href="group___sequencer.html#a36">00079</a> <span class="preprocessor">#define SND_SEQ_ADDRESS_BROADCAST 255 </span> <a name="l00082"></a><a class="code" href="group___sequencer.html#a37">00082</a> <span class="preprocessor">#define SND_SEQ_CLIENT_SYSTEM 0 </span> <a name="l00083"></a><a class="code" href="group___sequencer.html#a38">00083</a> <span class="preprocessor">#define SND_SEQ_CLIENT_DUMMY 62 </span> <a name="l00084"></a><a class="code" href="group___sequencer.html#a39">00084</a> <span class="preprocessor">#define SND_SEQ_CLIENT_OSS 63 </span> 00086 <span class="preprocessor"></span><span class="comment">/*</span> 00087 <span class="comment"> */</span> 00088 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a4">snd_seq_open</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> **handle, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> streams, <span class="keywordtype">int</span> mode); 00089 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a5">snd_seq_open_lconf</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> **handle, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> streams, <span class="keywordtype">int</span> mode, <a class="code" href="group___config.html#a1">snd_config_t</a> *lconf); 00090 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="seq_8c.html#a0">snd_seq_name</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *seq); 00091 <a class="code" href="group___sequencer.html#a1">snd_seq_type_t</a> <a class="code" href="seq_8c.html#a1">snd_seq_type</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *seq); 00092 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a6">snd_seq_close</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle); 00093 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a7">snd_seq_poll_descriptors_count</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">short</span> events); 00094 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a8">snd_seq_poll_descriptors</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keyword">struct</span> pollfd *pfds, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> space, <span class="keywordtype">short</span> events); 00095 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a9">snd_seq_poll_descriptors_revents</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *seq, <span class="keyword">struct</span> pollfd *pfds, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nfds, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> *revents); 00096 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a10">snd_seq_nonblock</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> nonblock); 00097 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a11">snd_seq_client_id</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle); 00098 00099 size_t <a class="code" href="seq_8c.html#a12">snd_seq_get_output_buffer_size</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle); 00100 size_t <a class="code" href="seq_8c.html#a13">snd_seq_get_input_buffer_size</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle); 00101 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a14">snd_seq_set_output_buffer_size</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, size_t size); 00102 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a15">snd_seq_set_input_buffer_size</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, size_t size); 00103 <a name="l00105"></a><a class="code" href="group___sequencer.html#a2">00105</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_seq_system_info <a class="code" href="group___sequencer.html#a2">snd_seq_system_info_t</a>; 00106 00107 size_t <a class="code" href="group___sequencer.html#a17">snd_seq_system_info_sizeof</a>(<span class="keywordtype">void</span>); <a name="l00109"></a><a class="code" href="group___sequencer.html#a40">00109</a> <span class="preprocessor">#define snd_seq_system_info_alloca(ptr) \</span> 00110 <span class="preprocessor"> SND_ALLOCA(snd_seq_system_info, ptr)</span> 00111 <span class="preprocessor"></span><span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a17">snd_seq_system_info_malloc</a>(<a class="code" href="group___sequencer.html#a2">snd_seq_system_info_t</a> **ptr); 00112 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a18">snd_seq_system_info_free</a>(<a class="code" href="group___sequencer.html#a2">snd_seq_system_info_t</a> *ptr); 00113 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a19">snd_seq_system_info_copy</a>(<a class="code" href="group___sequencer.html#a2">snd_seq_system_info_t</a> *dst, <span class="keyword">const</span> <a class="code" href="group___sequencer.html#a2">snd_seq_system_info_t</a> *src); 00114 00115 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a20">snd_seq_system_info_get_queues</a>(<span class="keyword">const</span> <a class="code" href="group___sequencer.html#a2">snd_seq_system_info_t</a> *info); 00116 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a21">snd_seq_system_info_get_clients</a>(<span class="keyword">const</span> <a class="code" href="group___sequencer.html#a2">snd_seq_system_info_t</a> *info); 00117 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a22">snd_seq_system_info_get_ports</a>(<span class="keyword">const</span> <a class="code" href="group___sequencer.html#a2">snd_seq_system_info_t</a> *info); 00118 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a23">snd_seq_system_info_get_channels</a>(<span class="keyword">const</span> <a class="code" href="group___sequencer.html#a2">snd_seq_system_info_t</a> *info); 00119 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a24">snd_seq_system_info_get_cur_clients</a>(<span class="keyword">const</span> <a class="code" href="group___sequencer.html#a2">snd_seq_system_info_t</a> *info); 00120 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a25">snd_seq_system_info_get_cur_queues</a>(<span class="keyword">const</span> <a class="code" href="group___sequencer.html#a2">snd_seq_system_info_t</a> *info); 00121 00122 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a26">snd_seq_system_info</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="group___sequencer.html#a2">snd_seq_system_info_t</a> *info); 00123 <a name="l00135"></a><a class="code" href="group___seq_client.html#a0">00135</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_seq_client_info <a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a>; 00136 <a name="l00138"></a><a class="code" href="group___seq_client.html#a41">00138</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="group___seq_client.html#a41">snd_seq_client_type</a> { 00139 <a class="code" href="group___seq_client.html#a41a101">SND_SEQ_USER_CLIENT</a> = 1, 00140 <a class="code" href="group___seq_client.html#a41a102">SND_SEQ_KERNEL_CLIENT</a> = 2 00141 } <a class="code" href="group___seq_client.html#a1">snd_seq_client_type_t</a>; 00142 00143 size_t <a class="code" href="group___seq_client.html#a3">snd_seq_client_info_sizeof</a>(<span class="keywordtype">void</span>); <a name="l00145"></a><a class="code" href="group___seq_client.html#a39">00145</a> <span class="preprocessor">#define snd_seq_client_info_alloca(ptr) \</span> 00146 <span class="preprocessor"> SND_ALLOCA(snd_seq_client_info, ptr)</span> 00147 <span class="preprocessor"></span><span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a28">snd_seq_client_info_malloc</a>(<a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> **ptr); 00148 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a29">snd_seq_client_info_free</a>(<a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *ptr); 00149 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a30">snd_seq_client_info_copy</a>(<a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *dst, <span class="keyword">const</span> <a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *src); 00150 00151 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a31">snd_seq_client_info_get_client</a>(<span class="keyword">const</span> <a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info); 00152 <a class="code" href="group___seq_client.html#a1">snd_seq_client_type_t</a> <a class="code" href="seq_8c.html#a32">snd_seq_client_info_get_type</a>(<span class="keyword">const</span> <a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info); 00153 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="seq_8c.html#a33">snd_seq_client_info_get_name</a>(<a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info); 00154 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a34">snd_seq_client_info_get_broadcast_filter</a>(<span class="keyword">const</span> <a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info); 00155 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a35">snd_seq_client_info_get_error_bounce</a>(<span class="keyword">const</span> <a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info); 00156 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="seq_8c.html#a36">snd_seq_client_info_get_event_filter</a>(<span class="keyword">const</span> <a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info); 00157 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a37">snd_seq_client_info_get_num_ports</a>(<span class="keyword">const</span> <a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info); 00158 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a38">snd_seq_client_info_get_event_lost</a>(<span class="keyword">const</span> <a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info); 00159 00160 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a39">snd_seq_client_info_set_client</a>(<a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info, <span class="keywordtype">int</span> client); 00161 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a40">snd_seq_client_info_set_name</a>(<a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info, <span class="keyword">const</span> <span class="keywordtype">char</span> *name); 00162 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a41">snd_seq_client_info_set_broadcast_filter</a>(<a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info, <span class="keywordtype">int</span> val); 00163 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a42">snd_seq_client_info_set_error_bounce</a>(<a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info, <span class="keywordtype">int</span> val); 00164 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a43">snd_seq_client_info_set_event_filter</a>(<a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *filter); 00165 00166 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a45">snd_seq_get_client_info</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info); 00167 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a44">snd_seq_get_any_client_info</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> client, <a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info); 00168 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a46">snd_seq_set_client_info</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info); 00169 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a47">snd_seq_query_next_client</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="group___seq_client.html#a0">snd_seq_client_info_t</a> *info); 00170 00171 <span class="comment">/*</span> 00172 <span class="comment"> */</span> 00173 <a name="l00175"></a><a class="code" href="group___seq_client.html#a2">00175</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_seq_client_pool <a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a>; 00176 00177 size_t <a class="code" href="group___seq_client.html#a24">snd_seq_client_pool_sizeof</a>(<span class="keywordtype">void</span>); <a name="l00179"></a><a class="code" href="group___seq_client.html#a40">00179</a> <span class="preprocessor">#define snd_seq_client_pool_alloca(ptr) \</span> 00180 <span class="preprocessor"> SND_ALLOCA(snd_seq_client_pool, ptr)</span> 00181 <span class="preprocessor"></span><span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a222">snd_seq_client_pool_malloc</a>(<a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> **ptr); 00182 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a223">snd_seq_client_pool_free</a>(<a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *ptr); 00183 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a224">snd_seq_client_pool_copy</a>(<a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *dst, <span class="keyword">const</span> <a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *src); 00184 00185 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a225">snd_seq_client_pool_get_client</a>(<span class="keyword">const</span> <a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *info); 00186 size_t <a class="code" href="seq_8c.html#a226">snd_seq_client_pool_get_output_pool</a>(<span class="keyword">const</span> <a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *info); 00187 size_t <a class="code" href="seq_8c.html#a227">snd_seq_client_pool_get_input_pool</a>(<span class="keyword">const</span> <a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *info); 00188 size_t <a class="code" href="seq_8c.html#a228">snd_seq_client_pool_get_output_room</a>(<span class="keyword">const</span> <a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *info); 00189 size_t <a class="code" href="seq_8c.html#a229">snd_seq_client_pool_get_output_free</a>(<span class="keyword">const</span> <a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *info); 00190 size_t <a class="code" href="seq_8c.html#a230">snd_seq_client_pool_get_input_free</a>(<span class="keyword">const</span> <a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *info); 00191 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a231">snd_seq_client_pool_set_output_pool</a>(<a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *info, size_t size); 00192 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a232">snd_seq_client_pool_set_input_pool</a>(<a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *info, size_t size); 00193 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a233">snd_seq_client_pool_set_output_room</a>(<a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *info, size_t size); 00194 00195 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a234">snd_seq_get_client_pool</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *info); 00196 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a235">snd_seq_set_client_pool</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="group___seq_client.html#a2">snd_seq_client_pool_t</a> *info); 00197 00198 <a name="l00210"></a><a class="code" href="group___seq_port.html#a0">00210</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_seq_port_info <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a>; 00211 <a name="l00213"></a><a class="code" href="group___seq_port.html#a33">00213</a> <span class="preprocessor">#define SND_SEQ_PORT_SYSTEM_TIMER 0 </span> <a name="l00214"></a><a class="code" href="group___seq_port.html#a34">00214</a> <span class="preprocessor">#define SND_SEQ_PORT_SYSTEM_ANNOUNCE 1 </span> <a name="l00217"></a><a class="code" href="group___seq_port.html#a35">00217</a> <span class="preprocessor">#define SND_SEQ_PORT_CAP_READ (1<<0) </span> <a name="l00218"></a><a class="code" href="group___seq_port.html#a36">00218</a> <span class="preprocessor">#define SND_SEQ_PORT_CAP_WRITE (1<<1) </span> <a name="l00220"></a><a class="code" href="group___seq_port.html#a37">00220</a> <span class="preprocessor">#define SND_SEQ_PORT_CAP_SYNC_READ (1<<2) </span> <a name="l00221"></a><a class="code" href="group___seq_port.html#a38">00221</a> <span class="preprocessor">#define SND_SEQ_PORT_CAP_SYNC_WRITE (1<<3) </span> <a name="l00223"></a><a class="code" href="group___seq_port.html#a39">00223</a> <span class="preprocessor">#define SND_SEQ_PORT_CAP_DUPLEX (1<<4) </span> <a name="l00225"></a><a class="code" href="group___seq_port.html#a40">00225</a> <span class="preprocessor">#define SND_SEQ_PORT_CAP_SUBS_READ (1<<5) </span> <a name="l00226"></a><a class="code" href="group___seq_port.html#a41">00226</a> <span class="preprocessor">#define SND_SEQ_PORT_CAP_SUBS_WRITE (1<<6) </span> <a name="l00227"></a><a class="code" href="group___seq_port.html#a42">00227</a> <span class="preprocessor">#define SND_SEQ_PORT_CAP_NO_EXPORT (1<<7) </span> <a name="l00230"></a><a class="code" href="group___seq_port.html#a43">00230</a> <span class="preprocessor">#define SND_SEQ_PORT_TYPE_SPECIFIC (1<<0) </span> <a name="l00231"></a><a class="code" href="group___seq_port.html#a44">00231</a> <span class="preprocessor">#define SND_SEQ_PORT_TYPE_MIDI_GENERIC (1<<1) </span> <a name="l00232"></a><a class="code" href="group___seq_port.html#a45">00232</a> <span class="preprocessor">#define SND_SEQ_PORT_TYPE_MIDI_GM (1<<2) </span> <a name="l00233"></a><a class="code" href="group___seq_port.html#a46">00233</a> <span class="preprocessor">#define SND_SEQ_PORT_TYPE_MIDI_GS (1<<3) </span> <a name="l00234"></a><a class="code" href="group___seq_port.html#a47">00234</a> <span class="preprocessor">#define SND_SEQ_PORT_TYPE_MIDI_XG (1<<4) </span> <a name="l00235"></a><a class="code" href="group___seq_port.html#a48">00235</a> <span class="preprocessor">#define SND_SEQ_PORT_TYPE_MIDI_MT32 (1<<5) </span> <a name="l00236"></a><a class="code" href="group___seq_port.html#a49">00236</a> <span class="preprocessor">#define SND_SEQ_PORT_TYPE_SYNTH (1<<10) </span> <a name="l00237"></a><a class="code" href="group___seq_port.html#a50">00237</a> <span class="preprocessor">#define SND_SEQ_PORT_TYPE_DIRECT_SAMPLE (1<<11) </span> <a name="l00238"></a><a class="code" href="group___seq_port.html#a51">00238</a> <span class="preprocessor">#define SND_SEQ_PORT_TYPE_SAMPLE (1<<12) </span> <a name="l00239"></a><a class="code" href="group___seq_port.html#a52">00239</a> <span class="preprocessor">#define SND_SEQ_PORT_TYPE_APPLICATION (1<<20) </span> 00242 <span class="preprocessor">size_t snd_seq_port_info_sizeof(void);</span> 00243 <span class="preprocessor"></span> <a name="l00244"></a><a class="code" href="group___seq_port.html#a53">00244</a> <span class="preprocessor">#define snd_seq_port_info_alloca(ptr) \</span> 00245 <span class="preprocessor"> SND_ALLOCA(snd_seq_port_info, ptr)</span> 00246 <span class="preprocessor"></span><span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a49">snd_seq_port_info_malloc</a>(<a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> **ptr); 00247 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a50">snd_seq_port_info_free</a>(<a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *ptr); 00248 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a51">snd_seq_port_info_copy</a>(<a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *dst, <span class="keyword">const</span> <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *src); 00249 00250 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a52">snd_seq_port_info_get_client</a>(<span class="keyword">const</span> <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00251 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a53">snd_seq_port_info_get_port</a>(<span class="keyword">const</span> <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00252 <span class="keyword">const</span> <a class="code" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *<a class="code" href="seq_8c.html#a54">snd_seq_port_info_get_addr</a>(<span class="keyword">const</span> <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00253 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="seq_8c.html#a55">snd_seq_port_info_get_name</a>(<span class="keyword">const</span> <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00254 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a56">snd_seq_port_info_get_capability</a>(<span class="keyword">const</span> <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00255 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a57">snd_seq_port_info_get_type</a>(<span class="keyword">const</span> <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00256 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a60">snd_seq_port_info_get_midi_channels</a>(<span class="keyword">const</span> <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00257 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a61">snd_seq_port_info_get_midi_voices</a>(<span class="keyword">const</span> <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00258 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a62">snd_seq_port_info_get_synth_voices</a>(<span class="keyword">const</span> <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00259 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a58">snd_seq_port_info_get_read_use</a>(<span class="keyword">const</span> <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00260 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a59">snd_seq_port_info_get_write_use</a>(<span class="keyword">const</span> <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00261 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a63">snd_seq_port_info_get_port_specified</a>(<span class="keyword">const</span> <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00262 00263 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a64">snd_seq_port_info_set_client</a>(<a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, <span class="keywordtype">int</span> client); 00264 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a65">snd_seq_port_info_set_port</a>(<a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, <span class="keywordtype">int</span> port); 00265 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a66">snd_seq_port_info_set_addr</a>(<a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, <span class="keyword">const</span> <a class="code" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *addr); 00266 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a67">snd_seq_port_info_set_name</a>(<a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, <span class="keyword">const</span> <span class="keywordtype">char</span> *name); 00267 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a68">snd_seq_port_info_set_capability</a>(<a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> capability); 00268 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a69">snd_seq_port_info_set_type</a>(<a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> type); 00269 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a70">snd_seq_port_info_set_midi_channels</a>(<a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, <span class="keywordtype">int</span> channels); 00270 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a71">snd_seq_port_info_set_midi_voices</a>(<a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, <span class="keywordtype">int</span> voices); 00271 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a72">snd_seq_port_info_set_synth_voices</a>(<a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, <span class="keywordtype">int</span> voices); 00272 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a73">snd_seq_port_info_set_port_specified</a>(<a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info, <span class="keywordtype">int</span> val); 00273 00274 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a74">snd_seq_create_port</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00275 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a75">snd_seq_delete_port</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> port); 00276 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a77">snd_seq_get_port_info</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> port, <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00277 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a76">snd_seq_get_any_port_info</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> client, <span class="keywordtype">int</span> port, <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00278 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a78">snd_seq_set_port_info</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> port, <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00279 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a79">snd_seq_query_next_port</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="group___seq_port.html#a0">snd_seq_port_info_t</a> *info); 00280 <a name="l00292"></a><a class="code" href="group___seq_subscribe.html#a0">00292</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_seq_port_subscribe <a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a>; 00293 00294 size_t <a class="code" href="group___seq_subscribe.html#a2">snd_seq_port_subscribe_sizeof</a>(<span class="keywordtype">void</span>); <a name="l00296"></a><a class="code" href="group___seq_subscribe.html#a43">00296</a> <span class="preprocessor">#define snd_seq_port_subscribe_alloca(ptr) \</span> 00297 <span class="preprocessor"> SND_ALLOCA(snd_seq_port_subscribe, ptr)</span> 00298 <span class="preprocessor"></span><span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a81">snd_seq_port_subscribe_malloc</a>(<a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> **ptr); 00299 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a82">snd_seq_port_subscribe_free</a>(<a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *ptr); 00300 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a83">snd_seq_port_subscribe_copy</a>(<a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *dst, <span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *src); 00301 00302 <span class="keyword">const</span> <a class="code" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *<a class="code" href="seq_8c.html#a84">snd_seq_port_subscribe_get_sender</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *info); 00303 <span class="keyword">const</span> <a class="code" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *<a class="code" href="seq_8c.html#a85">snd_seq_port_subscribe_get_dest</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *info); 00304 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a86">snd_seq_port_subscribe_get_queue</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *info); 00305 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a87">snd_seq_port_subscribe_get_exclusive</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *info); 00306 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a88">snd_seq_port_subscribe_get_time_update</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *info); 00307 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a89">snd_seq_port_subscribe_get_time_real</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *info); 00308 00309 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a90">snd_seq_port_subscribe_set_sender</a>(<a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *info, <span class="keyword">const</span> <a class="code" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *addr); 00310 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a91">snd_seq_port_subscribe_set_dest</a>(<a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *info, <span class="keyword">const</span> <a class="code" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *addr); 00311 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a92">snd_seq_port_subscribe_set_queue</a>(<a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *info, <span class="keywordtype">int</span> q); 00312 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a93">snd_seq_port_subscribe_set_voices</a>(<a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *info, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> voices); 00313 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a94">snd_seq_port_subscribe_set_exclusive</a>(<a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *info, <span class="keywordtype">int</span> val); 00314 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a95">snd_seq_port_subscribe_set_time_update</a>(<a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *info, <span class="keywordtype">int</span> val); 00315 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a96">snd_seq_port_subscribe_set_time_real</a>(<a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *info, <span class="keywordtype">int</span> val); 00316 00317 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a97">snd_seq_get_port_subscription</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *sub); 00318 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a98">snd_seq_subscribe_port</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *sub); 00319 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a99">snd_seq_unsubscribe_port</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="group___seq_subscribe.html#a0">snd_seq_port_subscribe_t</a> *sub); 00320 00321 <span class="comment">/*</span> 00322 <span class="comment"> */</span> 00323 <a name="l00325"></a><a class="code" href="group___seq_subscribe.html#a1">00325</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_seq_query_subscribe <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a>; 00326 <a name="l00328"></a><a class="code" href="group___seq_subscribe.html#a45">00328</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { 00329 <a class="code" href="group___seq_subscribe.html#a45a103">SND_SEQ_QUERY_SUBS_READ</a>, 00330 <a class="code" href="group___seq_subscribe.html#a45a104">SND_SEQ_QUERY_SUBS_WRITE</a> 00331 } <a class="code" href="group___seq_subscribe.html#a45">snd_seq_query_subs_type_t</a>; 00332 00333 size_t <a class="code" href="group___seq_subscribe.html#a22">snd_seq_query_subscribe_sizeof</a>(<span class="keywordtype">void</span>); <a name="l00335"></a><a class="code" href="group___seq_subscribe.html#a44">00335</a> <span class="preprocessor">#define snd_seq_query_subscribe_alloca(ptr) \</span> 00336 <span class="preprocessor"> SND_ALLOCA(snd_seq_query_subscribe, ptr)</span> 00337 <span class="preprocessor"></span><span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a101">snd_seq_query_subscribe_malloc</a>(<a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> **ptr); 00338 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a102">snd_seq_query_subscribe_free</a>(<a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *ptr); 00339 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a103">snd_seq_query_subscribe_copy</a>(<a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *dst, <span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *src); 00340 00341 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a104">snd_seq_query_subscribe_get_client</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info); 00342 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a105">snd_seq_query_subscribe_get_port</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info); 00343 <span class="keyword">const</span> <a class="code" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *<a class="code" href="seq_8c.html#a106">snd_seq_query_subscribe_get_root</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info); 00344 <a class="code" href="group___seq_subscribe.html#a45">snd_seq_query_subs_type_t</a> <a class="code" href="seq_8c.html#a107">snd_seq_query_subscribe_get_type</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info); 00345 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a108">snd_seq_query_subscribe_get_index</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info); 00346 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a109">snd_seq_query_subscribe_get_num_subs</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info); 00347 <span class="keyword">const</span> <a class="code" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *<a class="code" href="seq_8c.html#a110">snd_seq_query_subscribe_get_addr</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info); 00348 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a111">snd_seq_query_subscribe_get_queue</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info); 00349 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a112">snd_seq_query_subscribe_get_exclusive</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info); 00350 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a113">snd_seq_query_subscribe_get_time_update</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info); 00351 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a114">snd_seq_query_subscribe_get_time_real</a>(<span class="keyword">const</span> <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info); 00352 00353 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a115">snd_seq_query_subscribe_set_client</a>(<a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info, <span class="keywordtype">int</span> client); 00354 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a116">snd_seq_query_subscribe_set_port</a>(<a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info, <span class="keywordtype">int</span> port); 00355 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a117">snd_seq_query_subscribe_set_root</a>(<a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info, <span class="keyword">const</span> <a class="code" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *addr); 00356 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a118">snd_seq_query_subscribe_set_type</a>(<a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info, <a class="code" href="group___seq_subscribe.html#a45">snd_seq_query_subs_type_t</a> type); 00357 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a119">snd_seq_query_subscribe_set_index</a>(<a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> *info, <span class="keywordtype">int</span> index); 00358 00359 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a120">snd_seq_query_port_subscribers</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *seq, <a class="code" href="group___seq_subscribe.html#a1">snd_seq_query_subscribe_t</a> * subs); 00360 <a name="l00372"></a><a class="code" href="group___seq_queue.html#a0">00372</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_seq_queue_info <a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a>; <a name="l00374"></a><a class="code" href="group___seq_queue.html#a1">00374</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_seq_queue_status <a class="code" href="group___seq_queue.html#a1">snd_seq_queue_status_t</a>; <a name="l00376"></a><a class="code" href="group___seq_queue.html#a2">00376</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_seq_queue_tempo <a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a>; <a name="l00378"></a><a class="code" href="group___seq_queue.html#a3">00378</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_seq_queue_timer <a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a>; 00379 <a name="l00381"></a><a class="code" href="group___seq_queue.html#a64">00381</a> <span class="preprocessor">#define SND_SEQ_QUEUE_DIRECT 253 </span> 00383 <span class="preprocessor">size_t snd_seq_queue_info_sizeof(void);</span> 00384 <span class="preprocessor"></span> <a name="l00385"></a><a class="code" href="group___seq_queue.html#a65">00385</a> <span class="preprocessor">#define snd_seq_queue_info_alloca(ptr) \</span> 00386 <span class="preprocessor"> SND_ALLOCA(snd_seq_queue_info, ptr)</span> 00387 <span class="preprocessor"></span><span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a122">snd_seq_queue_info_malloc</a>(<a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> **ptr); 00388 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a123">snd_seq_queue_info_free</a>(<a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *ptr); 00389 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a124">snd_seq_queue_info_copy</a>(<a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *dst, <span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *src); 00390 00391 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a125">snd_seq_queue_info_get_queue</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *info); 00392 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="seq_8c.html#a126">snd_seq_queue_info_get_name</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *info); 00393 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a127">snd_seq_queue_info_get_owner</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *info); 00394 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a128">snd_seq_queue_info_get_locked</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *info); 00395 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a129">snd_seq_queue_info_get_flags</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *info); 00396 00397 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a130">snd_seq_queue_info_set_name</a>(<a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *info, <span class="keyword">const</span> <span class="keywordtype">char</span> *name); 00398 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a131">snd_seq_queue_info_set_owner</a>(<a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *info, <span class="keywordtype">int</span> owner); 00399 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a132">snd_seq_queue_info_set_locked</a>(<a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *info, <span class="keywordtype">int</span> locked); 00400 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a133">snd_seq_queue_info_set_flags</a>(<a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *info, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags); 00401 00402 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a134">snd_seq_create_queue</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *seq, <a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *info); 00403 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a135">snd_seq_alloc_named_queue</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *seq, <span class="keyword">const</span> <span class="keywordtype">char</span> *name); 00404 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a136">snd_seq_alloc_queue</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle); 00405 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a137">snd_seq_free_queue</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> q); 00406 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a138">snd_seq_get_queue_info</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *seq, <span class="keywordtype">int</span> q, <a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *info); 00407 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a139">snd_seq_set_queue_info</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *seq, <span class="keywordtype">int</span> q, <a class="code" href="group___seq_queue.html#a0">snd_seq_queue_info_t</a> *info); 00408 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a140">snd_seq_query_named_queue</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *seq, <span class="keyword">const</span> <span class="keywordtype">char</span> *name); 00409 00410 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a141">snd_seq_get_queue_usage</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> q); 00411 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a142">snd_seq_set_queue_usage</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> q, <span class="keywordtype">int</span> used); 00412 00413 <span class="comment">/*</span> 00414 <span class="comment"> */</span> 00415 size_t <a class="code" href="group___seq_queue.html#a26">snd_seq_queue_status_sizeof</a>(<span class="keywordtype">void</span>); <a name="l00417"></a><a class="code" href="group___seq_queue.html#a66">00417</a> <span class="preprocessor">#define snd_seq_queue_status_alloca(ptr) \</span> 00418 <span class="preprocessor"> SND_ALLOCA(snd_seq_queue_status, ptr)</span> 00419 <span class="preprocessor"></span><span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a144">snd_seq_queue_status_malloc</a>(<a class="code" href="group___seq_queue.html#a1">snd_seq_queue_status_t</a> **ptr); 00420 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a145">snd_seq_queue_status_free</a>(<a class="code" href="group___seq_queue.html#a1">snd_seq_queue_status_t</a> *ptr); 00421 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a146">snd_seq_queue_status_copy</a>(<a class="code" href="group___seq_queue.html#a1">snd_seq_queue_status_t</a> *dst, <span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a1">snd_seq_queue_status_t</a> *src); 00422 00423 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a147">snd_seq_queue_status_get_queue</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a1">snd_seq_queue_status_t</a> *info); 00424 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a148">snd_seq_queue_status_get_events</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a1">snd_seq_queue_status_t</a> *info); 00425 <a class="code" href="group___seq_events.html#a4">snd_seq_tick_time_t</a> <a class="code" href="seq_8c.html#a149">snd_seq_queue_status_get_tick_time</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a1">snd_seq_queue_status_t</a> *info); 00426 <span class="keyword">const</span> <a class="code" href="structsnd__seq__real__time.html">snd_seq_real_time_t</a> *<a class="code" href="seq_8c.html#a150">snd_seq_queue_status_get_real_time</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a1">snd_seq_queue_status_t</a> *info); 00427 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a151">snd_seq_queue_status_get_status</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a1">snd_seq_queue_status_t</a> *info); 00428 00429 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a152">snd_seq_get_queue_status</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> q, <a class="code" href="group___seq_queue.html#a1">snd_seq_queue_status_t</a> *status); 00430 00431 <span class="comment">/*</span> 00432 <span class="comment"> */</span> 00433 size_t <a class="code" href="group___seq_queue.html#a36">snd_seq_queue_tempo_sizeof</a>(<span class="keywordtype">void</span>); <a name="l00435"></a><a class="code" href="group___seq_queue.html#a67">00435</a> <span class="preprocessor">#define snd_seq_queue_tempo_alloca(ptr) \</span> 00436 <span class="preprocessor"> SND_ALLOCA(snd_seq_queue_tempo, ptr)</span> 00437 <span class="preprocessor"></span><span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a154">snd_seq_queue_tempo_malloc</a>(<a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> **ptr); 00438 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a155">snd_seq_queue_tempo_free</a>(<a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *ptr); 00439 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a156">snd_seq_queue_tempo_copy</a>(<a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *dst, <span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *src); 00440 00441 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a157">snd_seq_queue_tempo_get_queue</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *info); 00442 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a158">snd_seq_queue_tempo_get_tempo</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *info); 00443 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a159">snd_seq_queue_tempo_get_ppq</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *info); 00444 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a160">snd_seq_queue_tempo_get_skew</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *info); 00445 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a161">snd_seq_queue_tempo_get_skew_base</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *info); 00446 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a162">snd_seq_queue_tempo_set_tempo</a>(<a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *info, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> tempo); 00447 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a163">snd_seq_queue_tempo_set_ppq</a>(<a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *info, <span class="keywordtype">int</span> ppq); 00448 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a164">snd_seq_queue_tempo_set_skew</a>(<a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *info, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> skew); 00449 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a165">snd_seq_queue_tempo_set_skew_base</a>(<a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *info, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> base); 00450 00451 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a166">snd_seq_get_queue_tempo</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> q, <a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *tempo); 00452 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a167">snd_seq_set_queue_tempo</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> q, <a class="code" href="group___seq_queue.html#a2">snd_seq_queue_tempo_t</a> *tempo); 00453 00454 <span class="comment">/*</span> 00455 <span class="comment"> */</span> 00456 <a name="l00458"></a><a class="code" href="group___seq_queue.html#a69">00458</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { 00459 SND_SEQ_TIMER_ALSA = 0, <span class="comment">/* ALSA timer */</span> 00460 SND_SEQ_TIMER_MIDI_CLOCK = 1, <span class="comment">/* Midi Clock (CLOCK event) */</span> 00461 SND_SEQ_TIMER_MIDI_TICK = 2 <span class="comment">/* Midi Timer Tick (TICK event */</span> 00462 } <a class="code" href="group___seq_queue.html#a69">snd_seq_queue_timer_type_t</a>; 00463 00464 size_t <a class="code" href="group___seq_queue.html#a51">snd_seq_queue_timer_sizeof</a>(<span class="keywordtype">void</span>); <a name="l00466"></a><a class="code" href="group___seq_queue.html#a68">00466</a> <span class="preprocessor">#define snd_seq_queue_timer_alloca(ptr) \</span> 00467 <span class="preprocessor"> SND_ALLOCA(snd_seq_queue_timer, ptr)</span> 00468 <span class="preprocessor"></span><span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a169">snd_seq_queue_timer_malloc</a>(<a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a> **ptr); 00469 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a170">snd_seq_queue_timer_free</a>(<a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a> *ptr); 00470 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a171">snd_seq_queue_timer_copy</a>(<a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a> *dst, <span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a> *src); 00471 00472 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a172">snd_seq_queue_timer_get_queue</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a> *info); 00473 <a class="code" href="group___seq_queue.html#a69">snd_seq_queue_timer_type_t</a> <a class="code" href="seq_8c.html#a173">snd_seq_queue_timer_get_type</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a> *info); 00474 <span class="keyword">const</span> <a class="code" href="group___timer.html#a0">snd_timer_id_t</a> *<a class="code" href="seq_8c.html#a174">snd_seq_queue_timer_get_id</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a> *info); 00475 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a175">snd_seq_queue_timer_get_resolution</a>(<span class="keyword">const</span> <a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a> *info); 00476 00477 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a176">snd_seq_queue_timer_set_type</a>(<a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a> *info, <a class="code" href="group___seq_queue.html#a69">snd_seq_queue_timer_type_t</a> type); 00478 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a177">snd_seq_queue_timer_set_id</a>(<a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a> *info, <span class="keyword">const</span> <a class="code" href="group___timer.html#a0">snd_timer_id_t</a> *id); 00479 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a178">snd_seq_queue_timer_set_resolution</a>(<a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a> *info, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> resolution); 00480 00481 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a179">snd_seq_get_queue_timer</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> q, <a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a> *timer); 00482 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a180">snd_seq_set_queue_timer</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <span class="keywordtype">int</span> q, <a class="code" href="group___seq_queue.html#a3">snd_seq_queue_timer_t</a> *timer); 00483 00493 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a181">snd_seq_free_event</a>(<a class="code" href="structsnd__seq__event.html">snd_seq_event_t</a> *ev); 00494 ssize_t <a class="code" href="seq_8c.html#a182">snd_seq_event_length</a>(<a class="code" href="structsnd__seq__event.html">snd_seq_event_t</a> *ev); 00495 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a183">snd_seq_event_output</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="structsnd__seq__event.html">snd_seq_event_t</a> *ev); 00496 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a184">snd_seq_event_output_buffer</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="structsnd__seq__event.html">snd_seq_event_t</a> *ev); 00497 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a186">snd_seq_event_output_direct</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="structsnd__seq__event.html">snd_seq_event_t</a> *ev); 00498 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a192">snd_seq_event_input</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="structsnd__seq__event.html">snd_seq_event_t</a> **ev); 00499 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a194">snd_seq_event_input_pending</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *seq, <span class="keywordtype">int</span> fetch_sequencer); 00500 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a188">snd_seq_drain_output</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle); 00501 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a187">snd_seq_event_output_pending</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *seq); 00502 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a189">snd_seq_extract_output</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="structsnd__seq__event.html">snd_seq_event_t</a> **ev); 00503 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a197">snd_seq_drop_output</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle); 00504 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a195">snd_seq_drop_output_buffer</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle); 00505 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a198">snd_seq_drop_input</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle); 00506 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a196">snd_seq_drop_input_buffer</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle); 00507 <a name="l00509"></a><a class="code" href="group___seq_event.html#a0">00509</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_snd_seq_remove_events <a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a>; 00510 <a name="l00512"></a><a class="code" href="group___seq_event.html#a34">00512</a> <span class="preprocessor">#define SND_SEQ_REMOVE_INPUT (1<<0) </span> <a name="l00513"></a><a class="code" href="group___seq_event.html#a35">00513</a> <span class="preprocessor">#define SND_SEQ_REMOVE_OUTPUT (1<<1) </span> <a name="l00514"></a><a class="code" href="group___seq_event.html#a36">00514</a> <span class="preprocessor">#define SND_SEQ_REMOVE_DEST (1<<2) </span> <a name="l00515"></a><a class="code" href="group___seq_event.html#a37">00515</a> <span class="preprocessor">#define SND_SEQ_REMOVE_DEST_CHANNEL (1<<3) </span> <a name="l00516"></a><a class="code" href="group___seq_event.html#a38">00516</a> <span class="preprocessor">#define SND_SEQ_REMOVE_TIME_BEFORE (1<<4) </span> <a name="l00517"></a><a class="code" href="group___seq_event.html#a39">00517</a> <span class="preprocessor">#define SND_SEQ_REMOVE_TIME_AFTER (1<<5) </span> <a name="l00518"></a><a class="code" href="group___seq_event.html#a40">00518</a> <span class="preprocessor">#define SND_SEQ_REMOVE_TIME_TICK (1<<6) </span> <a name="l00519"></a><a class="code" href="group___seq_event.html#a41">00519</a> <span class="preprocessor">#define SND_SEQ_REMOVE_EVENT_TYPE (1<<7) </span> <a name="l00520"></a><a class="code" href="group___seq_event.html#a42">00520</a> <span class="preprocessor">#define SND_SEQ_REMOVE_IGNORE_OFF (1<<8) </span> <a name="l00521"></a><a class="code" href="group___seq_event.html#a43">00521</a> <span class="preprocessor">#define SND_SEQ_REMOVE_TAG_MATCH (1<<9) </span> 00523 <span class="preprocessor">size_t snd_seq_remove_events_sizeof(void);</span> 00524 <span class="preprocessor"></span> <a name="l00525"></a><a class="code" href="group___seq_event.html#a44">00525</a> <span class="preprocessor">#define snd_seq_remove_events_alloca(ptr) \</span> 00526 <span class="preprocessor"> SND_ALLOCA(snd_seq_remove_events, ptr)</span> 00527 <span class="preprocessor"></span><span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a200">snd_seq_remove_events_malloc</a>(<a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> **ptr); 00528 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a201">snd_seq_remove_events_free</a>(<a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *ptr); 00529 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a202">snd_seq_remove_events_copy</a>(<a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *dst, <span class="keyword">const</span> <a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *src); 00530 00531 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a203">snd_seq_remove_events_get_condition</a>(<span class="keyword">const</span> <a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info); 00532 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a204">snd_seq_remove_events_get_queue</a>(<span class="keyword">const</span> <a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info); 00533 <span class="keyword">const</span> <a class="code" href="unionsnd__seq__timestamp.html">snd_seq_timestamp_t</a> *<a class="code" href="seq_8c.html#a205">snd_seq_remove_events_get_time</a>(<span class="keyword">const</span> <a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info); 00534 <span class="keyword">const</span> <a class="code" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *<a class="code" href="seq_8c.html#a206">snd_seq_remove_events_get_dest</a>(<span class="keyword">const</span> <a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info); 00535 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a207">snd_seq_remove_events_get_channel</a>(<span class="keyword">const</span> <a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info); 00536 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a208">snd_seq_remove_events_get_event_type</a>(<span class="keyword">const</span> <a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info); 00537 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a209">snd_seq_remove_events_get_tag</a>(<span class="keyword">const</span> <a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info); 00538 00539 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a210">snd_seq_remove_events_set_condition</a>(<a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags); 00540 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a211">snd_seq_remove_events_set_queue</a>(<a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info, <span class="keywordtype">int</span> queue); 00541 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a212">snd_seq_remove_events_set_time</a>(<a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info, <span class="keyword">const</span> <a class="code" href="unionsnd__seq__timestamp.html">snd_seq_timestamp_t</a> *time); 00542 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a213">snd_seq_remove_events_set_dest</a>(<a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info, <span class="keyword">const</span> <a class="code" href="structsnd__seq__addr.html">snd_seq_addr_t</a> *addr); 00543 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a214">snd_seq_remove_events_set_channel</a>(<a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info, <span class="keywordtype">int</span> channel); 00544 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a215">snd_seq_remove_events_set_event_type</a>(<a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info, <span class="keywordtype">int</span> type); 00545 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a216">snd_seq_remove_events_set_tag</a>(<a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info, <span class="keywordtype">int</span> tag); 00546 00547 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a220">snd_seq_remove_events</a>(<a class="code" href="group___sequencer.html#a0">snd_seq_t</a> *handle, <a class="code" href="group___seq_event.html#a0">snd_seq_remove_events_t</a> *info); 00548 00558 <span class="keywordtype">void</span> <a class="code" href="seq_8c.html#a236">snd_seq_set_bit</a>(<span class="keywordtype">int</span> nr, <span class="keywordtype">void</span> *array); 00559 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a237">snd_seq_change_bit</a>(<span class="keywordtype">int</span> nr, <span class="keywordtype">void</span> *array); 00560 <span class="keywordtype">int</span> <a class="code" href="seq_8c.html#a238">snd_seq_get_bit</a>(<span class="keywordtype">int</span> nr, <span class="keywordtype">void</span> *array); 00561 00572 <span class="comment">/* event type macros */</span> 00573 <span class="keyword">enum</span> { 00574 SND_SEQ_EVFLG_RESULT, 00575 SND_SEQ_EVFLG_NOTE, 00576 SND_SEQ_EVFLG_CONTROL, 00577 SND_SEQ_EVFLG_QUEUE, 00578 SND_SEQ_EVFLG_SYSTEM, 00579 SND_SEQ_EVFLG_MESSAGE, 00580 SND_SEQ_EVFLG_CONNECTION, 00581 SND_SEQ_EVFLG_SAMPLE, 00582 SND_SEQ_EVFLG_USERS, 00583 SND_SEQ_EVFLG_INSTR, 00584 SND_SEQ_EVFLG_QUOTE, 00585 SND_SEQ_EVFLG_NONE, 00586 SND_SEQ_EVFLG_RAW, 00587 SND_SEQ_EVFLG_FIXED, 00588 SND_SEQ_EVFLG_VARIABLE, 00589 SND_SEQ_EVFLG_VARUSR 00590 }; 00591 00592 <span class="keyword">enum</span> { 00593 SND_SEQ_EVFLG_NOTE_ONEARG, 00594 SND_SEQ_EVFLG_NOTE_TWOARG 00595 }; 00596 00597 <span class="keyword">enum</span> { 00598 SND_SEQ_EVFLG_QUEUE_NOARG, 00599 SND_SEQ_EVFLG_QUEUE_TICK, 00600 SND_SEQ_EVFLG_QUEUE_TIME, 00601 SND_SEQ_EVFLG_QUEUE_VALUE 00602 }; 00603 <a name="l00609"></a><a class="code" href="group___seq_ev_type.html#a0">00609</a> <span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="group___seq_ev_type.html#a0">snd_seq_event_types</a>[]; 00610 <a name="l00611"></a><a class="code" href="group___seq_ev_type.html#a1">00611</a> <span class="preprocessor">#define _SND_SEQ_TYPE(x) (1<<(x)) </span> <a name="l00612"></a><a class="code" href="group___seq_ev_type.html#a2">00612</a> <span class="preprocessor">#define _SND_SEQ_TYPE_OPT(x) ((x)<<24) </span> <a name="l00615"></a><a class="code" href="group___seq_ev_type.html#a3">00615</a> <span class="preprocessor">#define snd_seq_type_check(ev,x) (snd_seq_event_types[(ev)->type] & _SND_SEQ_TYPE(x))</span> 00616 <span class="preprocessor"></span> <a name="l00618"></a><a class="code" href="group___seq_ev_type.html#a4">00618</a> <span class="preprocessor">#define snd_seq_ev_is_result_type(ev) \</span> 00619 <span class="preprocessor"> snd_seq_type_check(ev, SND_SEQ_EVFLG_RESULT)</span> 00620 <span class="preprocessor"></span> <a name="l00621"></a><a class="code" href="group___seq_ev_type.html#a5">00621</a> <span class="preprocessor">#define snd_seq_ev_is_note_type(ev) \</span> 00622 <span class="preprocessor"> snd_seq_type_check(ev, SND_SEQ_EVFLG_NOTE)</span> 00623 <span class="preprocessor"></span> <a name="l00624"></a><a class="code" href="group___seq_ev_type.html#a6">00624</a> <span class="preprocessor">#define snd_seq_ev_is_control_type(ev) \</span> 00625 <span class="preprocessor"> snd_seq_type_check(ev, SND_SEQ_EVFLG_CONTROL)</span> 00626 <span class="preprocessor"></span> <a name="l00627"></a><a class="code" href="group___seq_ev_type.html#a7">00627</a> <span class="preprocessor">#define snd_seq_ev_is_channel_type(ev) \</span> 00628 <span class="preprocessor"> (snd_seq_event_types[(ev)->type] & (_SND_SEQ_TYPE(SND_SEQ_EVFLG_NOTE) | _SND_SEQ_TYPE(SND_SEQ_EVFLG_CONTROL)))</span> 00629 <span class="preprocessor"></span> <a name="l00631"></a><a class="code" href="group___seq_ev_type.html#a8">00631</a> <span class="preprocessor">#define snd_seq_ev_is_queue_type(ev) \</span> 00632 <span class="preprocessor"> snd_seq_type_check(ev, SND_SEQ_EVFLG_QUEUE)</span> 00633 <span class="preprocessor"></span> <a name="l00634"></a><a class="code" href="group___seq_ev_type.html#a9">00634</a> <span class="preprocessor">#define snd_seq_ev_is_message_type(ev) \</span> 00635 <span class="preprocessor"> snd_seq_type_check(ev, SND_SEQ_EVFLG_MESSAGE)</span> 00636 <span class="preprocessor"></span> <a name="l00637"></a><a class="code" href="group___seq_ev_type.html#a10">00637</a> <span class="preprocessor">#define snd_seq_ev_is_subscribe_type(ev) \</span> 00638 <span class="preprocessor"> snd_seq_type_check(ev, SND_SEQ_EVFLG_CONNECTION)</span> 00639 <span class="preprocessor"></span> <a name="l00640"></a><a class="code" href="group___seq_ev_type.html#a11">00640</a> <span class="preprocessor">#define snd_seq_ev_is_sample_type(ev) \</span> 00641 <span class="preprocessor"> snd_seq_type_check(ev, SND_SEQ_EVFLG_SAMPLE)</span> 00642 <span class="preprocessor"></span> <a name="l00643"></a><a class="code" href="group___seq_ev_type.html#a12">00643</a> <span class="preprocessor">#define snd_seq_ev_is_user_type(ev) \</span> 00644 <span class="preprocessor"> snd_seq_type_check(ev, SND_SEQ_EVFLG_USERS)</span> 00645 <span class="preprocessor"></span> <a name="l00646"></a><a class="code" href="group___seq_ev_type.html#a13">00646</a> <span class="preprocessor">#define snd_seq_ev_is_instr_type(ev) \</span> 00647 <span class="preprocessor"> snd_seq_type_check(ev, SND_SEQ_EVFLG_INSTR)</span> 00648 <span class="preprocessor"></span> <a name="l00649"></a><a class="code" href="group___seq_ev_type.html#a14">00649</a> <span class="preprocessor">#define snd_seq_ev_is_fixed_type(ev) \</span> 00650 <span class="preprocessor"> snd_seq_type_check(ev, SND_SEQ_EVFLG_FIXED)</span> 00651 <span class="preprocessor"></span> <a name="l00652"></a><a class="code" href="group___seq_ev_type.html#a15">00652</a> <span class="preprocessor">#define snd_seq_ev_is_variable_type(ev) \</span> 00653 <span class="preprocessor"> snd_seq_type_check(ev, SND_SEQ_EVFLG_VARIABLE)</span> 00654 <span class="preprocessor"></span> <a name="l00655"></a><a class="code" href="group___seq_ev_type.html#a16">00655</a> <span class="preprocessor">#define snd_seq_ev_is_varusr_type(ev) \</span> 00656 <span class="preprocessor"> snd_seq_type_check(ev, SND_SEQ_EVFLG_VARUSR)</span> 00657 <span class="preprocessor"></span> <a name="l00658"></a><a class="code" href="group___seq_ev_type.html#a17">00658</a> <span class="preprocessor">#define snd_seq_ev_is_reserved(ev) \</span> 00659 <span class="preprocessor"> (! snd_seq_event_types[(ev)->type])</span> 00660 <span class="preprocessor"></span> <a name="l00665"></a><a class="code" href="group___seq_ev_type.html#a18">00665</a> <span class="preprocessor">#define snd_seq_ev_is_prior(ev) \</span> 00666 <span class="preprocessor"> (((ev)->flags & SND_SEQ_PRIORITY_MASK) == SND_SEQ_PRIORITY_HIGH)</span> 00667 <span class="preprocessor"></span> <a name="l00669"></a><a class="code" href="group___seq_ev_type.html#a19">00669</a> <span class="preprocessor">#define snd_seq_ev_length_type(ev) \</span> 00670 <span class="preprocessor"> ((ev)->flags & SND_SEQ_EVENT_LENGTH_MASK)</span> 00671 <span class="preprocessor"></span> <a name="l00672"></a><a class="code" href="group___seq_ev_type.html#a20">00672</a> <span class="preprocessor">#define snd_seq_ev_is_fixed(ev) \</span> 00673 <span class="preprocessor"> (snd_seq_ev_length_type(ev) == SND_SEQ_EVENT_LENGTH_FIXED)</span> 00674 <span class="preprocessor"></span> <a name="l00675"></a><a class="code" href="group___seq_ev_type.html#a21">00675</a> <span class="preprocessor">#define snd_seq_ev_is_variable(ev) \</span> 00676 <span class="preprocessor"> (snd_seq_ev_length_type(ev) == SND_SEQ_EVENT_LENGTH_VARIABLE)</span> 00677 <span class="preprocessor"></span> <a name="l00678"></a><a class="code" href="group___seq_ev_type.html#a22">00678</a> <span class="preprocessor">#define snd_seq_ev_is_varusr(ev) \</span> 00679 <span class="preprocessor"> (snd_seq_ev_length_type(ev) == SND_SEQ_EVENT_LENGTH_VARUSR)</span> 00680 <span class="preprocessor"></span> <a name="l00682"></a><a class="code" href="group___seq_ev_type.html#a23">00682</a> <span class="preprocessor">#define snd_seq_ev_timestamp_type(ev) \</span> 00683 <span class="preprocessor"> ((ev)->flags & SND_SEQ_TIME_STAMP_MASK)</span> 00684 <span class="preprocessor"></span> <a name="l00685"></a><a class="code" href="group___seq_ev_type.html#a24">00685</a> <span class="preprocessor">#define snd_seq_ev_is_tick(ev) \</span> 00686 <span class="preprocessor"> (snd_seq_ev_timestamp_type(ev) == SND_SEQ_TIME_STAMP_TICK)</span> 00687 <span class="preprocessor"></span> <a name="l00688"></a><a class="code" href="group___seq_ev_type.html#a25">00688</a> <span class="preprocessor">#define snd_seq_ev_is_real(ev) \</span> 00689 <span class="preprocessor"> (snd_seq_ev_timestamp_type(ev) == SND_SEQ_TIME_STAMP_REAL)</span> 00690 <span class="preprocessor"></span> <a name="l00692"></a><a class="code" href="group___seq_ev_type.html#a26">00692</a> <span class="preprocessor">#define snd_seq_ev_timemode_type(ev) \</span> 00693 <span class="preprocessor"> ((ev)->flags & SND_SEQ_TIME_MODE_MASK)</span> 00694 <span class="preprocessor"></span> <a name="l00695"></a><a class="code" href="group___seq_ev_type.html#a27">00695</a> <span class="preprocessor">#define snd_seq_ev_is_abstime(ev) \</span> 00696 <span class="preprocessor"> (snd_seq_ev_timemode_type(ev) == SND_SEQ_TIME_MODE_ABS)</span> 00697 <span class="preprocessor"></span> <a name="l00698"></a><a class="code" href="group___seq_ev_type.html#a28">00698</a> <span class="preprocessor">#define snd_seq_ev_is_reltime(ev) \</span> 00699 <span class="preprocessor"> (snd_seq_ev_timemode_type(ev) == SND_SEQ_TIME_MODE_REL)</span> 00700 <span class="preprocessor"></span> <a name="l00702"></a><a class="code" href="group___seq_ev_type.html#a29">00702</a> <span class="preprocessor">#define snd_seq_ev_is_direct(ev) \</span> 00703 <span class="preprocessor"> ((ev)->queue == SND_SEQ_QUEUE_DIRECT)</span> 00704 <span class="preprocessor"></span> 00707 <span class="preprocessor">#ifdef __cplusplus</span> 00708 <span class="preprocessor"></span>} 00709 <span class="preprocessor">#endif</span> 00710 <span class="preprocessor"></span> 00711 <span class="preprocessor">#endif </span><span class="comment">/* __ALSA_SEQ_H */</span> 00712 </pre></div><hr><address style="align: right;"><small>Generated on Wed Apr 2 16:06:33 2003 for ALSA project - the C library reference by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address> </body> </html>