Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > os > by-pkgid > 9c481c872fb0ae0cbadccdc2f4a18ab6 > files > 181

libasync-devel-0.17.0-5.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>Async: Async::AudioProcessor 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.6.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</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>
      <li><a href="dirs.html"><span>Directories</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <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"><a class="el" href="namespaceAsync.html">Async</a>::<a class="el" href="classAsync_1_1AudioProcessor.html">AudioProcessor</a>
  </div>
</div>
<div class="contents">
<h1>Async::AudioProcessor Class Reference</h1><!-- doxytag: class="Async::AudioProcessor" --><!-- doxytag: inherits="Async::AudioSink,Async::AudioSource" -->
<p>The base class for an audio processor.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="AsyncAudioProcessor_8h_source.html">AsyncAudioProcessor.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Async::AudioProcessor:</div>
<div class="dynsection">
 <div class="center">
  <img src="classAsync_1_1AudioProcessor.png" usemap="#Async::AudioProcessor_map" alt=""/>
  <map id="Async::AudioProcessor_map" name="Async::AudioProcessor_map">
<area href="classAsync_1_1AudioSink.html" alt="Async::AudioSink" shape="rect" coords="330,0,485,24"/>
<area href="classAsync_1_1AudioSource.html" alt="Async::AudioSource" shape="rect" coords="495,0,650,24"/>
<area href="classAsync_1_1AudioAmp.html" alt="Async::AudioAmp" shape="rect" coords="0,112,155,136"/>
<area href="classAsync_1_1AudioClipper.html" alt="Async::AudioClipper" shape="rect" coords="165,112,320,136"/>
<area href="classAsync_1_1AudioCompressor.html" alt="Async::AudioCompressor" shape="rect" coords="330,112,485,136"/>
<area href="classAsync_1_1AudioDecimator.html" alt="Async::AudioDecimator" shape="rect" coords="495,112,650,136"/>
<area href="classAsync_1_1AudioFilter.html" alt="Async::AudioFilter" shape="rect" coords="660,112,815,136"/>
<area href="classAsync_1_1AudioInterpolator.html" alt="Async::AudioInterpolator" shape="rect" coords="825,112,980,136"/>
</map>
 </div>
</div>

<p><a href="classAsync_1_1AudioProcessor-members.html">List of all members.</a></p>
<h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="classAsync_1_1AudioProcessor.html#af69bb29f508458b049290112eb03c4b6">AudioProcessor</a> (void)
<dl class="el"><dd class="mdescRight">Default constuctor.  <a href="#af69bb29f508458b049290112eb03c4b6"></a><br/></dl><li>virtual <a class="el" href="classAsync_1_1AudioProcessor.html#a375e077ab645b152b7d2c350bd57985a">~AudioProcessor</a> (void)
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#a375e077ab645b152b7d2c350bd57985a"></a><br/></dl><li>int <a class="el" href="classAsync_1_1AudioProcessor.html#a8794b9b41ad8da1604433d9476411ca2">writeSamples</a> (const float *samples, int len)
<dl class="el"><dd class="mdescRight">Write audio to the filter.  <a href="#a8794b9b41ad8da1604433d9476411ca2"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioProcessor.html#aac5f8e87b28e3f761e19483b6c0dd3b8">flushSamples</a> (void)
<dl class="el"><dd class="mdescRight">Order a flush of all samples.  <a href="#aac5f8e87b28e3f761e19483b6c0dd3b8"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioProcessor.html#a11182749ba069c967ddfe4d61fa5aa6c">resumeOutput</a> (void)
<dl class="el"><dd class="mdescRight">Resume output to the sink if previously stopped.  <a href="#a11182749ba069c967ddfe4d61fa5aa6c"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioProcessor.html#a5e70bbb209ed56260108cb5c7174dd91">allSamplesFlushed</a> (void)
<dl class="el"><dd class="mdescRight">All samples have been flushed by the sink.  <a href="#a5e70bbb209ed56260108cb5c7174dd91"></a><br/></dl></ul>
<h2>Protected Member Functions</h2>
<ul>
<li>void <a class="el" href="classAsync_1_1AudioProcessor.html#a58bdda697fbb0f445d9b411d371b69fc">setInputOutputSampleRate</a> (int input_rate, int output_rate)
<dl class="el"><dd class="mdescRight">Set the input and output sample rates.  <a href="#a58bdda697fbb0f445d9b411d371b69fc"></a><br/></dl><li>virtual void <a class="el" href="classAsync_1_1AudioProcessor.html#a2d7e4ec25a7bd6a9c5c20ae35c1adee3">processSamples</a> (float *dest, const float *src, int count)=0
<dl class="el"><dd class="mdescRight">Process incoming samples and put them into the output buffer.  <a href="#a2d7e4ec25a7bd6a9c5c20ae35c1adee3"></a><br/></dl></ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>The base class for an audio processor. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>Tobias Blomberg / SM0SVX </dd></dl>
<dl class="date"><dt><b>Date:</b></dt><dd>2006-04-23</dd></dl>
<p>This class is the base class for an audio processor. An audio processor is a class that is both an audio sink and source. It receives samples, process them in some way and send them further down the chain. </p>

