Sophie

Sophie

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

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::AudioDelayLine 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_1AudioDelayLine.html">AudioDelayLine</a>
  </div>
</div>
<div class="contents">
<h1>Async::AudioDelayLine Class Reference</h1><!-- doxytag: class="Async::AudioDelayLine" --><!-- doxytag: inherits="Async::AudioSink,Async::AudioSource" -->
<p>This class implements an audio delay line.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="AsyncAudioDelayLine_8h_source.html">AsyncAudioDelayLine.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Async::AudioDelayLine:</div>
<div class="dynsection">
 <div class="center">
  <img src="classAsync_1_1AudioDelayLine.png" usemap="#Async::AudioDelayLine_map" alt=""/>
  <map id="Async::AudioDelayLine_map" name="Async::AudioDelayLine_map">
<area href="classAsync_1_1AudioSink.html" alt="Async::AudioSink" shape="rect" coords="0,0,144,24"/>
<area href="classAsync_1_1AudioSource.html" alt="Async::AudioSource" shape="rect" coords="154,0,298,24"/>
</map>
 </div>
</div>

<p><a href="classAsync_1_1AudioDelayLine-members.html">List of all members.</a></p>
<h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="classAsync_1_1AudioDelayLine.html#a06a36f0cbfc41a8a520ea52d8db397ff">AudioDelayLine</a> (int length_ms)
<dl class="el"><dd class="mdescRight">Constuctor.  <a href="#a06a36f0cbfc41a8a520ea52d8db397ff"></a><br/></dl><li><a class="el" href="classAsync_1_1AudioDelayLine.html#a0b61c4c4479cfbc7cee8e8ba1652d08b">~AudioDelayLine</a> (void)
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#a0b61c4c4479cfbc7cee8e8ba1652d08b"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioDelayLine.html#a6dca0c75ba49ac3df33d30fe1c5f26c6">mute</a> (bool do_mute, int time_ms=0)
<dl class="el"><dd class="mdescRight">Mute audio.  <a href="#a6dca0c75ba49ac3df33d30fe1c5f26c6"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioDelayLine.html#ada4fe4d0dd533644de412854e297bae3">clear</a> (int time_ms=-1)
<dl class="el"><dd class="mdescRight">Clear samples in the delay line.  <a href="#ada4fe4d0dd533644de412854e297bae3"></a><br/></dl><li>int <a class="el" href="classAsync_1_1AudioDelayLine.html#a7fd387dd0aeb51025ca7dc568a720306">writeSamples</a> (const float *samples, int count)
<dl class="el"><dd class="mdescRight">Write samples into the delay line.  <a href="#a7fd387dd0aeb51025ca7dc568a720306"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioDelayLine.html#a24974eba89725a17048cf50c93006f3a">flushSamples</a> (void)
<dl class="el"><dd class="mdescRight">Tell the sink to flush the previously written samples.  <a href="#a24974eba89725a17048cf50c93006f3a"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioDelayLine.html#a795984fbe4c7720502aa3ab35845a606">resumeOutput</a> (void)
<dl class="el"><dd class="mdescRight">Resume audio output to the sink.  <a href="#a795984fbe4c7720502aa3ab35845a606"></a><br/></dl><li>void <a class="el" href="classAsync_1_1AudioDelayLine.html#a960b0b88890fb9b920deafc4960a9838">allSamplesFlushed</a> (void)
<dl class="el"><dd class="mdescRight">The registered sink has flushed all samples.  <a href="#a960b0b88890fb9b920deafc4960a9838"></a><br/></dl></ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>This class implements an audio delay line. </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-07-08</dd></dl>
<p>This class implements an audio delay line. It simple delays the audio with the specified amount of time. This can be useful if you want to mute audio based on a slow detector. With a delay line you have the possibility to mute audio that have passed the detector but have not yet passed through the delay line. </p>

