Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 88959ca903fe50462ea99715ead18944 > files > 152

raul-devel-0.7.0-1.fc14.1.x86_64.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"/>
<title>RAUL: Raul::SMFReader Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath">
    <ul>
      <li><b>Raul</b>      </li>
      <li><a class="el" href="classRaul_1_1SMFReader.html">Raul::SMFReader</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pro-static-attribs">Static Protected Attributes</a>  </div>
  <div class="headertitle">
<h1>Raul::SMFReader Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Raul::SMFReader" -->
<p>Standard Midi File (Type 0) Reader.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="SMFReader_8hpp_source.html">SMFReader.hpp</a>&gt;</code></p>

<p><a href="classRaul_1_1SMFReader-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7828e3b7b85df3072cca365613de635f"></a><!-- doxytag: member="Raul::SMFReader::SMFReader" ref="a7828e3b7b85df3072cca365613de635f" args="(const std::string filename=&quot;&quot;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>SMFReader</b> (const std::string filename=&quot;&quot;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bccdf030f0fbd6c2c4bd94da86a9490"></a><!-- doxytag: member="Raul::SMFReader::open" ref="a8bccdf030f0fbd6c2c4bd94da86a9490" args="(const std::string &amp;filename)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>open</b> (const std::string &amp;filename)  throw (std::logic_error, UnsupportedTime)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1SMFReader.html#a17b1c529a480a2254846a6bbf8046bb8">seek_to_track</a> (unsigned track)  throw (std::logic_error)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Seek to the start of a given track, starting from 1.  <a href="#a17b1c529a480a2254846a6bbf8046bb8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4fae879c5cacab1a19c9b9bf7f3fd162"></a><!-- doxytag: member="Raul::SMFReader::type" ref="a4fae879c5cacab1a19c9b9bf7f3fd162" args="() const " -->
uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>type</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a392de14518872b14976e1fe5b2efc818"></a><!-- doxytag: member="Raul::SMFReader::ppqn" ref="a392de14518872b14976e1fe5b2efc818" args="() const " -->
uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>ppqn</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78501ef73d1b435a35f6a812bcb9f68b"></a><!-- doxytag: member="Raul::SMFReader::num_tracks" ref="a78501ef73d1b435a35f6a812bcb9f68b" args="()" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>num_tracks</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1SMFReader.html#ab4ec88402c5c20a6a99de1e191799289">read_event</a> (size_t buf_len, uint8_t *buf, uint32_t *ev_size, uint32_t *ev_delta_time)  throw (std::logic_error, PrematureEOF, CorruptFile)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read an event from the current position in file.  <a href="#ab4ec88402c5c20a6a99de1e191799289"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25617817142beacc7f32725523fb8a33"></a><!-- doxytag: member="Raul::SMFReader::close" ref="a25617817142beacc7f32725523fb8a33" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>close</b> ()</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55cc558044dfeecd5a961d96175731d4"></a><!-- doxytag: member="Raul::SMFReader::read_var_len" ref="a55cc558044dfeecd5a961d96175731d4" args="(FILE *fd)" -->
static uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>read_var_len</b> (FILE *fd)  throw (PrematureEOF)</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a467360bba16f1279b4727fe24c5c2aae"></a><!-- doxytag: member="Raul::SMFReader::_filename" ref="a467360bba16f1279b4727fe24c5c2aae" args="" -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><b>_filename</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a93ffd6ee0b73952955bca36dff834c1e"></a><!-- doxytag: member="Raul::SMFReader::_fd" ref="a93ffd6ee0b73952955bca36dff834c1e" args="" -->
FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_fd</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b0066b38e82fe096fc56321da646e1b"></a><!-- doxytag: member="Raul::SMFReader::_type" ref="a3b0066b38e82fe096fc56321da646e1b" args="" -->
uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>_type</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ad871a28e91acd7bc340d349083ef8d"></a><!-- doxytag: member="Raul::SMFReader::_ppqn" ref="a0ad871a28e91acd7bc340d349083ef8d" args="" -->
uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>_ppqn</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7c333562bfd9e4647837eff003f075d"></a><!-- doxytag: member="Raul::SMFReader::_num_tracks" ref="ac7c333562bfd9e4647837eff003f075d" args="" -->
uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>_num_tracks</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae921486d0571fe077d0d0d7db0ccf792"></a><!-- doxytag: member="Raul::SMFReader::_track" ref="ae921486d0571fe077d0d0d7db0ccf792" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>_track</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af912f4a6bc7db00d50ec1129105f73e7"></a><!-- doxytag: member="Raul::SMFReader::_track_size" ref="af912f4a6bc7db00d50ec1129105f73e7" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>_track_size</b></td></tr>
<tr><td colspan="2"><h2><a name="pro-static-attribs"></a>
Static Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abebcdb310e90a751a277f4d275b776fd"></a><!-- doxytag: member="Raul::SMFReader::HEADER_SIZE" ref="abebcdb310e90a751a277f4d275b776fd" args="" -->
static const uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1SMFReader.html#abebcdb310e90a751a277f4d275b776fd">HEADER_SIZE</a> = 22</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">size of SMF header, including MTrk chunk header <br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Standard Midi File (Type 0) Reader. </p>
<p>Currently this only reads SMF files with tempo-based timing. </p>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a17b1c529a480a2254846a6bbf8046bb8"></a><!-- doxytag: member="Raul::SMFReader::seek_to_track" ref="a17b1c529a480a2254846a6bbf8046bb8" args="(unsigned track)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Raul::SMFReader::seek_to_track </td>
          <td>(</td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>track</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td>  throw (std::logic_error)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Seek to the start of a given track, starting from 1. </p>
<p>Returns true if specified track was found. </p>

</div>
</div>
<a class="anchor" id="ab4ec88402c5c20a6a99de1e191799289"></a><!-- doxytag: member="Raul::SMFReader::read_event" ref="ab4ec88402c5c20a6a99de1e191799289" args="(size_t buf_len, uint8_t *buf, uint32_t *ev_size, uint32_t *ev_delta_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Raul::SMFReader::read_event </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>buf_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&nbsp;</td>
          <td class="paramname"> <em>ev_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&nbsp;</td>
          <td class="paramname"> <em>delta_time</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td>  throw (std::logic_error, PrematureEOF, CorruptFile)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read an event from the current position in file. </p>
<p>File position MUST be at the beginning of a delta time, or this will die very messily. ev.buffer must be of size ev.size, and large enough for the event. The returned event will have it's time field set to it's delta time (so it's the caller's responsibility to keep track of delta time, even for ignored events).</p>
<p>Returns event length (including status byte) on success, 0 if event was skipped (eg a meta event), or -1 on EOF (or end of track).</p>
<p>If <em>buf</em> is not large enough to hold the event, 0 will be returned, but ev_size set to the actual size of the event. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="SMFReader_8hpp_source.html">SMFReader.hpp</a></li>
<li>SMFReader.cpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Oct 6 2010 for RAUL by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>