Release 4.2.1 tarball

This commit is contained in:
Gary Scavone
2013-09-29 23:40:35 +02:00
committed by Stephen Sinclair
parent 11cf5faa0a
commit 21b93795e7
1041 changed files with 23984 additions and 16348 deletions

View File

@@ -8,8 +8,8 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>TwoZero Class Reference</h1><code>#include &lt;<a class="el" href="TwoZero_8h-source.html">TwoZero.h</a>&gt;</code>
<!-- Generated by Doxygen 1.4.4 -->
<h1>TwoZero Class Reference</h1><!-- doxytag: class="TwoZero" --><!-- doxytag: inherits="Filter" --><code>#include &lt;<a class="el" href="TwoZero_8h-source.html">TwoZero.h</a>&gt;</code>
<p>
<p>Inheritance diagram for TwoZero:
<p><center><img src="classTwoZero.png" usemap="#TwoZero_map" border="0" alt=""></center>
@@ -21,92 +21,85 @@
STK two-zero filter class.
<p>
This protected <a class="el" href="classFilter.html">Filter</a> subclass implements a two-zero digital filter. A method is provided for creating a "notch" in the frequency response while maintaining a constant filter gain.<p>
by Perry R. Cook and Gary P. Scavone, 1995 - 2004.
by Perry R. Cook and Gary P. Scavone, 1995 - 2005.
<p>
<p>
Definition at line <a class="el" href="TwoZero_8h-source.html#l00020">20</a> of file <a class="el" href="TwoZero_8h-source.html">TwoZero.h</a>.<table border=0 cellpadding=0 cellspacing=0>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a0" doxytag="TwoZero::TwoZero" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classTwoZero.html#a0">TwoZero</a> ()</td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0"></a><!-- doxytag: member="TwoZero::TwoZero" ref="a0" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTwoZero.html#a0">TwoZero</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor creates a second-order pass-through filter. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="TwoZero::~TwoZero" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classTwoZero.html#a1">~TwoZero</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor creates a second-order pass-through filter. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1"></a><!-- doxytag: member="TwoZero::~TwoZero" ref="a1" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTwoZero.html#a1">~TwoZero</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class destructor. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a2" doxytag="TwoZero::clear" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classTwoZero.html#a2">clear</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class destructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2"></a><!-- doxytag: member="TwoZero::clear" ref="a2" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTwoZero.html#a2">clear</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears the internal states of the filter. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="TwoZero::setB0" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classTwoZero.html#a3">setB0</a> (StkFloat b0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears the internal states of the filter. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3"></a><!-- doxytag: member="TwoZero::setB0" ref="a3" args="(StkFloat b0)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTwoZero.html#a3">setB0</a> (StkFloat b0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the b[0] coefficient value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a4" doxytag="TwoZero::setB1" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classTwoZero.html#a4">setB1</a> (StkFloat b1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the b[0] coefficient value. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4"></a><!-- doxytag: member="TwoZero::setB1" ref="a4" args="(StkFloat b1)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTwoZero.html#a4">setB1</a> (StkFloat b1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the b[1] coefficient value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a5" doxytag="TwoZero::setB2" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classTwoZero.html#a5">setB2</a> (StkFloat b2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the b[1] coefficient value. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5"></a><!-- doxytag: member="TwoZero::setB2" ref="a5" args="(StkFloat b2)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTwoZero.html#a5">setB2</a> (StkFloat b2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the b[2] coefficient value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classTwoZero.html#a6">setNotch</a> (StkFloat frequency, StkFloat radius)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the b[2] coefficient value. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTwoZero.html#a6">setNotch</a> (StkFloat frequency, StkFloat radius)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the filter coefficients for a "notch" at <em>frequency</em> (in Hz). </em> <a href="#a6"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classTwoZero.html#a7">setGain</a> (StkFloat gain)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the filter coefficients for a "notch" at <em>frequency</em> (in Hz). <a href="#a6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTwoZero.html#a7">setGain</a> (StkFloat gain)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the filter gain. </em> <a href="#a7"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a8" doxytag="TwoZero::getGain" ></a>
StkFloat&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classTwoZero.html#a8">getGain</a> (void) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the filter gain. <a href="#a7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8"></a><!-- doxytag: member="TwoZero::getGain" ref="a8" args="(void) const " -->
StkFloat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTwoZero.html#a8">getGain</a> (void) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current filter gain. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a9" doxytag="TwoZero::lastOut" ></a>
StkFloat&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classTwoZero.html#a9">lastOut</a> (void) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current filter gain. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9"></a><!-- doxytag: member="TwoZero::lastOut" ref="a9" args="(void) const " -->
StkFloat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTwoZero.html#a9">lastOut</a> (void) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the last computed output value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a10" doxytag="TwoZero::tick" ></a>
StkFloat&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classTwoZero.html#a10">tick</a> (StkFloat sample)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the last computed output value. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a10"></a><!-- doxytag: member="TwoZero::tick" ref="a10" args="(StkFloat sample)" -->
StkFloat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTwoZero.html#a10">tick</a> (StkFloat sample)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input one sample to the filter and return one output. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a11" doxytag="TwoZero::tick" ></a>
StkFloat *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classTwoZero.html#a11">tick</a> (StkFloat *vector, unsigned int vectorSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input one sample to the filter and return one output. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTwoZero.html#a11">tick</a> (<a class="el" href="classStkFrames.html">StkFrames</a> &amp;frames, unsigned int channel=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input <em>vectorSize</em> samples to the filter and return an equal number of outputs in <em>vector</em>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classTwoZero.html#a12">tick</a> (<a class="el" href="classStkFrames.html">StkFrames</a> &amp;frames, unsigned int channel=1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Take a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object as inputs to the filter and replace with corresponding outputs. </em> <a href="#a12"></a><em><br><br></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Take a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object as inputs to the filter and replace with corresponding outputs. <a href="#a11"></a><br></td></tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a6" doxytag="TwoZero::setNotch" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<a class="anchor" name="a6"></a><!-- doxytag: member="TwoZero::setNotch" ref="a6" args="(StkFloat frequency, StkFloat radius)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void TwoZero::setNotch </td>
<td class="md" nowrap valign="top">void TwoZero::setNotch </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">StkFloat&nbsp;</td>
<td class="mdname" nowrap> <em>frequency</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>StkFloat&nbsp;</td>
<td class="mdname" nowrap> <em>radius</em></td>
</tr>
<tr>
<td></td>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
@@ -116,28 +109,27 @@ StkFloat *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="
<p>
Sets the filter coefficients for a "notch" at <em>frequency</em> (in Hz).
<p>
This method determines the filter coefficients corresponding to two complex-conjugate zeros with the given <em>frequency</em> (in Hz) and <em>radius</em> from the z-plane origin. The coefficients are then normalized to produce a maximum filter gain of one (independent of the filter <em>gain</em> parameter). The resulting filter frequency response has a "notch" or anti-resonance at the given <em>frequency</em>. The closer the zeros are to the unit-circle (<em>radius</em> close to or equal to one), the narrower the resulting notch width. </td>
This method determines the filter coefficients corresponding to two complex-conjugate zeros with the given <em>frequency</em> (in Hz) and <em>radius</em> from the z-plane origin. The coefficients are then normalized to produce a maximum filter gain of one (independent of the filter <em>gain</em> parameter). The resulting filter frequency response has a "notch" or anti-resonance at the given <em>frequency</em>. The closer the zeros are to the unit-circle (<em>radius</em> close to or equal to one), the narrower the resulting notch width. </td>
</tr>
</table>
<a class="anchor" name="a7" doxytag="TwoZero::setGain" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<a class="anchor" name="a7"></a><!-- doxytag: member="TwoZero::setGain" ref="a7" args="(StkFloat gain)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void TwoZero::setGain </td>
<td class="md" nowrap valign="top">void TwoZero::setGain </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">StkFloat&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>gain</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
@@ -147,39 +139,38 @@ This method determines the filter coefficients corresponding to two complex-conj
<p>
Set the filter gain.
<p>
The gain is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0.
The gain is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0.
<p>
Reimplemented from <a class="el" href="classFilter.html#a7">Filter</a>. </td>
</tr>
</table>
<a class="anchor" name="a12" doxytag="TwoZero::tick" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<a class="anchor" name="a11"></a><!-- doxytag: member="TwoZero::tick" ref="a11" args="(StkFrames &amp;frames, unsigned int channel=0)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="classStkFrames.html">StkFrames</a>&amp; TwoZero::tick </td>
<td class="md" nowrap valign="top"><a class="el" href="classStkFrames.html">StkFrames</a>&amp; TwoZero::tick </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>frames</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap align="right"></td>
<td class="md"></td>
<td class="md" nowrap>unsigned int&nbsp;</td>
<td class="mdname" nowrap> <em>channel</em> = 1</td>
<td class="mdname" nowrap> <em>channel</em> = <code>0</code></td>
</tr>
<tr>
<td></td>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
@@ -189,9 +180,9 @@ Reimplemented from <a class="el" href="classFilter.html#a7">Filter</a>. </td>
<p>
Take a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object as inputs to the filter and replace with corresponding outputs.
<p>
The <code>channel</code> argument should be one or greater (the first channel is specified by 1). An <a class="el" href="classStkError.html">StkError</a> will be thrown if the <code>channel</code> argument is zero or it is greater than the number of channels in the <a class="el" href="classStkFrames.html">StkFrames</a> object.
The <code>channel</code> argument should be zero or greater (the first channel is specified by 0). An <a class="el" href="classStkError.html">StkError</a> will be thrown if the <code>channel</code> argument is equal to or greater than the number of channels in the <a class="el" href="classStkFrames.html">StkFrames</a> object.
<p>
Reimplemented from <a class="el" href="classFilter.html#a12">Filter</a>. </td>
Reimplemented from <a class="el" href="classFilter.html#a11">Filter</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
@@ -200,7 +191,7 @@ Reimplemented from <a class="el" href="classFilter.html#a12">Filter</a>. </td
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
<tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>