mirror of
https://github.com/thestk/stk
synced 2026-04-20 14:36:55 +00:00
Release 4.4.3 tarball
This commit is contained in:
committed by
Stephen Sinclair
parent
cfdfe7736a
commit
f13d5bb3cd
@@ -44,6 +44,8 @@ void </td><td class="memItemRight" valign="bottom"><a class="el" href="clas
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa7422b2a7361f2ebe60ebff887ef36f"></a><!-- doxytag: member="stk::TubeBell::tick" ref="afa7422b2a7361f2ebe60ebff887ef36f" args="(unsigned int channel=0)" -->
|
||||
StkFloat </td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1TubeBell.html#afa7422b2a7361f2ebe60ebff887ef36f">tick</a> (unsigned int channel=0)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute and return one output sample. <br/></td></tr>
|
||||
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstk_1_1StkFrames.html">StkFrames</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1TubeBell.html#a664cede881352aea1d300ca93ba416ac">tick</a> (<a class="el" href="classstk_1_1StkFrames.html">StkFrames</a> &frames, unsigned int channel=0)</td></tr>
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Fill a channel of the <a class="el" href="classstk_1_1StkFrames.html" title="An STK class to handle vectorized audio data.">StkFrames</a> object with computed outputs. <a href="#a664cede881352aea1d300ca93ba416ac"></a><br/></td></tr>
|
||||
</table>
|
||||
<hr/><a name="_details"></a><h2>Detailed Description</h2>
|
||||
<p>STK tubular bell (orchestral chime) <a class="el" href="classstk_1_1FM.html" title="STK abstract FM synthesis base class.">FM</a> synthesis instrument. </p>
|
||||
@@ -60,7 +62,7 @@ StkFloat </td><td class="memItemRight" valign="bottom"><a class="el" href="
|
||||
<li><a class="el" href="classstk_1_1ADSR.html" title="STK ADSR envelope class.">ADSR</a> 2 & 4 Target = 128</li>
|
||||
</ul>
|
||||
<p>The basic Chowning/Stanford <a class="el" href="classstk_1_1FM.html" title="STK abstract FM synthesis base class.">FM</a> patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.</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>Constructor & Destructor Documentation</h2>
|
||||
<a class="anchor" id="a7b5de1d681fcb5c2899094dc1ffe0453"></a><!-- doxytag: member="stk::TubeBell::TubeBell" ref="a7b5de1d681fcb5c2899094dc1ffe0453" args="(void)" -->
|
||||
<div class="memitem">
|
||||
@@ -81,6 +83,66 @@ StkFloat </td><td class="memItemRight" valign="bottom"><a class="el" href="
|
||||
<p>Class constructor. </p>
|
||||
<p>An <a class="el" href="classstk_1_1StkError.html" title="STK error handling class.">StkError</a> will be thrown if the rawwave path is incorrectly set. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/><h2>Member Function Documentation</h2>
|
||||
<a class="anchor" id="a664cede881352aea1d300ca93ba416ac"></a><!-- doxytag: member="stk::TubeBell::tick" ref="a664cede881352aea1d300ca93ba416ac" args="(StkFrames &frames, unsigned int channel=0)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="classstk_1_1StkFrames.html">StkFrames</a> & stk::TubeBell::tick </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classstk_1_1StkFrames.html">StkFrames</a> & </td>
|
||||
<td class="paramname"> <em>frames</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">unsigned int </td>
|
||||
<td class="paramname"> <em>channel</em> = <code>0</code></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td><code> [inline, virtual]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>Fill a channel of the <a class="el" href="classstk_1_1StkFrames.html" title="An STK class to handle vectorized audio data.">StkFrames</a> object with computed outputs. </p>
|
||||
<p>The <code>channel</code> argument must be less than the number of channels in the <a class="el" href="classstk_1_1StkFrames.html" title="An STK class to handle vectorized audio data.">StkFrames</a> argument (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>Implements <a class="el" href="classstk_1_1FM.html#a870c602be292d2dcc1b0fd97f515f2ff">stk::FM</a>.</p>
|
||||
|
||||
<p><div class="fragment"><pre class="fragment"><a name="l00097"></a>00097 {
|
||||
<a name="l00098"></a>00098 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = lastFrame_.channels();
|
||||
<a name="l00099"></a>00099 <span class="preprocessor">#if defined(_STK_DEBUG_)</span>
|
||||
<a name="l00100"></a>00100 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( channel > frames.channels() - nChannels ) {
|
||||
<a name="l00101"></a>00101 oStream_ << <span class="stringliteral">"TubeBell::tick(): channel and StkFrames arguments are incompatible!"</span>;
|
||||
<a name="l00102"></a>00102 <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="l00103"></a>00103 }
|
||||
<a name="l00104"></a>00104 <span class="preprocessor">#endif</span>
|
||||
<a name="l00105"></a>00105 <span class="preprocessor"></span>
|
||||
<a name="l00106"></a>00106 StkFloat *samples = &frames[channel];
|
||||
<a name="l00107"></a>00107 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> j, hop = frames.channels() - nChannels;
|
||||
<a name="l00108"></a>00108 <span class="keywordflow">if</span> ( nChannels == 1 ) {
|
||||
<a name="l00109"></a>00109 <span class="keywordflow">for</span> ( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i<frames.frames(); i++, samples += hop )
|
||||
<a name="l00110"></a>00110 *samples++ = <a class="code" href="classstk_1_1TubeBell.html#afa7422b2a7361f2ebe60ebff887ef36f" title="Compute and return one output sample.">tick</a>();
|
||||
<a name="l00111"></a>00111 }
|
||||
<a name="l00112"></a>00112 <span class="keywordflow">else</span> {
|
||||
<a name="l00113"></a>00113 <span class="keywordflow">for</span> ( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i=0; i<frames.frames(); i++, samples += hop ) {
|
||||
<a name="l00114"></a>00114 *samples++ = <a class="code" href="classstk_1_1TubeBell.html#afa7422b2a7361f2ebe60ebff887ef36f" title="Compute and return one output sample.">tick</a>();
|
||||
<a name="l00115"></a>00115 <span class="keywordflow">for</span> ( j=1; j<nChannels; j++ )
|
||||
<a name="l00116"></a>00116 *samples++ = lastFrame_[j];
|
||||
<a name="l00117"></a>00117 }
|
||||
<a name="l00118"></a>00118 }
|
||||
<a name="l00119"></a>00119
|
||||
<a name="l00120"></a>00120 <span class="keywordflow">return</span> frames;
|
||||
<a name="l00121"></a>00121 }
|
||||
</pre></div></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
@@ -91,7 +153,7 @@ StkFloat </td><td class="memItemRight" valign="bottom"><a class="el" href="
|
||||
|
||||
<table>
|
||||
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
||||
<tr><td>©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||
<tr><td>©1995-2011 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||
</table>
|
||||
|
||||
</BODY>
|
||||
|
||||
Reference in New Issue
Block a user