Sophie

Sophie

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

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::SMFWriter 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_1SMFWriter.html">Raul::SMFWriter</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected 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::SMFWriter Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Raul::SMFWriter" --><!-- doxytag: inherits="Raul::MIDISink" -->
<p>Standard Midi File (Type 0) Writer.  
<a href="#_details">More...</a></p>

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

<p>Inherits <a class="el" href="classRaul_1_1MIDISink.html">Raul::MIDISink</a>.</p>
<div class="dynheader">
Collaboration diagram for Raul::SMFWriter:</div>
<div class="dyncontent">
<div class="center"><img src="classRaul_1_1SMFWriter__coll__graph.png" border="0" usemap="#Raul_1_1SMFWriter_coll__map" alt="Collaboration graph"/></div>
<map name="Raul_1_1SMFWriter_coll__map" id="Raul_1_1SMFWriter_coll__map">
<area shape="rect" id="node2" href="classRaul_1_1MIDISink.html" title="Pure virtual base for anything you can write MIDI to." alt="" coords="5,101,117,131"/><area shape="rect" id="node4" href="classRaul_1_1Deletable.html" title="Something with a virtual destructor." alt="" coords="5,5,117,35"/><area shape="rect" id="node6" href="classRaul_1_1TimeStamp.html" title="A real&#45;time time stamp (possible units: frame, absolute (s), or beat)." alt="" coords="219,101,341,131"/><area shape="rect" id="node8" href="classRaul_1_1TimeUnit.html" title="A type of time stamp." alt="" coords="165,5,275,35"/></map>
</div>

<p><a href="classRaul_1_1SMFWriter-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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1SMFWriter.html#a185959984f5f29d4640a6e46c1c18787">SMFWriter</a> (<a class="el" href="classRaul_1_1TimeUnit.html">TimeUnit</a> unit)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new SMF writer.  <a href="#a185959984f5f29d4640a6e46c1c18787"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1SMFWriter.html#ac1acff193e31f2fe434262fd8da7e4ab">start</a> (const std::string &amp;filename, <a class="el" href="classRaul_1_1TimeStamp.html">TimeStamp</a> start_time)  throw (std::logic_error)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start a write to an SMF file.  <a href="#ac1acff193e31f2fe434262fd8da7e4ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a018f6463d15f7d6027047ac05ad52f5a"></a><!-- doxytag: member="Raul::SMFWriter::unit" ref="a018f6463d15f7d6027047ac05ad52f5a" args="() const " -->
<a class="el" href="classRaul_1_1TimeUnit.html">TimeUnit</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>unit</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1SMFWriter.html#a8715eb2b1ce7720e3fcc32350ef6e68c">write_event</a> (<a class="el" href="classRaul_1_1TimeStamp.html">TimeStamp</a> time, size_t ev_size, const unsigned char *ev)  throw (std::logic_error)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write an event at the end of the file.  <a href="#a8715eb2b1ce7720e3fcc32350ef6e68c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e1f5daaa5d5c87f4700061d2251ab06"></a><!-- doxytag: member="Raul::SMFWriter::flush" ref="a3e1f5daaa5d5c87f4700061d2251ab06" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>flush</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58081c94fa92ef2f3921b6d8ab28e557"></a><!-- doxytag: member="Raul::SMFWriter::finish" ref="a58081c94fa92ef2f3921b6d8ab28e557" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>finish</b> ()  throw (std::logic_error)</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1cff2f79499ce06ae1bc2ae15f923d6b"></a><!-- doxytag: member="Raul::SMFWriter::write_header" ref="a1cff2f79499ce06ae1bc2ae15f923d6b" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>write_header</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b49950fcbde6605fb42eb9b4ffc4ae8"></a><!-- doxytag: member="Raul::SMFWriter::write_footer" ref="a3b49950fcbde6605fb42eb9b4ffc4ae8" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>write_footer</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2b3d5e2e82728133536370d1c28c73b"></a><!-- doxytag: member="Raul::SMFWriter::write_chunk_header" ref="af2b3d5e2e82728133536370d1c28c73b" args="(const char id[4], uint32_t length)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>write_chunk_header</b> (const char id[4], uint32_t length)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e144e71ba5e6e214ebee0696122b859"></a><!-- doxytag: member="Raul::SMFWriter::write_chunk" ref="a2e144e71ba5e6e214ebee0696122b859" args="(const char id[4], uint32_t length, void *data)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>write_chunk</b> (const char id[4], uint32_t length, void *data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1SMFWriter.html#ae7351869ccd72bef021acc93414d120c">write_var_len</a> (uint32_t val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write an SMF variable length value.  <a href="#ae7351869ccd72bef021acc93414d120c"></a><br/></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="a202a9048f1ea329b6c49be6ad4ad0726"></a><!-- doxytag: member="Raul::SMFWriter::_filename" ref="a202a9048f1ea329b6c49be6ad4ad0726" 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="a72b3f4b765808e2ae24678657159acce"></a><!-- doxytag: member="Raul::SMFWriter::_fd" ref="a72b3f4b765808e2ae24678657159acce" 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="add40364590f7bc342f4c88d828dd9cdb"></a><!-- doxytag: member="Raul::SMFWriter::_unit" ref="add40364590f7bc342f4c88d828dd9cdb" args="" -->
<a class="el" href="classRaul_1_1TimeUnit.html">TimeUnit</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>_unit</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b37539301cdadcf6662d0f492573c4d"></a><!-- doxytag: member="Raul::SMFWriter::_start_time" ref="a4b37539301cdadcf6662d0f492573c4d" args="" -->
<a class="el" href="classRaul_1_1TimeStamp.html">Raul::TimeStamp</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>_start_time</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf832bdc5796f180ba9cd8744a656977"></a><!-- doxytag: member="Raul::SMFWriter::_last_ev_time" ref="acf832bdc5796f180ba9cd8744a656977" args="" -->
<a class="el" href="classRaul_1_1TimeStamp.html">Raul::TimeStamp</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1SMFWriter.html#acf832bdc5796f180ba9cd8744a656977">_last_ev_time</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Time last event was written relative to _start_time. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67d390357aa310b10756ef5d314e3b42"></a><!-- doxytag: member="Raul::SMFWriter::_track_size" ref="a67d390357aa310b10756ef5d314e3b42" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>_track_size</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0947832044f05a9ec51b04f8a880431d"></a><!-- doxytag: member="Raul::SMFWriter::_header_size" ref="a0947832044f05a9ec51b04f8a880431d" args="" -->
uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaul_1_1SMFWriter.html#a0947832044f05a9ec51b04f8a880431d">_header_size</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">size of SMF header, including MTrk chunk header <br/></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="a7db0235877c1152417b9ad445982a28a"></a><!-- doxytag: member="Raul::SMFWriter::VAR_LEN_MAX" ref="a7db0235877c1152417b9ad445982a28a" args="" -->
static const uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>VAR_LEN_MAX</b> = 0x0FFFFFFF</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Standard Midi File (Type 0) Writer. </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a185959984f5f29d4640a6e46c1c18787"></a><!-- doxytag: member="Raul::SMFWriter::SMFWriter" ref="a185959984f5f29d4640a6e46c1c18787" args="(TimeUnit unit)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Raul::SMFWriter::SMFWriter </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classRaul_1_1TimeUnit.html">TimeUnit</a>&nbsp;</td>
          <td class="paramname"> <em>unit</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new SMF writer. </p>
