Release 4.4.3 tarball

This commit is contained in:
Gary Scavone
2013-09-29 23:49:37 +02:00
committed by Stephen Sinclair
parent cfdfe7736a
commit f13d5bb3cd
632 changed files with 12236 additions and 19041 deletions

View File

@@ -53,7 +53,7 @@ void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Perry's simple reverberator class. </p>
<p>This class takes a monophonic input signal and produces a stereo output signal. It is based on some of the famous Stanford/CCRMA reverbs (<a class="el" href="classstk_1_1NRev.html" title="CCRMA&#39;s NRev reverberator class.">NRev</a>, KipRev), which were based on the Chowning/Moorer/Schroeder reverberators using networks of simple allpass and comb delay filters. This class implements two series allpass units and two parallel comb filters.</p>
<p>by Perry R. Cook and Gary P. Scavone, 1995 - 2010. </p>
<p>by Perry R. Cook and Gary P. Scavone, 1995-2011. </p>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a47ed5fee4401f0050d6a47d1154e81c6"></a><!-- doxytag: member="stk::PRCRev::lastOut" ref="a47ed5fee4401f0050d6a47d1154e81c6" args="(unsigned int channel=0)" -->
<div class="memitem">
@@ -74,6 +74,18 @@ void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<p>Return the specified channel value of the last computed stereo frame. </p>
<p>Use the <a class="el" href="classstk_1_1Effect.html#a3d7e2b8942bf7adcc71dfc6dccbb7aa0" title="Return an StkFrames reference to the last output sample frame.">lastFrame()</a> function to get both values of the last computed stereo frame. The <code>channel</code> argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an <a class="el" href="classstk_1_1StkError.html" title="STK error handling class.">StkError</a> exception. </p>
<p><div class="fragment"><pre class="fragment"><a name="l00091"></a>00091 {
<a name="l00092"></a>00092 <span class="preprocessor">#if defined(_STK_DEBUG_)</span>
<a name="l00093"></a>00093 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( channel &gt; 1 ) {
<a name="l00094"></a>00094 oStream_ &lt;&lt; <span class="stringliteral">&quot;PRCRev::lastOut(): channel argument must be less than 2!&quot;</span>;
<a name="l00095"></a>00095 <a class="code" href="classstk_1_1Stk.html#a48ac73a0d8ca28445ba1a054e1f061ff" title="Static function for error reporting and handling using c-strings.">handleError</a>( StkError::FUNCTION_ARGUMENT );
<a name="l00096"></a>00096 }
<a name="l00097"></a>00097 <span class="preprocessor">#endif</span>
<a name="l00098"></a>00098 <span class="preprocessor"></span>
<a name="l00099"></a>00099 <span class="keywordflow">return</span> lastFrame_[channel];
<a name="l00100"></a>00100 }
</pre></div></p>
</div>
</div>
<a class="anchor" id="ada84d5241777575b660db100a85b35a6"></a><!-- doxytag: member="stk::PRCRev::tick" ref="ada84d5241777575b660db100a85b35a6" args="(StkFloat input, unsigned int channel=0)" -->
@@ -104,6 +116,41 @@ void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<p>Input one sample to the effect and return the specified <code>channel</code> value of the computed stereo frame. </p>
<p>Use the <a class="el" href="classstk_1_1Effect.html#a3d7e2b8942bf7adcc71dfc6dccbb7aa0" title="Return an StkFrames reference to the last output sample frame.">lastFrame()</a> function to get both values of the computed stereo output frame. The <code>channel</code> argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an <a class="el" href="classstk_1_1StkError.html" title="STK error handling class.">StkError</a> exception. </p>
<p><div class="fragment"><pre class="fragment"><a name="l00103"></a>00103 {
<a name="l00104"></a>00104 <span class="preprocessor">#if defined(_STK_DEBUG_)</span>
<a name="l00105"></a>00105 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( channel &gt; 1 ) {
<a name="l00106"></a>00106 oStream_ &lt;&lt; <span class="stringliteral">&quot;PRCRev::tick(): channel argument must be less than 2!&quot;</span>;
<a name="l00107"></a>00107 <a class="code" href="classstk_1_1Stk.html#a48ac73a0d8ca28445ba1a054e1f061ff" title="Static function for error reporting and handling using c-strings.">handleError</a>( StkError::FUNCTION_ARGUMENT );
<a name="l00108"></a>00108 }
<a name="l00109"></a>00109 <span class="preprocessor">#endif</span>
<a name="l00110"></a>00110 <span class="preprocessor"></span>
<a name="l00111"></a>00111 StkFloat temp, temp0, temp1, temp2, temp3;
<a name="l00112"></a>00112
<a name="l00113"></a>00113 temp = allpassDelays_[0].lastOut();
<a name="l00114"></a>00114 temp0 = allpassCoefficient_ * temp;
<a name="l00115"></a>00115 temp0 += input;
<a name="l00116"></a>00116 allpassDelays_[0].tick(temp0);
<a name="l00117"></a>00117 temp0 = -(allpassCoefficient_ * temp0) + temp;
<a name="l00118"></a>00118
<a name="l00119"></a>00119 temp = allpassDelays_[1].lastOut();
<a name="l00120"></a>00120 temp1 = allpassCoefficient_ * temp;
<a name="l00121"></a>00121 temp1 += temp0;
<a name="l00122"></a>00122 allpassDelays_[1].tick(temp1);
<a name="l00123"></a>00123 temp1 = -(allpassCoefficient_ * temp1) + temp;
<a name="l00124"></a>00124
<a name="l00125"></a>00125 temp2 = temp1 + ( combCoefficient_[0] * combDelays_[0].lastOut() );
<a name="l00126"></a>00126 temp3 = temp1 + ( combCoefficient_[1] * combDelays_[1].lastOut() );
<a name="l00127"></a>00127
<a name="l00128"></a>00128 lastFrame_[0] = effectMix_ * (combDelays_[0].tick(temp2));
<a name="l00129"></a>00129 lastFrame_[1] = effectMix_ * (combDelays_[1].tick(temp3));
<a name="l00130"></a>00130 temp = (1.0 - effectMix_) * input;
<a name="l00131"></a>00131 lastFrame_[0] += temp;
<a name="l00132"></a>00132 lastFrame_[1] += temp;
<a name="l00133"></a>00133
<a name="l00134"></a>00134 <span class="keywordflow">return</span> lastFrame_[channel];
<a name="l00135"></a>00135 }
</pre></div></p>
</div>
</div>
<a class="anchor" id="a8a0ddbafabeabcf780d6a6b1d5e9a6b4"></a><!-- doxytag: member="stk::PRCRev::tick" ref="a8a0ddbafabeabcf780d6a6b1d5e9a6b4" args="(StkFrames &amp;frames, unsigned int channel=0)" -->
@@ -186,7 +233,7 @@ void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="clas
<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-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
<tr><td>&copy;1995-2011 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>