Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 6e7a2755bd78c9deedab199b86e675f3 > files > 2269

gnuradio-doc-3.2.2-9.fc14.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>GNU Radio 3.2.2 C++ API: gr_wavfile_sink Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">GNU Radio 3.2.2 C++ API</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classgr__wavfile__sink.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<h1>gr_wavfile_sink Class Reference<div class="ingroups"><a class="el" href="group__sink__blk.html">Signal Sinks</a></div></h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="gr_wavfile_sink" --><!-- doxytag: inherits="gr_sync_block" -->
<p>Read stream from a Microsoft PCM (.wav) file, output floats.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="gr__wavfile__sink_8h_source.html">gr_wavfile_sink.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for gr_wavfile_sink:</div>
<div class="dyncontent">
<div class="center"><img src="classgr__wavfile__sink__inherit__graph.png" border="0" usemap="#gr__wavfile__sink_inherit__map" alt="Inheritance graph"/></div>
<map name="gr__wavfile__sink_inherit__map" id="gr__wavfile__sink_inherit__map">
<area shape="rect" id="node2" href="classgr__sync__block.html" title="synchronous 1:1 input to output with historyOverride work to provide the signal processing implementa..." alt="" coords="8,160,115,189"/><area shape="rect" id="node4" href="classgr__block.html" title="The abstract base class for all &#39;terminal&#39; processing blocks.A signal processing flow is cons..." alt="" coords="27,83,96,112"/><area shape="rect" id="node6" href="classgr__basic__block.html" title="The abstract base class for all signal processing blocks.Basic blocks are the bare abstraction of an ..." alt="" coords="7,5,116,35"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classgr__wavfile__sink-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">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__wavfile__sink.html#a14bc835ccf40e076b95ca3da70d80f35">~gr_wavfile_sink</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__wavfile__sink.html#a51cb540475618ad3c5563d02860d99bd">open</a> (const char *filename)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens a new file and writes a WAV header. Thread-safe.  <a href="#a51cb540475618ad3c5563d02860d99bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__wavfile__sink.html#a53790ce139385802d2249d94a3872b3b">close</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the currently active file and completes the WAV header. Thread-safe.  <a href="#a53790ce139385802d2249d94a3872b3b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__wavfile__sink.html#a35f3a886f6ae00996ad92fdda3c801aa">do_update</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If any file changes have occurred, update now. This is called internally by <a class="el" href="classgr__wavfile__sink.html#a8f899963a641af16db502576990462d2" title="just like gr_block::general_work, only this arranges to call consume_each for you">work()</a> and thus doesn't usually need to be called by hand.  <a href="#a35f3a886f6ae00996ad92fdda3c801aa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__wavfile__sink.html#a7dbab3fa08b9a3ba1e3d49e9ac2b919a">set_sample_rate</a> (unsigned int sample_rate)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the sample rate. This will not affect the WAV file currently opened. Any following <a class="el" href="classgr__wavfile__sink.html#a51cb540475618ad3c5563d02860d99bd" title="Opens a new file and writes a WAV header. Thread-safe.">open()</a> calls will use this new sample rate.  <a href="#a7dbab3fa08b9a3ba1e3d49e9ac2b919a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__wavfile__sink.html#aa4a5e558c4056a947fb3fa5544fa5618">set_bits_per_sample</a> (int bits_per_sample)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set bits per sample. This will not affect the WAV file currently opened (see <a class="el" href="classgr__wavfile__sink.html#a7dbab3fa08b9a3ba1e3d49e9ac2b919a" title="Set the sample rate. This will not affect the WAV file currently opened. Any following open() calls w...">set_sample_rate()</a>). If the value is neither 8 nor 16, the call is ignored and the current value is kept.  <a href="#aa4a5e558c4056a947fb3fa5544fa5618"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__wavfile__sink.html#a8f899963a641af16db502576990462d2">work</a> (int noutput_items, <a class="el" href="classstd_1_1vector.html">gr_vector_const_void_star</a> &amp;input_items, <a class="el" href="classstd_1_1vector.html">gr_vector_void_star</a> &amp;output_items)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">just like <a class="el" href="classgr__block.html#a137b93d87dc83bbdb6369d33f4ea8197" title="compute output items from input items">gr_block::general_work</a>, only this arranges to call consume_each for you  <a href="#a8f899963a641af16db502576990462d2"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1shared__ptr.html">gr_wavfile_sink_sptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgr__wavfile__sink.html#a681ee7d6dd9c45c843907ef2153ae6e4">gr_make_wavfile_sink</a> (const char *filename, int n_channels, unsigned int sample_rate, int bits_per_sample)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Read stream from a Microsoft PCM (.wav) file, output floats. </p>
<p>Values are within [-1;1]. Check <a class="el" href="gr__wavfile__source_8h.html#a03d4e783a767cdcab787ffbf7ef4e99d">gr_make_wavfile_source()</a> for extra info. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a14bc835ccf40e076b95ca3da70d80f35"></a><!-- doxytag: member="gr_wavfile_sink::~gr_wavfile_sink" ref="a14bc835ccf40e076b95ca3da70d80f35" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">gr_wavfile_sink::~gr_wavfile_sink </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a53790ce139385802d2249d94a3872b3b"></a><!-- doxytag: member="gr_wavfile_sink::close" ref="a53790ce139385802d2249d94a3872b3b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gr_wavfile_sink::close </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Closes the currently active file and completes the WAV header. Thread-safe. </p>