<p>Definition at line <a class="el" href="AsyncAudioDelayLine_8h_source.html#l00117">117</a> of file <a class="el" href="AsyncAudioDelayLine_8h_source.html">AsyncAudioDelayLine.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a06a36f0cbfc41a8a520ea52d8db397ff"></a><!-- doxytag: member="Async::AudioDelayLine::AudioDelayLine" ref="a06a36f0cbfc41a8a520ea52d8db397ff" args="(int length_ms)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Async::AudioDelayLine::AudioDelayLine </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>length_ms</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constuctor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>length_ms</em>&nbsp;</td><td>The length in milliseconds of the delay line </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0b61c4c4479cfbc7cee8e8ba1652d08b"></a><!-- doxytag: member="Async::AudioDelayLine::~AudioDelayLine" ref="a0b61c4c4479cfbc7cee8e8ba1652d08b" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Async::AudioDelayLine::~AudioDelayLine </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>Destructor. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a960b0b88890fb9b920deafc4960a9838"></a><!-- doxytag: member="Async::AudioDelayLine::allSamplesFlushed" ref="a960b0b88890fb9b920deafc4960a9838" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioDelayLine::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>The registered sink has flushed all samples. </p>
<p>This function must be implemented by the inheriting class. It will be called when all samples have been flushed in the registered sink. This function is normally only called from a connected sink object. </p>

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

</div>
</div>
<a class="anchor" id="ada4fe4d0dd533644de412854e297bae3"></a><!-- doxytag: member="Async::AudioDelayLine::clear" ref="ada4fe4d0dd533644de412854e297bae3" args="(int time_ms=&#45;1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioDelayLine::clear </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>time_ms</em> = <code>-1</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clear samples in the delay line. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>time_ms</em>&nbsp;</td><td>How long time in milliseconds to clear</td></tr>
  </table>
  </dd>
</dl>
<p>Will clear the specified amount of samples in the delay line. If a clear is issued right before the delay line is flushed, the cleared samles will not be flushed. They will be thrown away. </p>

</div>
</div>
<a class="anchor" id="a24974eba89725a17048cf50c93006f3a"></a><!-- doxytag: member="Async::AudioDelayLine::flushSamples" ref="a24974eba89725a17048cf50c93006f3a" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioDelayLine::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>Tell the sink to flush the previously written samples. </p>
<p>This function is used to tell the sink to flush previously written samples. When done flushing, the sink should call the sourceAllSamplesFlushed function. This function is normally only called from a connected source object. </p>

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

</div>
</div>
<a class="anchor" id="a6dca0c75ba49ac3df33d30fe1c5f26c6"></a><!-- doxytag: member="Async::AudioDelayLine::mute" ref="a6dca0c75ba49ac3df33d30fe1c5f26c6" args="(bool do_mute, int time_ms=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioDelayLine::mute </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>do_mute</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>time_ms</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Mute audio. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>do_mute</em>&nbsp;</td><td>If <em>true</em> mute else unmute </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>time_ms</em>&nbsp;</td><td>How much more time in milliseconds to mute (see below)</td></tr>
  </table>
  </dd>
</dl>
<p>This function is used to mute audio in the delay line. With time_ms equal to zero its function is trivial. Mute incoming audio until mute is called with do_mute = false. The time_ms paramter specify how much time before (do_mute = true) or time after (do_mute = false) should be muted. Negative values are not allowed. </p>

</div>
</div>
<a class="anchor" id="a795984fbe4c7720502aa3ab35845a606"></a><!-- doxytag: member="Async::AudioDelayLine::resumeOutput" ref="a795984fbe4c7720502aa3ab35845a606" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Async::AudioDelayLine::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 audio output to the sink. </p>
<p>This function must be reimplemented by the inheriting class. It will be called when the registered audio sink is ready to accept more samples. This function is normally only called from a connected sink object. </p>

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

</div>
</div>
<a class="anchor" id="a7fd387dd0aeb51025ca7dc568a720306"></a><!-- doxytag: member="Async::AudioDelayLine::writeSamples" ref="a7fd387dd0aeb51025ca7dc568a720306" args="(const float *samples, int count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Async::AudioDelayLine::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>count</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 samples into the delay line. </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>count</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>Returns the number of samples that has been taken care of</dd></dl>
<p>This function will write samples into the delay line. It's normally only called from a connected source object. </p>

<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="AsyncAudioDelayLine_8h_source.html">AsyncAudioDelayLine.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>