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>PoleZero Class Reference</h1><code>#include &lt;<a class="el" href="PoleZero_8h-source.html">PoleZero.h</a>&gt;</code>
<!-- Generated by Doxygen 1.4.4 -->
<h1>PoleZero Class Reference</h1><!-- doxytag: class="PoleZero" --><!-- doxytag: inherits="Filter" --><code>#include &lt;<a class="el" href="PoleZero_8h-source.html">PoleZero.h</a>&gt;</code>
<p>
<p>Inheritance diagram for PoleZero:
<p><center><img src="classPoleZero.png" usemap="#PoleZero_map" border="0" alt=""></center>
@@ -21,86 +21,79 @@
STK one-pole, one-zero filter class.
<p>
This protected <a class="el" href="classFilter.html">Filter</a> subclass implements a one-pole, one-zero digital filter. A method is provided for creating an allpass filter with a given coefficient. Another method is provided to create a DC blocking filter.<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="PoleZero_8h-source.html#l00020">20</a> of file <a class="el" href="PoleZero_8h-source.html">PoleZero.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="PoleZero::PoleZero" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPoleZero.html#a0">PoleZero</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="PoleZero::PoleZero" ref="a0" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPoleZero.html#a0">PoleZero</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor creates a first-order pass-through filter. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="PoleZero::~PoleZero" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPoleZero.html#a1">~PoleZero</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor creates a first-order pass-through filter. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1"></a><!-- doxytag: member="PoleZero::~PoleZero" ref="a1" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPoleZero.html#a1">~PoleZero</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="PoleZero::clear" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPoleZero.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="PoleZero::clear" ref="a2" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPoleZero.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="PoleZero::setB0" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPoleZero.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="PoleZero::setB0" ref="a3" args="(StkFloat b0)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPoleZero.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="PoleZero::setB1" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPoleZero.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="PoleZero::setB1" ref="a4" args="(StkFloat b1)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPoleZero.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="PoleZero::setA1" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPoleZero.html#a5">setA1</a> (StkFloat a1)</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="PoleZero::setA1" ref="a5" args="(StkFloat a1)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPoleZero.html#a5">setA1</a> (StkFloat a1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the a[1] 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="classPoleZero.html#a6">setAllpass</a> (StkFloat coefficient)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the a[1] 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="classPoleZero.html#a6">setAllpass</a> (StkFloat coefficient)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the filter for allpass behavior using <em>coefficient</em>. </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="classPoleZero.html#a7">setBlockZero</a> (StkFloat thePole=0.99)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the filter for allpass behavior using <em>coefficient</em>. <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="classPoleZero.html#a7">setBlockZero</a> (StkFloat thePole=0.99)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a DC blocking filter with the given pole position in the z-plane. </em> <a href="#a7"></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="classPoleZero.html#a8">setGain</a> (StkFloat gain)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a DC blocking filter with the given pole position in the z-plane. <a href="#a7"></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="classPoleZero.html#a8">setGain</a> (StkFloat gain)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the filter gain. </em> <a href="#a8"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a9" doxytag="PoleZero::getGain" ></a>
StkFloat&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPoleZero.html#a9">getGain</a> (void) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the filter gain. <a href="#a8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9"></a><!-- doxytag: member="PoleZero::getGain" ref="a9" args="(void) const " -->
StkFloat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPoleZero.html#a9">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="a10" doxytag="PoleZero::lastOut" ></a>
StkFloat&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPoleZero.html#a10">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="a10"></a><!-- doxytag: member="PoleZero::lastOut" ref="a10" args="(void) const " -->
StkFloat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPoleZero.html#a10">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="a11" doxytag="PoleZero::tick" ></a>
StkFloat&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPoleZero.html#a11">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="a11"></a><!-- doxytag: member="PoleZero::tick" ref="a11" args="(StkFloat sample)" -->
StkFloat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPoleZero.html#a11">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="a12" doxytag="PoleZero::tick" ></a>
StkFloat *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classPoleZero.html#a12">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="classPoleZero.html#a12">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="classPoleZero.html#a13">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="#a13"></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="#a12"></a><br></td></tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a6" doxytag="PoleZero::setAllpass" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<a class="anchor" name="a6"></a><!-- doxytag: member="PoleZero::setAllpass" ref="a6" args="(StkFloat coefficient)" --><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 PoleZero::setAllpass </td>
<td class="md" nowrap valign="top">void PoleZero::setAllpass </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">StkFloat&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>coefficient</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
@@ -110,28 +103,27 @@ StkFloat *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="
<p>
Set the filter for allpass behavior using <em>coefficient</em>.
<p>
This method uses <em>coefficient</em> to create an allpass filter, which has unity gain at all frequencies. Note that the <em>coefficient</em> magnitude must be less than one to maintain stability. </td>
This method uses <em>coefficient</em> to create an allpass filter, which has unity gain at all frequencies. Note that the <em>coefficient</em> magnitude must be less than one to maintain stability. </td>
</tr>
</table>
<a class="anchor" name="a7" doxytag="PoleZero::setBlockZero" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<a class="anchor" name="a7"></a><!-- doxytag: member="PoleZero::setBlockZero" ref="a7" args="(StkFloat thePole=0.99)" --><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 PoleZero::setBlockZero </td>
<td class="md" nowrap valign="top">void PoleZero::setBlockZero </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">StkFloat&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>thePole</em> = 0.99 </td>
<td class="mdname1" valign="top" nowrap> <em>thePole</em> = <code>0.99</code> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
@@ -141,28 +133,27 @@ This method uses <em>coefficient</em> to create an allpass filter, which has uni
<p>
Create a DC blocking filter with the given pole position in the z-plane.
<p>
This method sets the given pole position, together with a zero at z=1, to create a DC blocking filter. <em>thePole</em> should be close to one to minimize low-frequency attenuation. </td>
This method sets the given pole position, together with a zero at z=1, to create a DC blocking filter. <em>thePole</em> should be close to one to minimize low-frequency attenuation. </td>
</tr>
</table>
<a class="anchor" name="a8" doxytag="PoleZero::setGain" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<a class="anchor" name="a8"></a><!-- doxytag: member="PoleZero::setGain" ref="a8" 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 PoleZero::setGain </td>
<td class="md" nowrap valign="top">void PoleZero::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;
@@ -172,39 +163,38 @@ This method sets the given pole position, together with a zero at z=1, to create
<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="a13" doxytag="PoleZero::tick" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<a class="anchor" name="a12"></a><!-- doxytag: member="PoleZero::tick" ref="a12" 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; PoleZero::tick </td>
<td class="md" nowrap valign="top"><a class="el" href="classStkFrames.html">StkFrames</a>&amp; PoleZero::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;
@@ -214,9 +204,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>
@@ -225,7 +215,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>