</div>
</div>
<a class="anchor" id="a35f3a886f6ae00996ad92fdda3c801aa"></a><!-- doxytag: member="gr_wavfile_sink::do_update" ref="a35f3a886f6ae00996ad92fdda3c801aa" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gr_wavfile_sink::do_update </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>If any file changes have occurred, update now. This is called internally by <a class="el" href="classgr__wavfile__sink.html#a8f899963a641af16db502576990462d2" title="just like gr_block::general_work, only this arranges to call consume_each for you">work()</a> and thus doesn't usually need to be called by hand. </p>

</div>
</div>
<a class="anchor" id="a51cb540475618ad3c5563d02860d99bd"></a><!-- doxytag: member="gr_wavfile_sink::open" ref="a51cb540475618ad3c5563d02860d99bd" args="(const char *filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="gc__types_8h.html#a0f2b5d454b7e4dda3861032cfce91085">bool</a> gr_wavfile_sink::open </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens a new file and writes a WAV header. Thread-safe. </p>

</div>
</div>
<a class="anchor" id="aa4a5e558c4056a947fb3fa5544fa5618"></a><!-- doxytag: member="gr_wavfile_sink::set_bits_per_sample" ref="aa4a5e558c4056a947fb3fa5544fa5618" args="(int bits_per_sample)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gr_wavfile_sink::set_bits_per_sample </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>bits_per_sample</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set bits per sample. This will not affect the WAV file currently opened (see <a class="el" href="classgr__wavfile__sink.html#a7dbab3fa08b9a3ba1e3d49e9ac2b919a" title="Set the sample rate. This will not affect the WAV file currently opened. Any following open() calls w...">set_sample_rate()</a>). If the value is neither 8 nor 16, the call is ignored and the current value is kept. </p>

</div>
</div>
<a class="anchor" id="a7dbab3fa08b9a3ba1e3d49e9ac2b919a"></a><!-- doxytag: member="gr_wavfile_sink::set_sample_rate" ref="a7dbab3fa08b9a3ba1e3d49e9ac2b919a" args="(unsigned int sample_rate)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gr_wavfile_sink::set_sample_rate </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>sample_rate</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the sample rate. This will not affect the WAV file currently opened. Any following <a class="el" href="classgr__wavfile__sink.html#a51cb540475618ad3c5563d02860d99bd" title="Opens a new file and writes a WAV header. Thread-safe.">open()</a> calls will use this new sample rate. </p>

</div>
</div>
<a class="anchor" id="a8f899963a641af16db502576990462d2"></a><!-- doxytag: member="gr_wavfile_sink::work" ref="a8f899963a641af16db502576990462d2" args="(int noutput_items, gr_vector_const_void_star &amp;input_items, gr_vector_void_star &amp;output_items)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int gr_wavfile_sink::work </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>noutput_items</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">gr_vector_const_void_star</a> &amp;&#160;</td>
          <td class="paramname"><em>input_items</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">gr_vector_void_star</a> &amp;&#160;</td>
          <td class="paramname"><em>output_items</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>just like <a class="el" href="classgr__block.html#a137b93d87dc83bbdb6369d33f4ea8197" title="compute output items from input items">gr_block::general_work</a>, only this arranges to call consume_each for you </p>
<p>The user must override work to define the signal processing code </p>

<p>Implements <a class="el" href="classgr__sync__block.html#a0c523f4285a6eb690f677ee6295ab117">gr_sync_block</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a681ee7d6dd9c45c843907ef2153ae6e4"></a><!-- doxytag: member="gr_wavfile_sink::gr_make_wavfile_sink" ref="a681ee7d6dd9c45c843907ef2153ae6e4" args="(const char *filename, int n_channels, unsigned int sample_rate, int bits_per_sample)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classboost_1_1shared__ptr.html">gr_wavfile_sink_sptr</a> gr_make_wavfile_sink </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n_channels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>sample_rate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>bits_per_sample</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="gr__wavfile__sink_8h_source.html">gr_wavfile_sink.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="classgr__wavfile__sink.html">gr_wavfile_sink</a>      </li>
      <li class="footer">Generated on Thu Feb 17 2011 for GNU Radio 3.2.2 C++ API by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>