Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 406d9b580cc28afca9442eab7324087d > files > 6

libalsa2-docs-1.0.28-1.mga5.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.7"/>
<title>ALSA project - the C library reference: /test/rawmidi.c</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/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</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 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.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></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 class="header">
  <div class="headertitle">
<div class="title">/test/rawmidi.c</div>  </div>
</div><!--header-->
<div class="contents">
<p><a class="anchor" id="example_test_rawmidi"></a> </p><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;ctype.h&gt;</span></div>
<div class="line"><span class="preprocessor">#include &quot;../include/asoundlib.h&quot;</span></div>
<div class="line"><span class="preprocessor">#include &lt;signal.h&gt;</span></div>
<div class="line"></div>
<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> usage(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line">    fprintf(stderr, <span class="stringliteral">&quot;usage: rawmidi [options]\n&quot;</span>);</div>
<div class="line">    fprintf(stderr, <span class="stringliteral">&quot;  options:\n&quot;</span>);</div>
<div class="line">    fprintf(stderr, <span class="stringliteral">&quot;    -v: verbose mode\n&quot;</span>);</div>
<div class="line">    fprintf(stderr, <span class="stringliteral">&quot;    -i device-id : test ALSA input device\n&quot;</span>);</div>
<div class="line">    fprintf(stderr, <span class="stringliteral">&quot;    -o device-id : test ALSA output device\n&quot;</span>);</div>
<div class="line">    fprintf(stderr, <span class="stringliteral">&quot;    -I node      : test input node\n&quot;</span>);</div>
<div class="line">    fprintf(stderr, <span class="stringliteral">&quot;    -O node      : test output node\n&quot;</span>);</div>
<div class="line">    fprintf(stderr, <span class="stringliteral">&quot;    -t: test midi thru\n&quot;</span>);</div>
<div class="line">    fprintf(stderr, <span class="stringliteral">&quot;  example:\n&quot;</span>);</div>
<div class="line">    fprintf(stderr, <span class="stringliteral">&quot;    rawmidi -i hw:0,0 -O /dev/midi1\n&quot;</span>);</div>
<div class="line">    fprintf(stderr, <span class="stringliteral">&quot;    tests input for card 0, device 0, using snd_rawmidi API\n&quot;</span>);</div>
<div class="line">    fprintf(stderr, <span class="stringliteral">&quot;    and /dev/midi1 using file descriptors\n&quot;</span>);</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> stop=0;</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> sighandler(<span class="keywordtype">int</span> dum)</div>
<div class="line">{</div>
<div class="line">    stop=1;</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc,<span class="keywordtype">char</span>** argv)</div>
<div class="line">{</div>
<div class="line">    <span class="keywordtype">int</span> i;</div>
<div class="line">    <span class="keywordtype">int</span> err;</div>
<div class="line">    <span class="keywordtype">int</span> thru=0;</div>
<div class="line">    <span class="keywordtype">int</span> verbose = 0;</div>
<div class="line">    <span class="keywordtype">char</span> *device_in = NULL;</div>
<div class="line">    <span class="keywordtype">char</span> *device_out = NULL;</div>
<div class="line">    <span class="keywordtype">char</span> *node_in = NULL;</div>
<div class="line">    <span class="keywordtype">char</span> *node_out = NULL;</div>
<div class="line">    </div>
<div class="line">    <span class="keywordtype">int</span> fd_in = -1,fd_out = -1;</div>
<div class="line">    <a class="code" href="group___raw_midi.html#gaa21972df6ca3ebde0f7225b2472d0095">snd_rawmidi_t</a> *handle_in = 0,*handle_out = 0;</div>
<div class="line">    </div>
<div class="line">    <span class="keywordflow">if</span> (argc==1) {</div>
<div class="line">        usage();</div>
<div class="line">        exit(0);</div>
<div class="line">    }</div>
<div class="line">    </div>
<div class="line">    <span class="keywordflow">for</span> (i = 1 ; i&lt;argc ; i++) {</div>
<div class="line">        <span class="keywordflow">if</span> (argv[i][0]==<span class="charliteral">&#39;-&#39;</span>) {</div>
<div class="line">            <span class="keywordflow">switch</span> (argv[i][1]) {</div>
<div class="line">                <span class="keywordflow">case</span> <span class="charliteral">&#39;h&#39;</span>:</div>
<div class="line">                    usage();</div>
<div class="line">                    <span class="keywordflow">break</span>;</div>
<div class="line">                <span class="keywordflow">case</span> <span class="charliteral">&#39;v&#39;</span>:</div>
<div class="line">                    verbose = 1;</div>
<div class="line">                    <span class="keywordflow">break</span>;</div>
<div class="line">                <span class="keywordflow">case</span> <span class="charliteral">&#39;t&#39;</span>:</div>
<div class="line">                    thru = 1;</div>
<div class="line">                    <span class="keywordflow">break</span>;</div>
<div class="line">                <span class="keywordflow">case</span> <span class="charliteral">&#39;i&#39;</span>:</div>
<div class="line">                    <span class="keywordflow">if</span> (i + 1 &lt; argc)</div>
<div class="line">                        device_in = argv[++i];</div>
<div class="line">                    <span class="keywordflow">break</span>;</div>
<div class="line">                <span class="keywordflow">case</span> <span class="charliteral">&#39;I&#39;</span>:</div>
<div class="line">                    <span class="keywordflow">if</span> (i + 1 &lt; argc)</div>
<div class="line">                        node_in = argv[++i];</div>
<div class="line">                    <span class="keywordflow">break</span>;</div>
<div class="line">                <span class="keywordflow">case</span> <span class="charliteral">&#39;o&#39;</span>:</div>
<div class="line">                    <span class="keywordflow">if</span> (i + 1 &lt; argc)</div>
<div class="line">                        device_out = argv[++i];</div>
<div class="line">                    <span class="keywordflow">break</span>;</div>
<div class="line">                <span class="keywordflow">case</span> <span class="charliteral">&#39;O&#39;</span>:</div>
<div class="line">                    <span class="keywordflow">if</span> (i + 1 &lt; argc)</div>
<div class="line">                        node_out = argv[++i];</div>
<div class="line">                    <span class="keywordflow">break</span>;</div>
<div class="line">            }           </div>
<div class="line">        }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">if</span> (verbose) {</div>
<div class="line">        fprintf(stderr,<span class="stringliteral">&quot;Using: \n&quot;</span>);</div>
<div class="line">        fprintf(stderr,<span class="stringliteral">&quot;Input: &quot;</span>);</div>
<div class="line">        <span class="keywordflow">if</span> (device_in) {</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;device %s\n&quot;</span>,device_in);</div>
<div class="line">        }<span class="keywordflow">else</span> <span class="keywordflow">if</span> (node_in){</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;%s\n&quot;</span>,node_in); </div>
<div class="line">        }<span class="keywordflow">else</span>{</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;NONE\n&quot;</span>);</div>
<div class="line">        }</div>
<div class="line">        fprintf(stderr,<span class="stringliteral">&quot;Output: &quot;</span>);</div>
<div class="line">        <span class="keywordflow">if</span> (device_out) {</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;device %s\n&quot;</span>,device_out);</div>
<div class="line">        }<span class="keywordflow">else</span> <span class="keywordflow">if</span> (node_out){</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;%s\n&quot;</span>,node_out);        </div>
<div class="line">        }<span class="keywordflow">else</span>{</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;NONE\n&quot;</span>);</div>
<div class="line">        }</div>
<div class="line">    }</div>
<div class="line">    </div>
<div class="line">    <span class="keywordflow">if</span> (device_in) {</div>
<div class="line">        err = <a name="a0"></a><a class="code" href="group___raw_midi.html#ga2ab783051deeb7eb37eb568b76448889">snd_rawmidi_open</a>(&amp;handle_in,NULL,device_in,0);    </div>
<div class="line">        <span class="keywordflow">if</span> (err) {</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;snd_rawmidi_open %s failed: %d\n&quot;</span>,device_in,err);</div>
<div class="line">        }</div>
<div class="line">    }</div>
<div class="line">    <span class="keywordflow">if</span> (node_in &amp;&amp; (!node_out || strcmp(node_out,node_in))) {</div>
<div class="line">        fd_in = open(node_in,O_RDONLY);</div>
<div class="line">        <span class="keywordflow">if</span> (fd_in&lt;0) {</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;open %s for input failed\n&quot;</span>,node_in);</div>
<div class="line">        }   </div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    signal(SIGINT,sighandler);</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">if</span> (device_out) {</div>
<div class="line">        err = <a class="code" href="group___raw_midi.html#ga2ab783051deeb7eb37eb568b76448889">snd_rawmidi_open</a>(NULL,&amp;handle_out,device_out,0);</div>
<div class="line">        <span class="keywordflow">if</span> (err) {</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;snd_rawmidi_open %s failed: %d\n&quot;</span>,device_out,err);</div>
<div class="line">        }</div>
<div class="line">    }</div>
<div class="line">    <span class="keywordflow">if</span> (node_out &amp;&amp; (!node_in || strcmp(node_out,node_in))) {</div>
<div class="line">        fd_out = open(node_out,O_WRONLY);       </div>
<div class="line">        <span class="keywordflow">if</span> (fd_out&lt;0) {</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;open %s for output failed\n&quot;</span>,node_out);</div>
<div class="line">        }   </div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">if</span> (node_in &amp;&amp; node_out &amp;&amp; strcmp(node_out,node_in)==0) {</div>
<div class="line">        fd_in = fd_out = open(node_out,O_RDWR);     </div>
<div class="line">        <span class="keywordflow">if</span> (fd_out&lt;0) {</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;open %s for input and output failed\n&quot;</span>,node_out);</div>
<div class="line">        }       </div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">if</span> (!thru) {</div>
<div class="line">        <span class="keywordflow">if</span> (handle_in || fd_in!=-1) {</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;Read midi in\n&quot;</span>);</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;Press ctrl-c to stop\n&quot;</span>);</div>
<div class="line">        }</div>
<div class="line"></div>
<div class="line">        <span class="keywordflow">if</span> (handle_in) {</div>
<div class="line">            <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ch;</div>
<div class="line">            <span class="keywordflow">while</span> (!stop) {</div>
<div class="line">                <a name="a1"></a><a class="code" href="group___raw_midi.html#ga9b0952fc04facda83cdf1521325ca475">snd_rawmidi_read</a>(handle_in,&amp;ch,1);</div>
<div class="line">                <span class="keywordflow">if</span> (verbose) {</div>
<div class="line">                    fprintf(stderr,<span class="stringliteral">&quot;read %02x\n&quot;</span>,ch);</div>
<div class="line">                }</div>
<div class="line">            }</div>
<div class="line">        }</div>
<div class="line">        <span class="keywordflow">if</span> (fd_in!=-1) {</div>
<div class="line">            <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ch;</div>
<div class="line">            <span class="keywordflow">while</span> (!stop) {</div>
<div class="line">                read(fd_in,&amp;ch,1);</div>
<div class="line">                <span class="keywordflow">if</span> (verbose) {</div>
<div class="line">                    fprintf(stderr,<span class="stringliteral">&quot;read %02x\n&quot;</span>,ch);</div>
<div class="line">                }</div>
<div class="line">            }   </div>
<div class="line">        }</div>
<div class="line"></div>
<div class="line">        <span class="keywordflow">if</span> (handle_out || fd_out!=-1) {</div>
<div class="line">            fprintf(stderr,<span class="stringliteral">&quot;Writing note on / note off\n&quot;</span>);</div>
<div class="line">        }</div>
<div class="line"></div>
<div class="line">        <span class="keywordflow">if</span> (handle_out) {</div>
<div class="line">            <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ch;</div>
<div class="line">            ch=0x90; <a name="a2"></a><a class="code" href="group___raw_midi.html#ga0a30e482efec57f4ea74c533a0f9b134">snd_rawmidi_write</a>(handle_out,&amp;ch,1);</div>
<div class="line">            ch=60;   <a class="code" href="group___raw_midi.html#ga0a30e482efec57f4ea74c533a0f9b134">snd_rawmidi_write</a>(handle_out,&amp;ch,1);</div>
<div class="line">            ch=100;  <a class="code" href="group___raw_midi.html#ga0a30e482efec57f4ea74c533a0f9b134">snd_rawmidi_write</a>(handle_out,&amp;ch,1);</div>
<div class="line">            <a name="a3"></a><a class="code" href="group___raw_midi.html#gabfff7417ec957b7ee07882f91d73d7be">snd_rawmidi_drain</a>(handle_out);</div>
<div class="line">            sleep(1);</div>
<div class="line">            ch=0x90; <a class="code" href="group___raw_midi.html#ga0a30e482efec57f4ea74c533a0f9b134">snd_rawmidi_write</a>(handle_out,&amp;ch,1);</div>
<div class="line">            ch=60;   <a class="code" href="group___raw_midi.html#ga0a30e482efec57f4ea74c533a0f9b134">snd_rawmidi_write</a>(handle_out,&amp;ch,1);</div>
<div class="line">            ch=0;    <a class="code" href="group___raw_midi.html#ga0a30e482efec57f4ea74c533a0f9b134">snd_rawmidi_write</a>(handle_out,&amp;ch,1);</div>
<div class="line">            <a class="code" href="group___raw_midi.html#gabfff7417ec957b7ee07882f91d73d7be">snd_rawmidi_drain</a>(handle_out); </div>
<div class="line">        }</div>
<div class="line">        <span class="keywordflow">if</span> (fd_out!=-1) {</div>
<div class="line">            <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ch;</div>
<div class="line">            ch=0x90; write(fd_out,&amp;ch,1);</div>
<div class="line">            ch=60;   write(fd_out,&amp;ch,1);</div>
<div class="line">            ch=100;  write(fd_out,&amp;ch,1);</div>
<div class="line">            sleep(1);</div>
<div class="line">            ch=0x90; write(fd_out,&amp;ch,1);</div>
<div class="line">            ch=60;   write(fd_out,&amp;ch,1);</div>
<div class="line">            ch=0;    write(fd_out,&amp;ch,1);</div>
<div class="line">        }</div>
<div class="line">    } <span class="keywordflow">else</span> {</div>
<div class="line">        <span class="keywordflow">if</span> ((handle_in || fd_in!=-1) &amp;&amp; (handle_out || fd_out!=-1)) {</div>
<div class="line">            <span class="keywordflow">if</span> (verbose) {</div>
<div class="line">                fprintf(stderr,<span class="stringliteral">&quot;Testing midi thru in\n&quot;</span>);</div>
<div class="line">            }</div>
<div class="line">            <span class="keywordflow">while</span> (!stop) {</div>
<div class="line">                <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ch;</div>
<div class="line">            </div>
<div class="line">                <span class="keywordflow">if</span> (handle_in) {</div>
<div class="line">                    <a class="code" href="group___raw_midi.html#ga9b0952fc04facda83cdf1521325ca475">snd_rawmidi_read</a>(handle_in,&amp;ch,1);</div>
<div class="line">                }</div>
<div class="line">                <span class="keywordflow">if</span> (fd_in!=-1) {</div>
<div class="line">                    read(fd_in,&amp;ch,1);</div>
<div class="line">                }   </div>
<div class="line">                <span class="keywordflow">if</span> (verbose) {</div>
<div class="line">                    fprintf(stderr,<span class="stringliteral">&quot;thru: %02x\n&quot;</span>,ch);</div>
<div class="line">                }</div>
<div class="line"></div>
<div class="line">                <span class="keywordflow">if</span> (handle_out) {</div>
<div class="line">                    <a class="code" href="group___raw_midi.html#ga0a30e482efec57f4ea74c533a0f9b134">snd_rawmidi_write</a>(handle_out,&amp;ch,1);</div>
<div class="line">                    <a class="code" href="group___raw_midi.html#gabfff7417ec957b7ee07882f91d73d7be">snd_rawmidi_drain</a>(handle_out); </div>
<div class="line">                }</div>
<div class="line">                <span class="keywordflow">if</span> (fd_out!=-1) {</div>
<div class="line">                    write(fd_out,&amp;ch,1);</div>
<div class="line">                }</div>
<div class="line">            }</div>
<div class="line">        }<span class="keywordflow">else</span>{</div>
<div class="line">                fprintf(stderr,<span class="stringliteral">&quot;Testing midi thru needs both input and output\n&quot;</span>);      </div>
<div class="line">                exit(-1);</div>
<div class="line">        }</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">if</span> (verbose) {</div>
<div class="line">        fprintf(stderr,<span class="stringliteral">&quot;Closing\n&quot;</span>);</div>
<div class="line">    }</div>
<div class="line">    </div>
<div class="line">    <span class="keywordflow">if</span> (handle_in) {</div>
<div class="line">        <a class="code" href="group___raw_midi.html#gabfff7417ec957b7ee07882f91d73d7be">snd_rawmidi_drain</a>(handle_in); </div>
<div class="line">        <a name="a4"></a><a class="code" href="group___raw_midi.html#gabc6bd5922151fb50196f62b9a4ab9f56">snd_rawmidi_close</a>(handle_in);   </div>
<div class="line">    }</div>
<div class="line">    <span class="keywordflow">if</span> (handle_out) {</div>
<div class="line">        <a class="code" href="group___raw_midi.html#gabfff7417ec957b7ee07882f91d73d7be">snd_rawmidi_drain</a>(handle_out); </div>
<div class="line">        <a class="code" href="group___raw_midi.html#gabc6bd5922151fb50196f62b9a4ab9f56">snd_rawmidi_close</a>(handle_out);  </div>
<div class="line">    }</div>
<div class="line">    <span class="keywordflow">if</span> (fd_in!=-1) {</div>
<div class="line">        close(fd_in);</div>
<div class="line">    }</div>
<div class="line">    <span class="keywordflow">if</span> (fd_out!=-1) {</div>
<div class="line">        close(fd_out);</div>
<div class="line">    }</div>
<div class="line"></div>
<div class="line">    <span class="keywordflow">return</span> 0;</div>
<div class="line">}</div>
</div><!-- fragment --> </div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jun 18 2014 05:47:49 for ALSA project - the C library reference by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.7
</small></address>
</body>
</html>