<p><em>unit</em> must match the time stamp of ALL events passed to write, or terrible things will happen.</p>
<p>*** NOTE: Only beat time is implemented currently. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ac1acff193e31f2fe434262fd8da7e4ab"></a><!-- doxytag: member="Raul::SMFWriter::start" ref="ac1acff193e31f2fe434262fd8da7e4ab" args="(const std::string &amp;filename, TimeStamp start_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Raul::SMFWriter::start </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classRaul_1_1TimeStamp.html">Raul::TimeStamp</a>&nbsp;</td>
          <td class="paramname"> <em>start_time</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td>  throw (std::logic_error)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Start a write to an SMF file. </p>
<p><em>filename</em> Filename to write to. <em>start_time</em> Beat time corresponding to t=0 in the file (timestamps passed to write_event will have this value subtracted before writing). </p>

</div>
</div>
<a class="anchor" id="a8715eb2b1ce7720e3fcc32350ef6e68c"></a><!-- doxytag: member="Raul::SMFWriter::write_event" ref="a8715eb2b1ce7720e3fcc32350ef6e68c" args="(TimeStamp time, size_t ev_size, const unsigned char *ev)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Raul::SMFWriter::write_event </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classRaul_1_1TimeStamp.html">Raul::TimeStamp</a>&nbsp;</td>
          <td class="paramname"> <em>time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ev_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&nbsp;</td>
          <td class="paramname"> <em>ev</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td>  throw (std::logic_error)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write an event at the end of the file. </p>
<p><em>time</em> is the absolute time of the event, relative to the start of the file (the start_time parameter to start). Must be monotonically increasing on successive calls to this method. </p>

</div>
</div>
<a class="anchor" id="ae7351869ccd72bef021acc93414d120c"></a><!-- doxytag: member="Raul::SMFWriter::write_var_len" ref="ae7351869ccd72bef021acc93414d120c" args="(uint32_t val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t Raul::SMFWriter::write_var_len </td>
          <td>(</td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write an SMF variable length value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>size (in bytes) of the value written. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="SMFWriter_8hpp_source.html">SMFWriter.hpp</a></li>
<li>SMFWriter.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>