<p>Definition at line <a class="el" href="AsyncAudioProcessor_8h_source.html#l00117">117</a> of file <a class="el" href="AsyncAudioProcessor_8h_source.html">AsyncAudioProcessor.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af69bb29f508458b049290112eb03c4b6"></a><!-- doxytag: member="Async::AudioProcessor::AudioProcessor" ref="af69bb29f508458b049290112eb03c4b6" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Async::AudioProcessor::AudioProcessor </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Default constuctor. </p>

</div>
</div>
<a class="anchor" id="a375e077ab645b152b7d2c350bd57985a"></a><!-- doxytag: member="Async::AudioProcessor::~AudioProcessor" ref="a375e077ab645b152b7d2c350bd57985a" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual Async::AudioProcessor::~AudioProcessor </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a5e70bbb209ed56260108cb5c7174dd91"></a><!-- doxytag: member="Async::AudioProcessor::allSamplesFlushed" ref="a5e70bbb209ed56260108cb5c7174dd91" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioProcessor::allSamplesFlushed </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>All samples have been flushed by the sink. </p>

<p>Reimplemented from <a class="el" href="classAsync_1_1AudioSource.html#a563adf6411eddbd056abf206a12354b6">Async::AudioSource</a>.</p>

</div>
</div>
<a class="anchor" id="aac5f8e87b28e3f761e19483b6c0dd3b8"></a><!-- doxytag: member="Async::AudioProcessor::flushSamples" ref="aac5f8e87b28e3f761e19483b6c0dd3b8" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioProcessor::flushSamples </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Order a flush of all samples. </p>

<p>Reimplemented from <a class="el" href="classAsync_1_1AudioSink.html#adde14468248671c6c5c85eb47234e0fa">Async::AudioSink</a>.</p>

</div>
</div>
<a class="anchor" id="a2d7e4ec25a7bd6a9c5c20ae35c1adee3"></a><!-- doxytag: member="Async::AudioProcessor::processSamples" ref="a2d7e4ec25a7bd6a9c5c20ae35c1adee3" args="(float *dest, const float *src, int count)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Async::AudioProcessor::processSamples </td>
          <td>(</td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float *&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>count</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Process incoming samples and put them into the output buffer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>Destination buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Source buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>Number of samples in the source buffer</td></tr>
  </table>
  </dd>
</dl>
<p>This function should be reimplemented by the inheriting class to do the actual processing of the incoming samples. All samples must be processed, otherwise they are lost and the output buffer will contain garbage. </p>

<p>Implemented in <a class="el" href="classAsync_1_1AudioAmp.html#aa2a8e1111bd6b6c555e73fc2fa0561a4">Async::AudioAmp</a>, <a class="el" href="classAsync_1_1AudioClipper.html#ad864388377d3690b39b4e17687d2bf9e">Async::AudioClipper</a>, <a class="el" href="classAsync_1_1AudioCompressor.html#aef62f704d4f3c108eec1ffec20006b8f">Async::AudioCompressor</a>, <a class="el" href="classAsync_1_1AudioDecimator.html#aabfa2bd5cc4d9f77bea7066f5c7cf950">Async::AudioDecimator</a>, <a class="el" href="classAsync_1_1AudioFilter.html#aea2b9e87a961540507641bf443df731b">Async::AudioFilter</a>, and <a class="el" href="classAsync_1_1AudioInterpolator.html#ac07152b14156911489e2502537e1a980">Async::AudioInterpolator</a>.</p>

</div>
</div>
<a class="anchor" id="a11182749ba069c967ddfe4d61fa5aa6c"></a><!-- doxytag: member="Async::AudioProcessor::resumeOutput" ref="a11182749ba069c967ddfe4d61fa5aa6c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioProcessor::resumeOutput </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Resume output to the sink if previously stopped. </p>

<p>Reimplemented from <a class="el" href="classAsync_1_1AudioSource.html#ac187f89a6094ec066dab5b4fd3108754">Async::AudioSource</a>.</p>

</div>
</div>
<a class="anchor" id="a58bdda697fbb0f445d9b411d371b69fc"></a><!-- doxytag: member="Async::AudioProcessor::setInputOutputSampleRate" ref="a58bdda697fbb0f445d9b411d371b69fc" args="(int input_rate, int output_rate)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioProcessor::setInputOutputSampleRate </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>input_rate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>output_rate</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the input and output sample rates. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>input_rate</em>&nbsp;</td><td>The input sample rate </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>output_rate</em>&nbsp;</td><td>The output sample rate </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8794b9b41ad8da1604433d9476411ca2"></a><!-- doxytag: member="Async::AudioProcessor::writeSamples" ref="a8794b9b41ad8da1604433d9476411ca2" args="(const float *samples, int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Async::AudioProcessor::writeSamples </td>
          <td>(</td>
          <td class="paramtype">const float *&nbsp;</td>
          <td class="paramname"> <em>samples</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write audio to the filter. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>samples</em>&nbsp;</td><td>The buffer containing the samples </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>The number of samples in the buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Return the number of samples processed </dd></dl>

<p>Reimplemented from <a class="el" href="classAsync_1_1AudioSink.html#a490aa6380d6b0069fc501f0d9f62e236">Async::AudioSink</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="AsyncAudioProcessor_8h_source.html">AsyncAudioProcessor.h</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address>
</body>
</html>