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,71 +8,69 @@
<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>ADSR.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00016 <span class="comment">/***************************************************/</span>
00017
00018 <span class="preprocessor">#ifndef STK_ADSR_H</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_ADSR_H</span>
00020 <span class="preprocessor"></span>
00021 <span class="preprocessor">#include "Envelope.h"</span>
00022
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>ADSR.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00016"></a>00016 <span class="comment">/***************************************************/</span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef STK_ADSR_H</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_ADSR_H</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "Envelope.h"</span>
<a name="l00022"></a>00022
<a name="l00023"></a><a class="code" href="classADSR.html">00023</a> <span class="keyword">class </span><a class="code" href="classADSR.html">ADSR</a> : <span class="keyword">public</span> <a class="code" href="classEnvelope.html">Envelope</a>
00024 {
00025 <span class="keyword">public</span>:
00026
00028 <span class="keyword">enum</span> { ATTACK, DECAY, SUSTAIN, RELEASE, DONE };
00029
00031 <a class="code" href="classADSR.html#a0">ADSR</a>(<span class="keywordtype">void</span>);
00032
00034 <a class="code" href="classADSR.html#a1">~ADSR</a>(<span class="keywordtype">void</span>);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a2">keyOn</a>(<span class="keywordtype">void</span>);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a4">setAttackRate</a>(StkFloat rate);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a5">setDecayRate</a>(StkFloat rate);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a6">setSustainLevel</a>(StkFloat level);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a7">setReleaseRate</a>(StkFloat rate);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a8">setAttackTime</a>(StkFloat time);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a9">setDecayTime</a>(StkFloat time);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a10">setReleaseTime</a>(StkFloat time);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a11">setAllTimes</a>(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a12">setTarget</a>(StkFloat target);
00068
00070 <span class="keywordtype">int</span> <a class="code" href="classADSR.html#a13">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00071
00073 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a14">setValue</a>(StkFloat value);
00074
00076 StkFloat <a class="code" href="classADSR.html#a15">tick</a>(<span class="keywordtype">void</span>);
00077
00079 StkFloat *<a class="code" href="classADSR.html#a15">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00080
00082
00088 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classADSR.html#a15">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00089
00090 <span class="keyword">protected</span>:
00091 StkFloat attackRate_;
00092 StkFloat decayRate_;
00093 StkFloat sustainLevel_;
00094 StkFloat releaseRate_;
00095 };
00096
00097 <span class="preprocessor">#endif</span>
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="keyword">public</span>:
<a name="l00026"></a>00026
<a name="l00028"></a>00028 <span class="keyword">enum</span> { ATTACK, DECAY, SUSTAIN, RELEASE, DONE };
<a name="l00029"></a>00029
<a name="l00031"></a>00031 <a class="code" href="classADSR.html#a0">ADSR</a>(<span class="keywordtype">void</span>);
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <a class="code" href="classADSR.html#a1">~ADSR</a>(<span class="keywordtype">void</span>);
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a2">keyOn</a>(<span class="keywordtype">void</span>);
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a4">setAttackRate</a>(StkFloat rate);
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a5">setDecayRate</a>(StkFloat rate);
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a6">setSustainLevel</a>(StkFloat level);
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a7">setReleaseRate</a>(StkFloat rate);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a8">setAttackTime</a>(StkFloat time);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a9">setDecayTime</a>(StkFloat time);
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a10">setReleaseTime</a>(StkFloat time);
<a name="l00062"></a>00062
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a11">setAllTimes</a>(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime);
<a name="l00065"></a>00065
<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a12">setTarget</a>(StkFloat target);
<a name="l00068"></a>00068
<a name="l00070"></a>00070 <span class="keywordtype">int</span> <a class="code" href="classADSR.html#a13">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00071"></a>00071
<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a14">setValue</a>(StkFloat value);
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="keyword">protected</span>:
<a name="l00076"></a>00076
<a name="l00077"></a>00077 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00078"></a>00078
<a name="l00079"></a>00079 StkFloat attackRate_;
<a name="l00080"></a>00080 StkFloat decayRate_;
<a name="l00081"></a>00081 StkFloat sustainLevel_;
<a name="l00082"></a>00082 StkFloat releaseRate_;
<a name="l00083"></a>00083 };
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,54 +8,52 @@
<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>Asymp.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00024 <span class="comment">/***************************************************/</span>
00025
00026 <span class="preprocessor">#ifndef STK_ASYMP_H</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_ASYMP_H</span>
00028 <span class="preprocessor"></span>
00029 <span class="preprocessor">#include "Envelope.h"</span>
00030
00031 <span class="keyword">const</span> StkFloat TARGET_THRESHOLD = 0.000001;
00032
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Asymp.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00024"></a>00024 <span class="comment">/***************************************************/</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="preprocessor">#ifndef STK_ASYMP_H</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_ASYMP_H</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "Envelope.h"</span>
<a name="l00030"></a>00030
<a name="l00031"></a>00031 <span class="keyword">const</span> StkFloat TARGET_THRESHOLD = 0.000001;
<a name="l00032"></a>00032
<a name="l00033"></a><a class="code" href="classAsymp.html">00033</a> <span class="keyword">class </span><a class="code" href="classAsymp.html">Asymp</a> : <span class="keyword">public</span> <a class="code" href="classEnvelope.html">Envelope</a>
00034 {
00035 <span class="keyword">public</span>:
00036
00038 <a class="code" href="classAsymp.html#a0">Asymp</a>(<span class="keywordtype">void</span>);
00039
00041 <a class="code" href="classAsymp.html#a1">~Asymp</a>(<span class="keywordtype">void</span>);
00042
00044 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a2">keyOn</a>(<span class="keywordtype">void</span>);
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
00048
00050
00056 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a4">setTau</a>(StkFloat tau);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a5">setTime</a>(StkFloat time);
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a6">setTarget</a>(StkFloat target);
00063
00065 StkFloat <a class="code" href="classAsymp.html#a7">tick</a>(<span class="keywordtype">void</span>);
00066
00068 StkFloat *<a class="code" href="classAsymp.html#a7">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00069
00071
00077 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classAsymp.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00078
00079 <span class="keyword">protected</span>:
00080 StkFloat factor_;
00081 StkFloat constant_;
00082 };
00083
00084 <span class="preprocessor">#endif</span>
<a name="l00034"></a>00034 {
<a name="l00035"></a>00035 <span class="keyword">public</span>:
<a name="l00036"></a>00036
<a name="l00038"></a>00038 <a class="code" href="classAsymp.html#a0">Asymp</a>(<span class="keywordtype">void</span>);
<a name="l00039"></a>00039
<a name="l00041"></a>00041 <a class="code" href="classAsymp.html#a1">~Asymp</a>(<span class="keywordtype">void</span>);
<a name="l00042"></a>00042
<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a2">keyOn</a>(<span class="keywordtype">void</span>);
<a name="l00045"></a>00045
<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
<a name="l00048"></a>00048
<a name="l00050"></a>00050
<a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a4">setTau</a>(StkFloat tau);
<a name="l00057"></a>00057
<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a5">setTime</a>(StkFloat time);
<a name="l00060"></a>00060
<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a6">setTarget</a>(StkFloat target);
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keyword">protected</span>:
<a name="l00065"></a>00065
<a name="l00066"></a>00066 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00067"></a>00067
<a name="l00068"></a>00068 StkFloat factor_;
<a name="l00069"></a>00069 StkFloat constant_;
<a name="l00070"></a>00070 };
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,88 +8,85 @@
<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>BandedWG.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00030 <span class="comment">/***************************************************/</span>
00031
00032 <span class="preprocessor">#ifndef STK_BANDEDWG_H</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define STK_BANDEDWG_H</span>
00034 <span class="preprocessor"></span>
00035 <span class="keyword">const</span> <span class="keywordtype">int</span> MAX_BANDED_MODES = 20;
00036
00037 <span class="preprocessor">#include "Instrmnt.h"</span>
00038 <span class="preprocessor">#include "DelayL.h"</span>
00039 <span class="preprocessor">#include "BowTable.h"</span>
00040 <span class="preprocessor">#include "ADSR.h"</span>
00041 <span class="preprocessor">#include "BiQuad.h"</span>
00042
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>BandedWG.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00030"></a>00030 <span class="comment">/***************************************************/</span>
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="preprocessor">#ifndef STK_BANDEDWG_H</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#define STK_BANDEDWG_H</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span>
<a name="l00035"></a>00035 <span class="keyword">const</span> <span class="keywordtype">int</span> MAX_BANDED_MODES = 20;
<a name="l00036"></a>00036
<a name="l00037"></a>00037 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00038"></a>00038 <span class="preprocessor">#include "DelayL.h"</span>
<a name="l00039"></a>00039 <span class="preprocessor">#include "BowTable.h"</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include "BiQuad.h"</span>
<a name="l00042"></a>00042
<a name="l00043"></a><a class="code" href="classBandedWG.html">00043</a> <span class="keyword">class </span><a class="code" href="classBandedWG.html">BandedWG</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00044 {
00045 <span class="keyword">public</span>:
00047 <a class="code" href="classBandedWG.html#a0">BandedWG</a>();
00048
00050 <a class="code" href="classBandedWG.html#a1">~BandedWG</a>();
00051
00053 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a2">clear</a>();
00054
00056 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a3">setStrikePosition</a>(StkFloat position);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset);
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a5">setFrequency</a>(StkFloat frequency);
00063
00065 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a6">startBowing</a>(StkFloat amplitude, StkFloat rate);
00066
00068 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a7">stopBowing</a>(StkFloat rate);
00069
00071 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a8">pluck</a>(StkFloat amp);
00072
00074 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a9">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00075
00077 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a10">noteOff</a>(StkFloat amplitude);
00078
00080 StkFloat <a class="code" href="classBandedWG.html#a11">tick</a>();
00081
00083 StkFloat *<a class="code" href="classBandedWG.html#a11">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00084
00086
00092 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBandedWG.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00093
00095 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a14">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00096
00097 <span class="keyword">protected</span>:
00098
00099 <span class="keywordtype">bool</span> doPluck_;
00100 <span class="keywordtype">bool</span> trackVelocity_;
00101 <span class="keywordtype">int</span> nModes_;
00102 <span class="keywordtype">int</span> presetModes_;
00103 <a class="code" href="classBowTable.html">BowTable</a> bowTable_;
00104 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00105 <a class="code" href="classBiQuad.html">BiQuad</a> bandpass_[MAX_BANDED_MODES];
00106 <a class="code" href="classDelayL.html">DelayL</a> delay_[MAX_BANDED_MODES];
00107 StkFloat maxVelocity_;
00108 StkFloat modes_[MAX_BANDED_MODES];
00109 StkFloat frequency_;
00110 StkFloat baseGain_;
00111 StkFloat gains_[MAX_BANDED_MODES];
00112 StkFloat basegains_[MAX_BANDED_MODES];
00113 StkFloat excitation_[MAX_BANDED_MODES];
00114 StkFloat integrationConstant_;
00115 StkFloat velocityInput_;
00116 StkFloat bowVelocity_;
00117 StkFloat bowTarget_;
00118 StkFloat bowPosition_;
00119 StkFloat strikeAmp_;
00120 <span class="keywordtype">int</span> strikePosition_;
00121
00122 };
00123
00124 <span class="preprocessor">#endif</span>
<a name="l00044"></a>00044 {
<a name="l00045"></a>00045 <span class="keyword">public</span>:
<a name="l00047"></a>00047 <a class="code" href="classBandedWG.html#a0">BandedWG</a>();
<a name="l00048"></a>00048
<a name="l00050"></a>00050 <a class="code" href="classBandedWG.html#a1">~BandedWG</a>();
<a name="l00051"></a>00051
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a2">clear</a>();
<a name="l00054"></a>00054
<a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a3">setStrikePosition</a>(StkFloat position);
<a name="l00057"></a>00057
<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset);
<a name="l00060"></a>00060
<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a5">setFrequency</a>(StkFloat frequency);
<a name="l00063"></a>00063
<a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a6">startBowing</a>(StkFloat amplitude, StkFloat rate);
<a name="l00066"></a>00066
<a name="l00068"></a>00068 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a7">stopBowing</a>(StkFloat rate);
<a name="l00069"></a>00069
<a name="l00071"></a>00071 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a8">pluck</a>(StkFloat amp);
<a name="l00072"></a>00072
<a name="l00074"></a>00074 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a9">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00075"></a>00075
<a name="l00077"></a>00077 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a10">noteOff</a>(StkFloat amplitude);
<a name="l00078"></a>00078
<a name="l00080"></a>00080 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <span class="keyword">protected</span>:
<a name="l00083"></a>00083
<a name="l00084"></a>00084 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="keywordtype">bool</span> doPluck_;
<a name="l00087"></a>00087 <span class="keywordtype">bool</span> trackVelocity_;
<a name="l00088"></a>00088 <span class="keywordtype">int</span> nModes_;
<a name="l00089"></a>00089 <span class="keywordtype">int</span> presetModes_;
<a name="l00090"></a>00090 <a class="code" href="classBowTable.html">BowTable</a> bowTable_;
<a name="l00091"></a>00091 <a class="code" href="classADSR.html">ADSR</a> adsr_;
<a name="l00092"></a>00092 <a class="code" href="classBiQuad.html">BiQuad</a> bandpass_[MAX_BANDED_MODES];
<a name="l00093"></a>00093 <a class="code" href="classDelayL.html">DelayL</a> delay_[MAX_BANDED_MODES];
<a name="l00094"></a>00094 StkFloat maxVelocity_;
<a name="l00095"></a>00095 StkFloat modes_[MAX_BANDED_MODES];
<a name="l00096"></a>00096 StkFloat frequency_;
<a name="l00097"></a>00097 StkFloat baseGain_;
<a name="l00098"></a>00098 StkFloat gains_[MAX_BANDED_MODES];
<a name="l00099"></a>00099 StkFloat basegains_[MAX_BANDED_MODES];
<a name="l00100"></a>00100 StkFloat excitation_[MAX_BANDED_MODES];
<a name="l00101"></a>00101 StkFloat integrationConstant_;
<a name="l00102"></a>00102 StkFloat velocityInput_;
<a name="l00103"></a>00103 StkFloat bowVelocity_;
<a name="l00104"></a>00104 StkFloat bowTarget_;
<a name="l00105"></a>00105 StkFloat bowPosition_;
<a name="l00106"></a>00106 StkFloat strikeAmp_;
<a name="l00107"></a>00107 <span class="keywordtype">int</span> strikePosition_;
<a name="l00108"></a>00108
<a name="l00109"></a>00109 };
<a name="l00110"></a>00110
<a name="l00111"></a>00111 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,39 +8,38 @@
<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>BeeThree.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00033 <span class="comment">/***************************************************/</span>
00034
00035 <span class="preprocessor">#ifndef STK_BEETHREE_H</span>
00036 <span class="preprocessor"></span><span class="preprocessor">#define STK_BEETHREE_H</span>
00037 <span class="preprocessor"></span>
00038 <span class="preprocessor">#include "FM.h"</span>
00039
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>BeeThree.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00033"></a>00033 <span class="comment">/***************************************************/</span>
<a name="l00034"></a>00034
<a name="l00035"></a>00035 <span class="preprocessor">#ifndef STK_BEETHREE_H</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#define STK_BEETHREE_H</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a>00038 <span class="preprocessor">#include "FM.h"</span>
<a name="l00039"></a>00039
<a name="l00040"></a><a class="code" href="classBeeThree.html">00040</a> <span class="keyword">class </span><a class="code" href="classBeeThree.html">BeeThree</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00041 {
00042 <span class="keyword">public</span>:
00044
00047 <a class="code" href="classBeeThree.html#a0">BeeThree</a>();
00048
00050 <a class="code" href="classBeeThree.html#a1">~BeeThree</a>();
00051
00053 <span class="keywordtype">void</span> <a class="code" href="classBeeThree.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00054
00056 StkFloat <a class="code" href="classBeeThree.html#a3">tick</a>();
00057
00059 StkFloat *<a class="code" href="classBeeThree.html#a3">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00060
00062
00068 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBeeThree.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00069 };
00070
00071 <span class="preprocessor">#endif</span>
<a name="l00041"></a>00041 {
<a name="l00042"></a>00042 <span class="keyword">public</span>:
<a name="l00044"></a>00044
<a name="l00047"></a>00047 <a class="code" href="classBeeThree.html#a0">BeeThree</a>();
<a name="l00048"></a>00048
<a name="l00050"></a>00050 <a class="code" href="classBeeThree.html#a1">~BeeThree</a>();
<a name="l00051"></a>00051
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classBeeThree.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="keyword">protected</span>:
<a name="l00056"></a>00056
<a name="l00057"></a>00057 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00058"></a>00058 };
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,65 +8,71 @@
<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>BiQuad.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_BIQUAD_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_BIQUAD_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
00019
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>BiQuad.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_BIQUAD_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_BIQUAD_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "Filter.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classBiQuad.html">00020</a> <span class="keyword">class </span><a class="code" href="classBiQuad.html">BiQuad</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00021 {
00022 <span class="keyword">public</span>:
00023
00025 <a class="code" href="classBiQuad.html#a0">BiQuad</a>();
00026
00028 <span class="keyword">virtual</span> <a class="code" href="classBiQuad.html#a1">~BiQuad</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a2">clear</a>(<span class="keywordtype">void</span>);
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a3">setB0</a>(StkFloat b0);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a4">setB1</a>(StkFloat b1);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a5">setB2</a>(StkFloat b2);
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a6">setA1</a>(StkFloat a1);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a7">setA2</a>(StkFloat a2);
00047
00049
00060 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a8">setResonance</a>(StkFloat frequency, StkFloat radius, <span class="keywordtype">bool</span> normalize = <span class="keyword">false</span>);
00061
00063
00069 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a9">setNotch</a>(StkFloat frequency, StkFloat radius);
00070
00072
00078 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a10">setEqualGainZeroes</a>();
00079
00081
00085 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a11">setGain</a>(StkFloat gain);
00086
00088 StkFloat <a class="code" href="classBiQuad.html#a12">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00089
00091 StkFloat <a class="code" href="classBiQuad.html#a13">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00092
00094 <span class="keyword">virtual</span> StkFloat <a class="code" href="classBiQuad.html#a14">tick</a>(StkFloat sample);
00095
00097 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classBiQuad.html#a14">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00098
00100
00106 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBiQuad.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00107 };
00108
00109 <span class="preprocessor">#endif</span>
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="keyword">public</span>:
<a name="l00023"></a>00023
<a name="l00025"></a>00025 <a class="code" href="classBiQuad.html#a0">BiQuad</a>();
<a name="l00026"></a>00026
<a name="l00028"></a>00028 <span class="keyword">virtual</span> <a class="code" href="classBiQuad.html#a1">~BiQuad</a>();
<a name="l00029"></a>00029
<a name="l00031"></a>00031 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a2">clear</a>(<span class="keywordtype">void</span>);
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a3">setB0</a>(StkFloat b0);
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a4">setB1</a>(StkFloat b1);
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a5">setB2</a>(StkFloat b2);
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a6">setA1</a>(StkFloat a1);
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a7">setA2</a>(StkFloat a2);
<a name="l00047"></a>00047
<a name="l00049"></a>00049
<a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a8">setResonance</a>(StkFloat frequency, StkFloat radius, <span class="keywordtype">bool</span> normalize = <span class="keyword">false</span>);
<a name="l00061"></a>00061
<a name="l00063"></a>00063
<a name="l00069"></a>00069 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a9">setNotch</a>(StkFloat frequency, StkFloat radius);
<a name="l00070"></a>00070
<a name="l00072"></a>00072
<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a10">setEqualGainZeroes</a>();
<a name="l00079"></a>00079
<a name="l00081"></a>00081
<a name="l00085"></a>00085 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a11">setGain</a>(StkFloat gain);
<a name="l00086"></a>00086
<a name="l00088"></a>00088 StkFloat <a class="code" href="classBiQuad.html#a12">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00089"></a>00089
<a name="l00091"></a>00091 StkFloat <a class="code" href="classBiQuad.html#a13">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00092"></a>00092
<a name="l00094"></a>00094 <span class="keyword">virtual</span> StkFloat <a class="code" href="classBiQuad.html#a14">tick</a>(StkFloat sample);
<a name="l00095"></a>00095
<a name="l00097"></a>00097
<a name="l00103"></a>00103 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBiQuad.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00104"></a>00104
<a name="l00105"></a>00105 <span class="keyword">protected</span>:
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="comment">// This function must be implemented in all subclasses. It is used</span>
<a name="l00108"></a>00108 <span class="comment">// to get around a C++ problem with overloaded virtual functions.</span>
<a name="l00109"></a>00109 <span class="keyword">virtual</span> StkFloat computeSample( StkFloat input );
<a name="l00110"></a>00110 };
<a name="l00111"></a>00111
<a name="l00112"></a>00112 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -0,0 +1,61 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>BlitSaw.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00020"></a>00020 <span class="comment">/***************************************************/</span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="preprocessor">#ifndef STK_BLITSAW_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLITSAW_H</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "Generator.h"</span>
<a name="l00026"></a>00026
<a name="l00027"></a><a class="code" href="classBlitSaw.html">00027</a> <span class="keyword">class </span><a class="code" href="classBlitSaw.html">BlitSaw</a>: <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">public</span>:
<a name="l00031"></a>00031 <a class="code" href="classBlitSaw.html#a0">BlitSaw</a>( StkFloat frequency = 220.0 );
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <a class="code" href="classBlitSaw.html#a1">~BlitSaw</a>();
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classBlitSaw.html#a2">reset</a>();
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classBlitSaw.html#a3">setFrequency</a>( StkFloat frequency );
<a name="l00041"></a>00041
<a name="l00043"></a>00043
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classBlitSaw.html#a4">setHarmonics</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nHarmonics = 0 );
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keyword">protected</span>:
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="keywordtype">void</span> updateHarmonics( <span class="keywordtype">void</span> );
<a name="l00060"></a>00060 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nHarmonics_;
<a name="l00063"></a>00063 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> m_;
<a name="l00064"></a>00064 StkFloat rate_;
<a name="l00065"></a>00065 StkFloat phase_;
<a name="l00066"></a>00066 StkFloat p_;
<a name="l00067"></a>00067 StkFloat C2_;
<a name="l00068"></a>00068 StkFloat a_;
<a name="l00069"></a>00069 StkFloat state_;
<a name="l00070"></a>00070
<a name="l00071"></a>00071 };
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,64 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>BlitSquare.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00027"></a>00027 <span class="comment">/***************************************************/</span>
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#ifndef STK_BLITSQUARE_H</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLITSQUARE_H</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "Generator.h"</span>
<a name="l00033"></a>00033
<a name="l00034"></a><a class="code" href="classBlitSquare.html">00034</a> <span class="keyword">class </span><a class="code" href="classBlitSquare.html">BlitSquare</a>: <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
<a name="l00035"></a>00035 {
<a name="l00036"></a>00036 <span class="keyword">public</span>:
<a name="l00038"></a>00038 <a class="code" href="classBlitSquare.html#a0">BlitSquare</a>( StkFloat frequency = 220.0 );
<a name="l00039"></a>00039
<a name="l00041"></a>00041 <a class="code" href="classBlitSquare.html#a1">~BlitSquare</a>();
<a name="l00042"></a>00042
<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="classBlitSquare.html#a2">reset</a>();
<a name="l00045"></a>00045
<a name="l00047"></a>00047
<a name="l00050"></a><a class="code" href="classBlitSquare.html#a3">00050</a> <span class="keywordtype">void</span> <a class="code" href="classBlitSquare.html#a3">setPhase</a>( StkFloat phase ) { phase_ = PI * phase; };
<a name="l00051"></a>00051
<a name="l00053"></a>00053
<a name="l00056"></a><a class="code" href="classBlitSquare.html#a4">00056</a> StkFloat <a class="code" href="classBlitSquare.html#a4">getPhase</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> phase_ / PI; };
<a name="l00057"></a>00057
<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classBlitSquare.html#a5">setFrequency</a>( StkFloat frequency );
<a name="l00060"></a>00060
<a name="l00062"></a>00062
<a name="l00074"></a>00074 <span class="keywordtype">void</span> <a class="code" href="classBlitSquare.html#a6">setHarmonics</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nHarmonics = 0 );
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="keyword">protected</span>:
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="keywordtype">void</span> updateHarmonics( <span class="keywordtype">void</span> );
<a name="l00079"></a>00079 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00080"></a>00080
<a name="l00081"></a>00081 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nHarmonics_;
<a name="l00082"></a>00082 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> m_;
<a name="l00083"></a>00083 StkFloat rate_;
<a name="l00084"></a>00084 StkFloat phase_;
<a name="l00085"></a>00085 StkFloat p_;
<a name="l00086"></a>00086 StkFloat offset_;
<a name="l00087"></a>00087 };
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,64 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Blit.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00022"></a>00022 <span class="comment">/***************************************************/</span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="preprocessor">#ifndef STK_BLIT_H</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLIT_H</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "Generator.h"</span>
<a name="l00028"></a>00028
<a name="l00029"></a><a class="code" href="classBlit.html">00029</a> <span class="keyword">class </span><a class="code" href="classBlit.html">Blit</a>: <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 <span class="keyword">public</span>:
<a name="l00033"></a>00033 <a class="code" href="classBlit.html#a0">Blit</a>( StkFloat frequency = 220.0 );
<a name="l00034"></a>00034
<a name="l00036"></a>00036 <a class="code" href="classBlit.html#a1">~Blit</a>();
<a name="l00037"></a>00037
<a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="classBlit.html#a2">reset</a>();
<a name="l00040"></a>00040
<a name="l00042"></a>00042
<a name="l00045"></a><a class="code" href="classBlit.html#a3">00045</a> <span class="keywordtype">void</span> <a class="code" href="classBlit.html#a3">setPhase</a>( StkFloat phase ) { phase_ = PI * phase; };
<a name="l00046"></a>00046
<a name="l00048"></a>00048
<a name="l00051"></a><a class="code" href="classBlit.html#a4">00051</a> StkFloat <a class="code" href="classBlit.html#a4">getPhase</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> phase_ / PI; };
<a name="l00052"></a>00052
<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classBlit.html#a5">setFrequency</a>( StkFloat frequency );
<a name="l00055"></a>00055
<a name="l00057"></a>00057
<a name="l00069"></a>00069 <span class="keywordtype">void</span> <a class="code" href="classBlit.html#a6">setHarmonics</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nHarmonics = 0 );
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="keyword">protected</span>:
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="keywordtype">void</span> updateHarmonics( <span class="keywordtype">void</span> );
<a name="l00074"></a>00074 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nHarmonics_;
<a name="l00077"></a>00077 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> m_;
<a name="l00078"></a>00078 StkFloat rate_;
<a name="l00079"></a>00079 StkFloat phase_;
<a name="l00080"></a>00080 StkFloat p_;
<a name="l00081"></a>00081
<a name="l00082"></a>00082 };
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -8,70 +8,68 @@
<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>BlowBotl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00017 <span class="comment">/***************************************************/</span>
00018
00019 <span class="preprocessor">#ifndef STK_BLOWBOTL_H</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLOWBOTL_H</span>
00021 <span class="preprocessor"></span>
00022 <span class="preprocessor">#include "Instrmnt.h"</span>
00023 <span class="preprocessor">#include "JetTable.h"</span>
00024 <span class="preprocessor">#include "BiQuad.h"</span>
00025 <span class="preprocessor">#include "PoleZero.h"</span>
00026 <span class="preprocessor">#include "Noise.h"</span>
00027 <span class="preprocessor">#include "ADSR.h"</span>
00028 <span class="preprocessor">#include "WaveLoop.h"</span>
00029
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>BlowBotl.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00017"></a>00017 <span class="comment">/***************************************************/</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#ifndef STK_BLOWBOTL_H</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLOWBOTL_H</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "JetTable.h"</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "BiQuad.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "PoleZero.h"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00029"></a>00029
<a name="l00030"></a><a class="code" href="classBlowBotl.html">00030</a> <span class="keyword">class </span><a class="code" href="classBlowBotl.html">BlowBotl</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00031 {
00032 <span class="keyword">public</span>:
00034
00037 <a class="code" href="classBlowBotl.html#a0">BlowBotl</a>();
00038
00040 <a class="code" href="classBlowBotl.html#a1">~BlowBotl</a>();
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a2">clear</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a3">setFrequency</a>(StkFloat frequency);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a5">stopBlowing</a>(StkFloat rate);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a7">noteOff</a>(StkFloat amplitude);
00059
00061 StkFloat <a class="code" href="classBlowBotl.html#a8">tick</a>();
00062
00064 StkFloat *<a class="code" href="classBlowBotl.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00065
00067
00073 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBlowBotl.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00077
00078 <span class="keyword">protected</span>:
00079 <a class="code" href="classJetTable.html">JetTable</a> jetTable_;
00080 <a class="code" href="classBiQuad.html">BiQuad</a> resonator_;
00081 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
00082 <a class="code" href="classNoise.html">Noise</a> noise_;
00083 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00084 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00085 StkFloat maxPressure_;
00086 StkFloat noiseGain_;
00087 StkFloat vibratoGain_;
00088 StkFloat outputGain_;
00089
00090 };
00091
00092 <span class="preprocessor">#endif</span>
<a name="l00031"></a>00031 {
<a name="l00032"></a>00032 <span class="keyword">public</span>:
<a name="l00034"></a>00034
<a name="l00037"></a>00037 <a class="code" href="classBlowBotl.html#a0">BlowBotl</a>();
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <a class="code" href="classBlowBotl.html#a1">~BlowBotl</a>();
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a2">clear</a>();
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a5">stopBlowing</a>(StkFloat rate);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a7">noteOff</a>(StkFloat amplitude);
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a8">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">protected</span>:
<a name="l00064"></a>00064
<a name="l00065"></a>00065 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <a class="code" href="classJetTable.html">JetTable</a> jetTable_;
<a name="l00068"></a>00068 <a class="code" href="classBiQuad.html">BiQuad</a> resonator_;
<a name="l00069"></a>00069 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
<a name="l00070"></a>00070 <a class="code" href="classNoise.html">Noise</a> noise_;
<a name="l00071"></a>00071 <a class="code" href="classADSR.html">ADSR</a> adsr_;
<a name="l00072"></a>00072 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
<a name="l00073"></a>00073 StkFloat maxPressure_;
<a name="l00074"></a>00074 StkFloat noiseGain_;
<a name="l00075"></a>00075 StkFloat vibratoGain_;
<a name="l00076"></a>00076 StkFloat outputGain_;
<a name="l00077"></a>00077
<a name="l00078"></a>00078 };
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,80 +8,78 @@
<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>BlowHole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00034 <span class="comment">/***************************************************/</span>
00035
00036 <span class="preprocessor">#ifndef STK_BLOWHOLE_H</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLOWHOLE_H</span>
00038 <span class="preprocessor"></span>
00039 <span class="preprocessor">#include "Instrmnt.h"</span>
00040 <span class="preprocessor">#include "DelayL.h"</span>
00041 <span class="preprocessor">#include "ReedTable.h"</span>
00042 <span class="preprocessor">#include "OneZero.h"</span>
00043 <span class="preprocessor">#include "PoleZero.h"</span>
00044 <span class="preprocessor">#include "Envelope.h"</span>
00045 <span class="preprocessor">#include "Noise.h"</span>
00046 <span class="preprocessor">#include "WaveLoop.h"</span>
00047
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>BlowHole.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00034"></a>00034 <span class="comment">/***************************************************/</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef STK_BLOWHOLE_H</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLOWHOLE_H</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a>00039 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include "DelayL.h"</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include "ReedTable.h"</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include "OneZero.h"</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include "PoleZero.h"</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include "Envelope.h"</span>
<a name="l00045"></a>00045 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00046"></a>00046 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00047"></a>00047
<a name="l00048"></a><a class="code" href="classBlowHole.html">00048</a> <span class="keyword">class </span><a class="code" href="classBlowHole.html">BlowHole</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00049 {
00050 <span class="keyword">public</span>:
00052
00055 <a class="code" href="classBlowHole.html#a0">BlowHole</a>(StkFloat lowestFrequency);
00056
00058 <a class="code" href="classBlowHole.html#a1">~BlowHole</a>();
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a2">clear</a>();
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a3">setFrequency</a>(StkFloat frequency);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a4">setTonehole</a>(StkFloat newValue);
00068
00070 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a5">setVent</a>(StkFloat newValue);
00071
00073 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a6">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a7">stopBlowing</a>(StkFloat rate);
00077
00079 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00080
00082 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a9">noteOff</a>(StkFloat amplitude);
00083
00085 StkFloat <a class="code" href="classBlowHole.html#a10">tick</a>();
00086
00088 StkFloat *<a class="code" href="classBlowHole.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00089
00091
00097 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBlowHole.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00098
00100 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00101
00102 <span class="keyword">protected</span>:
00103 <a class="code" href="classDelayL.html">DelayL</a> delays_[3];
00104 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
00105 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00106 <a class="code" href="classPoleZero.html">PoleZero</a> tonehole_;
00107 <a class="code" href="classPoleZero.html">PoleZero</a> vent_;
00108 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00109 <a class="code" href="classNoise.html">Noise</a> noise_;
00110 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00111 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00112 StkFloat scatter_;
00113 StkFloat thCoeff_;
00114 StkFloat rhGain_;
00115 StkFloat outputGain_;
00116 StkFloat noiseGain_;
00117 StkFloat vibratoGain_;
00118
00119 };
00120
00121 <span class="preprocessor">#endif</span>
<a name="l00049"></a>00049 {
<a name="l00050"></a>00050 <span class="keyword">public</span>:
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <a class="code" href="classBlowHole.html#a0">BlowHole</a>(StkFloat lowestFrequency);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <a class="code" href="classBlowHole.html#a1">~BlowHole</a>();
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a2">clear</a>();
<a name="l00062"></a>00062
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00065"></a>00065
<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a4">setTonehole</a>(StkFloat newValue);
<a name="l00068"></a>00068
<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a5">setVent</a>(StkFloat newValue);
<a name="l00071"></a>00071
<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a6">startBlowing</a>(StkFloat amplitude, StkFloat rate);
<a name="l00074"></a>00074
<a name="l00076"></a>00076 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a7">stopBlowing</a>(StkFloat rate);
<a name="l00077"></a>00077
<a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00080"></a>00080
<a name="l00082"></a>00082 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a9">noteOff</a>(StkFloat amplitude);
<a name="l00083"></a>00083
<a name="l00085"></a>00085 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="keyword">protected</span>:
<a name="l00088"></a>00088
<a name="l00089"></a>00089 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <a class="code" href="classDelayL.html">DelayL</a> delays_[3];
<a name="l00092"></a>00092 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
<a name="l00093"></a>00093 <a class="code" href="classOneZero.html">OneZero</a> filter_;
<a name="l00094"></a>00094 <a class="code" href="classPoleZero.html">PoleZero</a> tonehole_;
<a name="l00095"></a>00095 <a class="code" href="classPoleZero.html">PoleZero</a> vent_;
<a name="l00096"></a>00096 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
<a name="l00097"></a>00097 <a class="code" href="classNoise.html">Noise</a> noise_;
<a name="l00098"></a>00098 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
<a name="l00099"></a>00099 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
<a name="l00100"></a>00100 StkFloat scatter_;
<a name="l00101"></a>00101 StkFloat thCoeff_;
<a name="l00102"></a>00102 StkFloat rhGain_;
<a name="l00103"></a>00103 StkFloat outputGain_;
<a name="l00104"></a>00104 StkFloat noiseGain_;
<a name="l00105"></a>00105 StkFloat vibratoGain_;
<a name="l00106"></a>00106
<a name="l00107"></a>00107 };
<a name="l00108"></a>00108
<a name="l00109"></a>00109 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,48 +8,45 @@
<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>BowTable.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_BOWTABL_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_BOWTABL_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Function.h"</span>
00016
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>BowTable.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
<a name="l00011"></a>00011
<a name="l00012"></a>00012 <span class="preprocessor">#ifndef STK_BOWTABL_H</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_BOWTABL_H</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "Function.h"</span>
<a name="l00016"></a>00016
<a name="l00017"></a><a class="code" href="classBowTable.html">00017</a> <span class="keyword">class </span><a class="code" href="classBowTable.html">BowTable</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a>
00018 {
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classBowTable.html#a0">BowTable</a>();
00022
00024 <a class="code" href="classBowTable.html#a1">~BowTable</a>();
00025
00027
00033 <span class="keywordtype">void</span> <a class="code" href="classBowTable.html#a2">setOffset</a>(StkFloat offset);
00034
00036
00040 <span class="keywordtype">void</span> <a class="code" href="classBowTable.html#a3">setSlope</a>(StkFloat slope);
00041
00043
00047 StkFloat <a class="code" href="classBowTable.html#a4">tick</a>( StkFloat input);
00048
00050 StkFloat *<a class="code" href="classBowTable.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00051
00053
00059 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBowTable.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00060
00061 <span class="keyword">protected</span>:
00062 StkFloat offset_;
00063 StkFloat slope_;
00064
00065 };
00066
00067 <span class="preprocessor">#endif</span>
<a name="l00018"></a>00018 {
<a name="l00019"></a>00019 <span class="keyword">public</span>:
<a name="l00021"></a>00021 <a class="code" href="classBowTable.html#a0">BowTable</a>();
<a name="l00022"></a>00022
<a name="l00024"></a>00024 <a class="code" href="classBowTable.html#a1">~BowTable</a>();
<a name="l00025"></a>00025
<a name="l00027"></a>00027
<a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="classBowTable.html#a2">setOffset</a>(StkFloat offset);
<a name="l00034"></a>00034
<a name="l00036"></a>00036
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classBowTable.html#a3">setSlope</a>(StkFloat slope);
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="keyword">protected</span>:
<a name="l00043"></a>00043
<a name="l00044"></a>00044 StkFloat computeSample( StkFloat input );
<a name="l00045"></a>00045
<a name="l00046"></a>00046 StkFloat offset_;
<a name="l00047"></a>00047 StkFloat slope_;
<a name="l00048"></a>00048
<a name="l00049"></a>00049 };
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,72 +8,70 @@
<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>Bowed.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00022 <span class="comment">/***************************************************/</span>
00023
00024 <span class="preprocessor">#ifndef STK_BOWED_H</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_BOWED_H</span>
00026 <span class="preprocessor"></span>
00027 <span class="preprocessor">#include "Instrmnt.h"</span>
00028 <span class="preprocessor">#include "DelayL.h"</span>
00029 <span class="preprocessor">#include "BowTable.h"</span>
00030 <span class="preprocessor">#include "OnePole.h"</span>
00031 <span class="preprocessor">#include "BiQuad.h"</span>
00032 <span class="preprocessor">#include "WaveLoop.h"</span>
00033 <span class="preprocessor">#include "ADSR.h"</span>
00034
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Bowed.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00022"></a>00022 <span class="comment">/***************************************************/</span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="preprocessor">#ifndef STK_BOWED_H</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_BOWED_H</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "DelayL.h"</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "BowTable.h"</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "BiQuad.h"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00034"></a>00034
<a name="l00035"></a><a class="code" href="classBowed.html">00035</a> <span class="keyword">class </span><a class="code" href="classBowed.html">Bowed</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00036 {
00037 <span class="keyword">public</span>:
00039 <a class="code" href="classBowed.html#a0">Bowed</a>(StkFloat lowestFrequency);
00040
00042 <a class="code" href="classBowed.html#a1">~Bowed</a>();
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a2">clear</a>();
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a3">setFrequency</a>(StkFloat frequency);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a4">setVibrato</a>(StkFloat gain);
00052
00054 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a5">startBowing</a>(StkFloat amplitude, StkFloat rate);
00055
00057 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a6">stopBowing</a>(StkFloat rate);
00058
00060 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00061
00063 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a8">noteOff</a>(StkFloat amplitude);
00064
00066 StkFloat <a class="code" href="classBowed.html#a9">tick</a>();
00067
00069 StkFloat *<a class="code" href="classBowed.html#a9">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070
00072
00078 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBowed.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00079
00081 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00082
00083 <span class="keyword">protected</span>:
00084 <a class="code" href="classDelayL.html">DelayL</a> neckDelay_;
00085 <a class="code" href="classDelayL.html">DelayL</a> bridgeDelay_;
00086 <a class="code" href="classBowTable.html">BowTable</a> bowTable_;
00087 <a class="code" href="classOnePole.html">OnePole</a> stringFilter_;
00088 <a class="code" href="classBiQuad.html">BiQuad</a> bodyFilter_;
00089 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00090 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00091 StkFloat maxVelocity_;
00092 StkFloat baseDelay_;
00093 StkFloat vibratoGain_;
00094 StkFloat betaRatio_;
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
<a name="l00036"></a>00036 {
<a name="l00037"></a>00037 <span class="keyword">public</span>:
<a name="l00039"></a>00039 <a class="code" href="classBowed.html#a0">Bowed</a>(StkFloat lowestFrequency);
<a name="l00040"></a>00040
<a name="l00042"></a>00042 <a class="code" href="classBowed.html#a1">~Bowed</a>();
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a2">clear</a>();
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a4">setVibrato</a>(StkFloat gain);
<a name="l00052"></a>00052
<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a5">startBowing</a>(StkFloat amplitude, StkFloat rate);
<a name="l00055"></a>00055
<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a6">stopBowing</a>(StkFloat rate);
<a name="l00058"></a>00058
<a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00061"></a>00061
<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a8">noteOff</a>(StkFloat amplitude);
<a name="l00064"></a>00064
<a name="l00066"></a>00066 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="keyword">protected</span>:
<a name="l00069"></a>00069
<a name="l00070"></a>00070 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <a class="code" href="classDelayL.html">DelayL</a> neckDelay_;
<a name="l00073"></a>00073 <a class="code" href="classDelayL.html">DelayL</a> bridgeDelay_;
<a name="l00074"></a>00074 <a class="code" href="classBowTable.html">BowTable</a> bowTable_;
<a name="l00075"></a>00075 <a class="code" href="classOnePole.html">OnePole</a> stringFilter_;
<a name="l00076"></a>00076 <a class="code" href="classBiQuad.html">BiQuad</a> bodyFilter_;
<a name="l00077"></a>00077 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
<a name="l00078"></a>00078 <a class="code" href="classADSR.html">ADSR</a> adsr_;
<a name="l00079"></a>00079 StkFloat maxVelocity_;
<a name="l00080"></a>00080 StkFloat baseDelay_;
<a name="l00081"></a>00081 StkFloat vibratoGain_;
<a name="l00082"></a>00082 StkFloat betaRatio_;
<a name="l00083"></a>00083
<a name="l00084"></a>00084 };
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,71 +8,69 @@
<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>Brass.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00021 <span class="comment">/***************************************************/</span>
00022
00023 <span class="preprocessor">#ifndef STK_BRASS_H</span>
00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_BRASS_H</span>
00025 <span class="preprocessor"></span>
00026 <span class="preprocessor">#include "Instrmnt.h"</span>
00027 <span class="preprocessor">#include "DelayA.h"</span>
00028 <span class="preprocessor">#include "BiQuad.h"</span>
00029 <span class="preprocessor">#include "PoleZero.h"</span>
00030 <span class="preprocessor">#include "ADSR.h"</span>
00031 <span class="preprocessor">#include "WaveLoop.h"</span>
00032
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Brass.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00021"></a>00021 <span class="comment">/***************************************************/</span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="preprocessor">#ifndef STK_BRASS_H</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_BRASS_H</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "DelayA.h"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "BiQuad.h"</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "PoleZero.h"</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00032"></a>00032
<a name="l00033"></a><a class="code" href="classBrass.html">00033</a> <span class="keyword">class </span><a class="code" href="classBrass.html">Brass</a>: <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00034 {
00035 <span class="keyword">public</span>:
00037
00040 <a class="code" href="classBrass.html#a0">Brass</a>(StkFloat lowestFrequency);
00041
00043 <a class="code" href="classBrass.html#a1">~Brass</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a2">clear</a>();
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a3">setFrequency</a>(StkFloat frequency);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a4">setLip</a>(StkFloat frequency);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a5">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a6">stopBlowing</a>(StkFloat rate);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a8">noteOff</a>(StkFloat amplitude);
00065
00067 StkFloat <a class="code" href="classBrass.html#a9">tick</a>();
00068
00070 StkFloat *<a class="code" href="classBrass.html#a9">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00071
00073
00079 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBrass.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00080
00082 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00083
00084 <span class="keyword">protected</span>:
00085 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00086 <a class="code" href="classBiQuad.html">BiQuad</a> lipFilter_;
00087 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
00088 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00089 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00090 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00091 StkFloat lipTarget_;
00092 StkFloat slideTarget_;
00093 StkFloat vibratoGain_;
00094 StkFloat maxPressure_;
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
<a name="l00034"></a>00034 {
<a name="l00035"></a>00035 <span class="keyword">public</span>:
<a name="l00037"></a>00037
<a name="l00040"></a>00040 <a class="code" href="classBrass.html#a0">Brass</a>(StkFloat lowestFrequency);
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <a class="code" href="classBrass.html#a1">~Brass</a>();
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a2">clear</a>();
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a4">setLip</a>(StkFloat frequency);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a5">startBlowing</a>(StkFloat amplitude, StkFloat rate);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a6">stopBlowing</a>(StkFloat rate);
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00062"></a>00062
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a8">noteOff</a>(StkFloat amplitude);
<a name="l00065"></a>00065
<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="keyword">protected</span>:
<a name="l00070"></a>00070
<a name="l00071"></a>00071 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
<a name="l00074"></a>00074 <a class="code" href="classBiQuad.html">BiQuad</a> lipFilter_;
<a name="l00075"></a>00075 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
<a name="l00076"></a>00076 <a class="code" href="classADSR.html">ADSR</a> adsr_;
<a name="l00077"></a>00077 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
<a name="l00078"></a>00078 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
<a name="l00079"></a>00079 StkFloat lipTarget_;
<a name="l00080"></a>00080 StkFloat slideTarget_;
<a name="l00081"></a>00081 StkFloat vibratoGain_;
<a name="l00082"></a>00082 StkFloat maxPressure_;
<a name="l00083"></a>00083
<a name="l00084"></a>00084 };
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,53 +8,51 @@
<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>Chorus.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00009 <span class="comment">/***************************************************/</span>
00010
00011 <span class="preprocessor">#ifndef STK_CHORUS_H</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_CHORUS_H</span>
00013 <span class="preprocessor"></span>
00014 <span class="preprocessor">#include "Effect.h"</span>
00015 <span class="preprocessor">#include "DelayL.h"</span>
00016 <span class="preprocessor">#include "WaveLoop.h"</span>
00017
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Chorus.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00009"></a>00009 <span class="comment">/***************************************************/</span>
<a name="l00010"></a>00010
<a name="l00011"></a>00011 <span class="preprocessor">#ifndef STK_CHORUS_H</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_CHORUS_H</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#include "Effect.h"</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "DelayL.h"</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classChorus.html">00018</a> <span class="keyword">class </span><a class="code" href="classChorus.html">Chorus</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00019 {
00020 <span class="keyword">public</span>:
00022
00025 <a class="code" href="classChorus.html#a0">Chorus</a>( StkFloat baseDelay = 6000 );
00026
00028 <a class="code" href="classChorus.html#a1">~Chorus</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a2">clear</a>();
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a3">setModDepth</a>(StkFloat depth);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a4">setModFrequency</a>(StkFloat frequency);
00038
00040 StkFloat <a class="code" href="classChorus.html#a5">tick</a>(StkFloat input);
00041
00043 StkFloat *<a class="code" href="classChorus.html#a5">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00044
00046
00052 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classChorus.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00053
00054 <span class="keyword">protected</span>:
00055 <a class="code" href="classDelayL.html">DelayL</a> delayLine_[2];
00056 <a class="code" href="classWaveLoop.html">WaveLoop</a> *mods_[2];
00057 StkFloat baseLength_;
00058 StkFloat modDepth_;
00059
00060 };
00061
00062 <span class="preprocessor">#endif</span>
00063 <span class="preprocessor"></span>
<a name="l00019"></a>00019 {
<a name="l00020"></a>00020 <span class="keyword">public</span>:
<a name="l00022"></a>00022
<a name="l00025"></a>00025 <a class="code" href="classChorus.html#a0">Chorus</a>( StkFloat baseDelay = 6000 );
<a name="l00026"></a>00026
<a name="l00028"></a>00028 <a class="code" href="classChorus.html#a1">~Chorus</a>();
<a name="l00029"></a>00029
<a name="l00031"></a>00031 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a2">clear</a>();
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a3">setModDepth</a>(StkFloat depth);
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a4">setModFrequency</a>(StkFloat frequency);
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="keyword">protected</span>:
<a name="l00040"></a>00040
<a name="l00041"></a>00041 StkFloat computeSample( StkFloat input );
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <a class="code" href="classDelayL.html">DelayL</a> delayLine_[2];
<a name="l00044"></a>00044 <a class="code" href="classSineWave.html">SineWave</a> mods_[2];
<a name="l00045"></a>00045 StkFloat baseLength_;
<a name="l00046"></a>00046 StkFloat modDepth_;
<a name="l00047"></a>00047
<a name="l00048"></a>00048 };
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="preprocessor">#endif</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span>
</pre></div><HR>
<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>

View File

@@ -8,70 +8,68 @@
<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>Clarinet.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00023 <span class="comment">/***************************************************/</span>
00024
00025 <span class="preprocessor">#ifndef STK_CLARINET_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_CLARINET_H</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Instrmnt.h"</span>
00029 <span class="preprocessor">#include "DelayL.h"</span>
00030 <span class="preprocessor">#include "ReedTable.h"</span>
00031 <span class="preprocessor">#include "OneZero.h"</span>
00032 <span class="preprocessor">#include "Envelope.h"</span>
00033 <span class="preprocessor">#include "Noise.h"</span>
00034 <span class="preprocessor">#include "WaveLoop.h"</span>
00035
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Clarinet.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00023"></a>00023 <span class="comment">/***************************************************/</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="preprocessor">#ifndef STK_CLARINET_H</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_CLARINET_H</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "DelayL.h"</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include "ReedTable.h"</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "OneZero.h"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "Envelope.h"</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00035"></a>00035
<a name="l00036"></a><a class="code" href="classClarinet.html">00036</a> <span class="keyword">class </span><a class="code" href="classClarinet.html">Clarinet</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00037 {
00038 <span class="keyword">public</span>:
00040
00043 <a class="code" href="classClarinet.html#a0">Clarinet</a>(StkFloat lowestFrequency);
00044
00046 <a class="code" href="classClarinet.html#a1">~Clarinet</a>();
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a2">clear</a>();
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a3">setFrequency</a>(StkFloat frequency);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a5">stopBlowing</a>(StkFloat rate);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a7">noteOff</a>(StkFloat amplitude);
00065
00067 StkFloat <a class="code" href="classClarinet.html#a8">tick</a>();
00068
00070 StkFloat *<a class="code" href="classClarinet.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00071
00073
00079 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classClarinet.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00080
00082 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00083
00084 <span class="keyword">protected</span>:
00085 <a class="code" href="classDelayL.html">DelayL</a> delayLine_;
00086 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
00087 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00088 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00089 <a class="code" href="classNoise.html">Noise</a> noise_;
00090 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00091 <span class="keywordtype">long</span> length_;
00092 StkFloat outputGain_;
00093 StkFloat noiseGain_;
00094 StkFloat vibratoGain_;
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
<a name="l00037"></a>00037 {
<a name="l00038"></a>00038 <span class="keyword">public</span>:
<a name="l00040"></a>00040
<a name="l00043"></a>00043 <a class="code" href="classClarinet.html#a0">Clarinet</a>(StkFloat lowestFrequency);
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <a class="code" href="classClarinet.html#a1">~Clarinet</a>();
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a2">clear</a>();
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a5">stopBlowing</a>(StkFloat rate);
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00062"></a>00062
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a7">noteOff</a>(StkFloat amplitude);
<a name="l00065"></a>00065
<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a8">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="keyword">protected</span>:
<a name="l00070"></a>00070
<a name="l00071"></a>00071 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <a class="code" href="classDelayL.html">DelayL</a> delayLine_;
<a name="l00074"></a>00074 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
<a name="l00075"></a>00075 <a class="code" href="classOneZero.html">OneZero</a> filter_;
<a name="l00076"></a>00076 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
<a name="l00077"></a>00077 <a class="code" href="classNoise.html">Noise</a> noise_;
<a name="l00078"></a>00078 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
<a name="l00079"></a>00079 <span class="keywordtype">long</span> length_;
<a name="l00080"></a>00080 StkFloat outputGain_;
<a name="l00081"></a>00081 StkFloat noiseGain_;
<a name="l00082"></a>00082 StkFloat vibratoGain_;
<a name="l00083"></a>00083
<a name="l00084"></a>00084 };
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,57 +8,55 @@
<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>DelayA.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00023 <span class="comment">/***************************************************/</span>
00024
00025 <span class="preprocessor">#ifndef STK_DELAYA_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAYA_H</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Delay.h"</span>
00029
<a name="l00030"></a><a class="code" href="classDelayA.html">00030</a> <span class="keyword">class </span><a class="code" href="classDelayA.html">DelayA</a> : <span class="keyword">public</span> <a class="code" href="classDelay.html">Delay</a>
00031 {
00032 <span class="keyword">public</span>:
00033
00035 <a class="code" href="classDelayA.html#a0">DelayA</a>();
00036
00038
00043 <a class="code" href="classDelayA.html#a0">DelayA</a>(StkFloat delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
00044
00046 <a class="code" href="classDelayA.html#a2">~DelayA</a>();
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a3">clear</a>();
00050
00052
00055 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a4">setDelay</a>(StkFloat delay);
00056
00058 StkFloat <a class="code" href="classDelayA.html#a5">getDelay</a>(<span class="keywordtype">void</span>);
00059
00061
00064 StkFloat <a class="code" href="classDelayA.html#a6">nextOut</a>(<span class="keywordtype">void</span>);
00065
00067 StkFloat <a class="code" href="classDelayA.html#a7">tick</a>(StkFloat sample);
00068
00070 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classDelayA.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00071
00073
00079 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDelayA.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00080
00081 <span class="keyword">protected</span>:
00082 StkFloat alpha_;
00083 StkFloat coeff_;
00084 StkFloat apInput_;
00085 StkFloat nextOutput_;
00086 <span class="keywordtype">bool</span> doNextOut_;
00087 };
00088
00089 <span class="preprocessor">#endif</span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>DelayA.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00020"></a>00020 <span class="comment">/***************************************************/</span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="preprocessor">#ifndef STK_DELAYA_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAYA_H</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "Delay.h"</span>
<a name="l00026"></a>00026
<a name="l00027"></a><a class="code" href="classDelayA.html">00027</a> <span class="keyword">class </span><a class="code" href="classDelayA.html">DelayA</a> : <span class="keyword">public</span> <a class="code" href="classDelay.html">Delay</a>
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">public</span>:
<a name="l00030"></a>00030
<a name="l00032"></a>00032 <a class="code" href="classDelayA.html#a0">DelayA</a>();
<a name="l00033"></a>00033
<a name="l00035"></a>00035
<a name="l00040"></a>00040 <a class="code" href="classDelayA.html#a0">DelayA</a>(StkFloat delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <a class="code" href="classDelayA.html#a2">~DelayA</a>();
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a3">clear</a>();
<a name="l00047"></a>00047
<a name="l00049"></a>00049
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a4">setDelay</a>(StkFloat delay);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 StkFloat <a class="code" href="classDelayA.html#a5">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00056"></a>00056
<a name="l00058"></a>00058
<a name="l00061"></a>00061 StkFloat <a class="code" href="classDelayA.html#a6">nextOut</a>(<span class="keywordtype">void</span>);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">protected</span>:
<a name="l00064"></a>00064
<a name="l00065"></a>00065 StkFloat computeSample( StkFloat input );
<a name="l00066"></a>00066
<a name="l00067"></a>00067 StkFloat alpha_;
<a name="l00068"></a>00068 StkFloat coeff_;
<a name="l00069"></a>00069 StkFloat apInput_;
<a name="l00070"></a>00070 StkFloat nextOutput_;
<a name="l00071"></a>00071 <span class="keywordtype">bool</span> doNextOut_;
<a name="l00072"></a>00072 };
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,54 +8,52 @@
<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>DelayL.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00023 <span class="comment">/***************************************************/</span>
00024
00025 <span class="preprocessor">#ifndef STK_DELAYL_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAYL_H</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Delay.h"</span>
00029
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>DelayL.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00023"></a>00023 <span class="comment">/***************************************************/</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="preprocessor">#ifndef STK_DELAYL_H</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAYL_H</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "Delay.h"</span>
<a name="l00029"></a>00029
<a name="l00030"></a><a class="code" href="classDelayL.html">00030</a> <span class="keyword">class </span><a class="code" href="classDelayL.html">DelayL</a> : <span class="keyword">public</span> <a class="code" href="classDelay.html">Delay</a>
00031 {
00032 <span class="keyword">public</span>:
00033
00035 <a class="code" href="classDelayL.html#a0">DelayL</a>();
00036
00038
00043 <a class="code" href="classDelayL.html#a0">DelayL</a>(StkFloat delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
00044
00046 <a class="code" href="classDelayL.html#a2">~DelayL</a>();
00047
00049
00052 <span class="keywordtype">void</span> <a class="code" href="classDelayL.html#a3">setDelay</a>(StkFloat delay);
00053
00055 StkFloat <a class="code" href="classDelayL.html#a4">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00056
00058
00061 StkFloat <a class="code" href="classDelayL.html#a5">nextOut</a>(<span class="keywordtype">void</span>);
00062
00064 StkFloat <a class="code" href="classDelayL.html#a6">tick</a>(StkFloat sample);
00065
00067 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classDelayL.html#a6">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00068
00070
00076 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDelayL.html#a6">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00077
00078 <span class="keyword">protected</span>:
00079 StkFloat alpha_;
00080 StkFloat omAlpha_;
00081 StkFloat nextOutput_;
00082 <span class="keywordtype">bool</span> doNextOut_;
00083 };
00084
00085 <span class="preprocessor">#endif</span>
<a name="l00031"></a>00031 {
<a name="l00032"></a>00032 <span class="keyword">public</span>:
<a name="l00033"></a>00033
<a name="l00035"></a>00035 <a class="code" href="classDelayL.html#a0">DelayL</a>();
<a name="l00036"></a>00036
<a name="l00038"></a>00038
<a name="l00043"></a>00043 <a class="code" href="classDelayL.html#a0">DelayL</a>(StkFloat delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <a class="code" href="classDelayL.html#a2">~DelayL</a>();
<a name="l00047"></a>00047
<a name="l00049"></a>00049
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classDelayL.html#a3">setDelay</a>(StkFloat delay);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 StkFloat <a class="code" href="classDelayL.html#a4">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00056"></a>00056
<a name="l00058"></a>00058
<a name="l00061"></a>00061 StkFloat <a class="code" href="classDelayL.html#a5">nextOut</a>(<span class="keywordtype">void</span>);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">protected</span>:
<a name="l00064"></a>00064
<a name="l00065"></a>00065 StkFloat computeSample( StkFloat input );
<a name="l00066"></a>00066
<a name="l00067"></a>00067 StkFloat alpha_;
<a name="l00068"></a>00068 StkFloat omAlpha_;
<a name="l00069"></a>00069 StkFloat nextOutput_;
<a name="l00070"></a>00070 <span class="keywordtype">bool</span> doNextOut_;
<a name="l00071"></a>00071 };
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,66 +8,71 @@
<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>Delay.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span>
00020
00021 <span class="preprocessor">#ifndef STK_DELAY_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAY_H</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Filter.h"</span>
00025
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Delay.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00019"></a>00019 <span class="comment">/***************************************************/</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef STK_DELAY_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAY_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "Filter.h"</span>
<a name="l00025"></a>00025
<a name="l00026"></a><a class="code" href="classDelay.html">00026</a> <span class="keyword">class </span><a class="code" href="classDelay.html">Delay</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00027 {
00028 <span class="keyword">public</span>:
00029
00031 <a class="code" href="classDelay.html#a0">Delay</a>();
00032
00034
00039 <a class="code" href="classDelay.html#a0">Delay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
00040
00042 <span class="keyword">virtual</span> <a class="code" href="classDelay.html#a2">~Delay</a>();
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a3">clear</a>();
00046
00048
00055 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a4">setMaximumDelay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay);
00056
00058
00061 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a5">setDelay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay);
00062
00064 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classDelay.html#a6">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00065
00067 StkFloat <a class="code" href="classDelay.html#a7">energy</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00068
00070
00075 StkFloat <a class="code" href="classDelay.html#a8">contentsAt</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> tapDelay);
00076
00078 StkFloat <a class="code" href="classDelay.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00079
00081
00084 <span class="keyword">virtual</span> StkFloat <a class="code" href="classDelay.html#a10">nextOut</a>(<span class="keywordtype">void</span>);
00085
00087 <span class="keyword">virtual</span> StkFloat <a class="code" href="classDelay.html#a11">tick</a>(StkFloat sample);
00088
00090 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classDelay.html#a11">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00091
00093
00099 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDelay.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00100
00101 <span class="keyword">protected</span>:
00102 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> inPoint_;
00103 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> outPoint_;
00104 StkFloat delay_;
00105 };
00106
00107 <span class="preprocessor">#endif</span>
00108 <span class="preprocessor"></span>
<a name="l00027"></a>00027 {
<a name="l00028"></a>00028 <span class="keyword">public</span>:
<a name="l00029"></a>00029
<a name="l00031"></a>00031 <a class="code" href="classDelay.html#a0">Delay</a>();
<a name="l00032"></a>00032
<a name="l00034"></a>00034
<a name="l00039"></a>00039 <a class="code" href="classDelay.html#a0">Delay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
<a name="l00040"></a>00040
<a name="l00042"></a>00042 <span class="keyword">virtual</span> <a class="code" href="classDelay.html#a2">~Delay</a>();
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a3">clear</a>();
<a name="l00046"></a>00046
<a name="l00048"></a>00048
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a4">setMaximumDelay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay);
<a name="l00056"></a>00056
<a name="l00058"></a>00058
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a5">setDelay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay);
<a name="l00062"></a>00062
<a name="l00064"></a>00064 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classDelay.html#a6">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00065"></a>00065
<a name="l00067"></a>00067 StkFloat <a class="code" href="classDelay.html#a7">energy</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00068"></a>00068
<a name="l00070"></a>00070
<a name="l00075"></a>00075 StkFloat <a class="code" href="classDelay.html#a8">contentsAt</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> tapDelay);
<a name="l00076"></a>00076
<a name="l00078"></a>00078 StkFloat <a class="code" href="classDelay.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00079"></a>00079
<a name="l00081"></a>00081
<a name="l00084"></a>00084 <span class="keyword">virtual</span> StkFloat <a class="code" href="classDelay.html#a10">nextOut</a>(<span class="keywordtype">void</span>);
<a name="l00085"></a>00085
<a name="l00087"></a>00087 <span class="keyword">virtual</span> StkFloat <a class="code" href="classDelay.html#a11">tick</a>(StkFloat sample);
<a name="l00088"></a>00088
<a name="l00090"></a>00090
<a name="l00096"></a>00096 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDelay.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00097"></a>00097
<a name="l00098"></a>00098 <span class="keyword">protected</span>:
<a name="l00099"></a>00099
<a name="l00100"></a>00100 <span class="comment">// This function must be implemented in all subclasses. It is used</span>
<a name="l00101"></a>00101 <span class="comment">// to get around a C++ problem with overloaded virtual functions.</span>
<a name="l00102"></a>00102 <span class="keyword">virtual</span> StkFloat computeSample( StkFloat input );
<a name="l00103"></a>00103
<a name="l00104"></a>00104 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> inPoint_;
<a name="l00105"></a>00105 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> outPoint_;
<a name="l00106"></a>00106 StkFloat delay_;
<a name="l00107"></a>00107 };
<a name="l00108"></a>00108
<a name="l00109"></a>00109 <span class="preprocessor">#endif</span>
<a name="l00110"></a>00110 <span class="preprocessor"></span>
</pre></div><HR>
<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>

View File

@@ -8,53 +8,52 @@
<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>Drummer.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00016 <span class="comment">/***************************************************/</span>
00017
00018 <span class="preprocessor">#ifndef STK_DRUMMER_H</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_DRUMMER_H</span>
00020 <span class="preprocessor"></span>
00021 <span class="preprocessor">#include "Instrmnt.h"</span>
00022 <span class="preprocessor">#include "WvIn.h"</span>
00023 <span class="preprocessor">#include "OnePole.h"</span>
00024
00025 <span class="keyword">const</span> <span class="keywordtype">int</span> DRUM_NUMWAVES = 11;
00026 <span class="keyword">const</span> <span class="keywordtype">int</span> DRUM_POLYPHONY = 4;
00027
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Drummer.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00016"></a>00016 <span class="comment">/***************************************************/</span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef STK_DRUMMER_H</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_DRUMMER_H</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include "FileWvIn.h"</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">const</span> <span class="keywordtype">int</span> DRUM_NUMWAVES = 11;
<a name="l00026"></a>00026 <span class="keyword">const</span> <span class="keywordtype">int</span> DRUM_POLYPHONY = 4;
<a name="l00027"></a>00027
<a name="l00028"></a><a class="code" href="classDrummer.html">00028</a> <span class="keyword">class </span><a class="code" href="classDrummer.html">Drummer</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00029 {
00030 <span class="keyword">public</span>:
00032
00035 <a class="code" href="classDrummer.html#a0">Drummer</a>();
00036
00038 <a class="code" href="classDrummer.html#a1">~Drummer</a>();
00039
00041
00047 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a2">noteOn</a>(StkFloat instrument, StkFloat amplitude);
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a3">noteOff</a>(StkFloat amplitude);
00051
00053 StkFloat <a class="code" href="classDrummer.html#a4">tick</a>();
00054
00056 StkFloat *<a class="code" href="classDrummer.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00057
00059
00065 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDrummer.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00066
00067 <span class="keyword">protected</span>:
00068 <a class="code" href="classWvIn.html">WvIn</a> *waves_[DRUM_POLYPHONY];
00069 <a class="code" href="classOnePole.html">OnePole</a> *filters_[DRUM_POLYPHONY];
00070 <span class="keywordtype">int</span> sounding_[DRUM_POLYPHONY];
00071 <span class="keywordtype">int</span> nSounding_;
00072 };
00073
00074 <span class="preprocessor">#endif</span>
<a name="l00029"></a>00029 {
<a name="l00030"></a>00030 <span class="keyword">public</span>:
<a name="l00032"></a>00032
<a name="l00035"></a>00035 <a class="code" href="classDrummer.html#a0">Drummer</a>();
<a name="l00036"></a>00036
<a name="l00038"></a>00038 <a class="code" href="classDrummer.html#a1">~Drummer</a>();
<a name="l00039"></a>00039
<a name="l00041"></a>00041
<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a2">noteOn</a>(StkFloat instrument, StkFloat amplitude);
<a name="l00048"></a>00048
<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a3">noteOff</a>(StkFloat amplitude);
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keyword">protected</span>:
<a name="l00053"></a>00053
<a name="l00054"></a>00054 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <a class="code" href="classFileWvIn.html">FileWvIn</a> waves_[DRUM_POLYPHONY];
<a name="l00057"></a>00057 <a class="code" href="classOnePole.html">OnePole</a> filters_[DRUM_POLYPHONY];
<a name="l00058"></a>00058 std::vector&lt;int&gt; soundOrder_;
<a name="l00059"></a>00059 std::vector&lt;int&gt; soundNumber_;
<a name="l00060"></a>00060 <span class="keywordtype">int</span> nSounding_;
<a name="l00061"></a>00061 };
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,50 +8,48 @@
<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>Echo.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00009 <span class="comment">/***************************************************/</span>
00010
00011 <span class="preprocessor">#ifndef STK_ECHO_H</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_ECHO_H</span>
00013 <span class="preprocessor"></span>
00014 <span class="preprocessor">#include "Effect.h"</span>
00015 <span class="preprocessor">#include "Delay.h"</span>
00016
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Echo.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00009"></a>00009 <span class="comment">/***************************************************/</span>
<a name="l00010"></a>00010
<a name="l00011"></a>00011 <span class="preprocessor">#ifndef STK_ECHO_H</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_ECHO_H</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#include "Effect.h"</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "Delay.h"</span>
<a name="l00016"></a>00016
<a name="l00017"></a><a class="code" href="classEcho.html">00017</a> <span class="keyword">class </span><a class="code" href="classEcho.html">Echo</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00018 {
00019 <span class="keyword">public</span>:
00021
00024 <a class="code" href="classEcho.html#a0">Echo</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maximumDelay = (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>) <a class="code" href="classStk.html#e0">Stk::sampleRate</a>() );
00025
00027 <a class="code" href="classEcho.html#a1">~Echo</a>();
00028
00030 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a2">clear</a>();
00031
00033 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a3">setMaximumDelay</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay );
00034
00036 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a4">setDelay</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay );
00037
00039 StkFloat <a class="code" href="classEcho.html#a5">tick</a>(StkFloat input);
00040
00042 StkFloat *<a class="code" href="classEcho.html#a5">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00043
00045
00051 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classEcho.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00052
00053 <span class="keyword">protected</span>:
00054 <a class="code" href="classDelay.html">Delay</a> delayLine_;
00055 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00056
00057 };
00058
00059 <span class="preprocessor">#endif</span>
00060 <span class="preprocessor"></span>
<a name="l00018"></a>00018 {
<a name="l00019"></a>00019 <span class="keyword">public</span>:
<a name="l00021"></a>00021
<a name="l00024"></a>00024 <a class="code" href="classEcho.html#a0">Echo</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maximumDelay = (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>) <a class="code" href="classStk.html#e0">Stk::sampleRate</a>() );
<a name="l00025"></a>00025
<a name="l00027"></a>00027 <a class="code" href="classEcho.html#a1">~Echo</a>();
<a name="l00028"></a>00028
<a name="l00030"></a>00030 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a2">clear</a>();
<a name="l00031"></a>00031
<a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a3">setMaximumDelay</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay );
<a name="l00034"></a>00034
<a name="l00036"></a>00036 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a4">setDelay</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay );
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="keyword">protected</span>:
<a name="l00039"></a>00039
<a name="l00040"></a>00040 StkFloat computeSample( StkFloat input );
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <a class="code" href="classDelay.html">Delay</a> delayLine_;
<a name="l00043"></a>00043 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
<a name="l00044"></a>00044
<a name="l00045"></a>00045 };
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="preprocessor">#endif</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span>
</pre></div><HR>
<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>

View File

@@ -8,56 +8,61 @@
<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>Effect.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#include "Stk.h"</span>
00013
00014 <span class="preprocessor">#ifndef STK_EFFECT_H</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_EFFECT_H</span>
00016 <span class="preprocessor"></span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Effect.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
<a name="l00011"></a>00011
<a name="l00012"></a>00012 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef STK_EFFECT_H</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_EFFECT_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a><a class="code" href="classEffect.html">00017</a> <span class="keyword">class </span><a class="code" href="classEffect.html">Effect</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00018 {
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classEffect.html#a0">Effect</a>();
00022
00024 <span class="keyword">virtual</span> <a class="code" href="classEffect.html#a1">~Effect</a>();
00025
00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEffect.html#a2">clear</a>() = 0;
00028
00030 <span class="keywordtype">void</span> <a class="code" href="classEffect.html#a3">setEffectMix</a>(StkFloat mix);
00031
00033 StkFloat <a class="code" href="classEffect.html#a4">lastOut</a>() <span class="keyword">const</span>;
00034
00036 StkFloat <a class="code" href="classEffect.html#a5">lastOutLeft</a>() <span class="keyword">const</span>;
00037
00039 StkFloat <a class="code" href="classEffect.html#a6">lastOutRight</a>() <span class="keyword">const</span>;
00040
00042 <span class="keyword">virtual</span> StkFloat <a class="code" href="classEffect.html#a7">tick</a>( StkFloat input ) = 0;
00043
00045 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classEffect.html#a7">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00046
00048
00054 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classEffect.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00055
00056 <span class="keyword">protected</span>:
00057
00058 <span class="comment">// Returns true if argument value is prime.</span>
00059 <span class="keywordtype">bool</span> isPrime( <span class="keywordtype">int</span> number );
00060
00061 StkFloat lastOutput_[2];
00062 StkFloat effectMix_;
00063
00064 };
00065
00066 <span class="preprocessor">#endif</span>
00067 <span class="preprocessor"></span>
<a name="l00018"></a>00018 {
<a name="l00019"></a>00019 <span class="keyword">public</span>:
<a name="l00021"></a>00021 <a class="code" href="classEffect.html#a0">Effect</a>();
<a name="l00022"></a>00022
<a name="l00024"></a>00024 <span class="keyword">virtual</span> <a class="code" href="classEffect.html#a1">~Effect</a>();
<a name="l00025"></a>00025
<a name="l00027"></a>00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEffect.html#a2">clear</a>() = 0;
<a name="l00028"></a>00028
<a name="l00030"></a>00030 <span class="keywordtype">void</span> <a class="code" href="classEffect.html#a3">setEffectMix</a>(StkFloat mix);
<a name="l00031"></a>00031
<a name="l00033"></a>00033 StkFloat <a class="code" href="classEffect.html#a4">lastOut</a>() <span class="keyword">const</span>;
<a name="l00034"></a>00034
<a name="l00036"></a>00036 StkFloat <a class="code" href="classEffect.html#a5">lastOutLeft</a>() <span class="keyword">const</span>;
<a name="l00037"></a>00037
<a name="l00039"></a>00039 StkFloat <a class="code" href="classEffect.html#a6">lastOutRight</a>() <span class="keyword">const</span>;
<a name="l00040"></a>00040
<a name="l00042"></a>00042 StkFloat <a class="code" href="classEffect.html#a7">tick</a>( StkFloat input );
<a name="l00043"></a>00043
<a name="l00045"></a>00045
<a name="l00051"></a>00051 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classEffect.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">protected</span>:
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="comment">// This abstract function must be implemented in all subclasses.</span>
<a name="l00056"></a>00056 <span class="comment">// It is used to get around a C++ problem with overloaded virtual</span>
<a name="l00057"></a>00057 <span class="comment">// functions.</span>
<a name="l00058"></a>00058 <span class="keyword">virtual</span> StkFloat computeSample( StkFloat input ) = 0;
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="comment">// Returns true if argument value is prime.</span>
<a name="l00061"></a>00061 <span class="keywordtype">bool</span> isPrime( <span class="keywordtype">int</span> number );
<a name="l00062"></a>00062
<a name="l00063"></a>00063 StkFloat lastOutput_[2];
<a name="l00064"></a>00064 StkFloat effectMix_;
<a name="l00065"></a>00065
<a name="l00066"></a>00066 };
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="preprocessor">#endif</span>
<a name="l00069"></a>00069 <span class="preprocessor"></span>
</pre></div><HR>
<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>

View File

@@ -8,57 +8,59 @@
<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>Envelope.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00014 <span class="comment">/***************************************************/</span>
00015
00016 <span class="preprocessor">#ifndef STK_ENVELOPE_H</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_ENVELOPE_H</span>
00018 <span class="preprocessor"></span>
00019 <span class="preprocessor">#include "Generator.h"</span>
00020
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Envelope.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00014"></a>00014 <span class="comment">/***************************************************/</span>
<a name="l00015"></a>00015
<a name="l00016"></a>00016 <span class="preprocessor">#ifndef STK_ENVELOPE_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_ENVELOPE_H</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include "Generator.h"</span>
<a name="l00020"></a>00020
<a name="l00021"></a><a class="code" href="classEnvelope.html">00021</a> <span class="keyword">class </span><a class="code" href="classEnvelope.html">Envelope</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
00022 {
00023 <span class="keyword">public</span>:
00024
00026 <a class="code" href="classEnvelope.html#a0">Envelope</a>(<span class="keywordtype">void</span>);
00027
00029 <span class="keyword">virtual</span> <a class="code" href="classEnvelope.html#a1">~Envelope</a>(<span class="keywordtype">void</span>);
00030
00032 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a2">keyOn</a>(<span class="keywordtype">void</span>);
00033
00035 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
00036
00038 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a4">setRate</a>(StkFloat rate);
00039
00041 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a5">setTime</a>(StkFloat time);
00042
00044 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a6">setTarget</a>(StkFloat target);
00045
00047 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a7">setValue</a>(StkFloat value);
00048
00050 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classEnvelope.html#a8">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00051
00053 <span class="keyword">virtual</span> StkFloat <a class="code" href="classEnvelope.html#a9">tick</a>(<span class="keywordtype">void</span>);
00054
00056 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classEnvelope.html#a9">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00057
00059
00065 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classEnvelope.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00066
00067 <span class="keyword">protected</span>:
00068 StkFloat value_;
00069 StkFloat target_;
00070 StkFloat rate_;
00071 <span class="keywordtype">int</span> state_;
00072 };
00073
00074 <span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023 <span class="keyword">public</span>:
<a name="l00024"></a>00024
<a name="l00026"></a>00026 <a class="code" href="classEnvelope.html#a0">Envelope</a>(<span class="keywordtype">void</span>);
<a name="l00027"></a>00027
<a name="l00029"></a>00029 <a class="code" href="classEnvelope.html#a0">Envelope</a>( <span class="keyword">const</span> <a class="code" href="classEnvelope.html">Envelope</a>&amp; e );
<a name="l00030"></a>00030
<a name="l00032"></a>00032 <span class="keyword">virtual</span> <a class="code" href="classEnvelope.html#a2">~Envelope</a>(<span class="keywordtype">void</span>);
<a name="l00033"></a>00033
<a name="l00035"></a>00035 <a class="code" href="classEnvelope.html">Envelope</a>&amp; <a class="code" href="classEnvelope.html#a3">operator= </a>( <span class="keyword">const</span> <a class="code" href="classEnvelope.html">Envelope</a>&amp; e );
<a name="l00036"></a>00036
<a name="l00038"></a>00038 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a4">keyOn</a>(<span class="keywordtype">void</span>);
<a name="l00039"></a>00039
<a name="l00041"></a>00041 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a5">keyOff</a>(<span class="keywordtype">void</span>);
<a name="l00042"></a>00042
<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a6">setRate</a>(StkFloat rate);
<a name="l00045"></a>00045
<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a7">setTime</a>(StkFloat time);
<a name="l00048"></a>00048
<a name="l00050"></a>00050 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a8">setTarget</a>(StkFloat target);
<a name="l00051"></a>00051
<a name="l00053"></a>00053 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a9">setValue</a>(StkFloat value);
<a name="l00054"></a>00054
<a name="l00056"></a>00056 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classEnvelope.html#a10">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="keyword">protected</span>:
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="keyword">virtual</span> StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00061"></a>00061
<a name="l00062"></a>00062 StkFloat value_;
<a name="l00063"></a>00063 StkFloat target_;
<a name="l00064"></a>00064 StkFloat rate_;
<a name="l00065"></a>00065 <span class="keywordtype">int</span> state_;
<a name="l00066"></a>00066 };
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,48 +8,46 @@
<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>FMVoices.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00031 <span class="comment">/***************************************************/</span>
00032
00033 <span class="preprocessor">#ifndef STK_FMVOICES_H</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_FMVOICES_H</span>
00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span>
00037
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>FMVoices.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00031"></a>00031 <span class="comment">/***************************************************/</span>
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="preprocessor">#ifndef STK_FMVOICES_H</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_FMVOICES_H</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00036"></a>00036 <span class="preprocessor">#include "FM.h"</span>
<a name="l00037"></a>00037
<a name="l00038"></a><a class="code" href="classFMVoices.html">00038</a> <span class="keyword">class </span><a class="code" href="classFMVoices.html">FMVoices</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00039 {
00040 <span class="keyword">public</span>:
00042
00045 <a class="code" href="classFMVoices.html#a0">FMVoices</a>();
00046
00048 <a class="code" href="classFMVoices.html#a1">~FMVoices</a>();
00049
00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a2">setFrequency</a>(StkFloat frequency);
00052
00054 <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00055
00057 StkFloat <a class="code" href="classFMVoices.html#a4">tick</a>();
00058
00060 StkFloat *<a class="code" href="classFMVoices.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00061
00063
00069 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFMVoices.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00070
00072 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00073
00074 <span class="keyword">protected</span>:
00075 <span class="keywordtype">int</span> currentVowel_;
00076 StkFloat tilt_[3];
00077 StkFloat mods_[3];
00078 };
00079
00080 <span class="preprocessor">#endif</span>
<a name="l00039"></a>00039 {
<a name="l00040"></a>00040 <span class="keyword">public</span>:
<a name="l00042"></a>00042
<a name="l00045"></a>00045 <a class="code" href="classFMVoices.html#a0">FMVoices</a>();
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <a class="code" href="classFMVoices.html#a1">~FMVoices</a>();
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a2">setFrequency</a>(StkFloat frequency);
<a name="l00052"></a>00052
<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00055"></a>00055
<a name="l00057"></a>00057 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a4">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="keyword">protected</span>:
<a name="l00060"></a>00060
<a name="l00061"></a>00061 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keywordtype">int</span> currentVowel_;
<a name="l00064"></a>00064 StkFloat tilt_[3];
<a name="l00065"></a>00065 StkFloat mods_[3];
<a name="l00066"></a>00066 };
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,83 +8,82 @@
<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>FM.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00024 <span class="comment">/***************************************************/</span>
00025
00026 <span class="preprocessor">#ifndef STK_FM_H</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_FM_H</span>
00028 <span class="preprocessor"></span>
00029 <span class="preprocessor">#include "Instrmnt.h"</span>
00030 <span class="preprocessor">#include "ADSR.h"</span>
00031 <span class="preprocessor">#include "WaveLoop.h"</span>
00032 <span class="preprocessor">#include "TwoZero.h"</span>
00033
<a name="l00034"></a><a class="code" href="classFM.html">00034</a> <span class="keyword">class </span><a class="code" href="classFM.html">FM</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00035 {
00036 <span class="keyword">public</span>:
00038
00041 <a class="code" href="classFM.html#a0">FM</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> operators = 4 );
00042
00044 <span class="keyword">virtual</span> <a class="code" href="classFM.html#a1">~FM</a>();
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a2">clear</a>();
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a3">loadWaves</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> **filenames);
00051
00053 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a4">setFrequency</a>(StkFloat frequency);
00054
00056 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a5">setRatio</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> waveIndex, StkFloat ratio);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a6">setGain</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> waveIndex, StkFloat gain);
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a7">setModulationSpeed</a>(StkFloat mSpeed);
00063
00065 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a8">setModulationDepth</a>(StkFloat mDepth);
00066
00068 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a9">setControl1</a>(StkFloat cVal);
00069
00071 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a10">setControl2</a>(StkFloat cVal);
00072
00074 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a11">keyOn</a>();
00075
00077 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a12">keyOff</a>();
00078
00080 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a13">noteOff</a>(StkFloat amplitude);
00081
00083 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFM.html#a14">tick</a>() = 0;
00084
00086 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classFM.html#a14">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize) = 0;
00087
00089
00095 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFM.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 ) = 0;
00096
00098 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a17">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00099
00100 <span class="keyword">protected</span>:
00101 std::vector&lt;ADSR *&gt; adsr_;
00102 std::vector&lt;WaveLoop *&gt; waves_;
00103 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00104 <a class="code" href="classTwoZero.html">TwoZero</a> twozero_;
00105 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nOperators_;
00106 StkFloat baseFrequency_;
00107 std::vector&lt;StkFloat&gt; ratios_;
00108 std::vector&lt;StkFloat&gt; gains_;
00109 StkFloat modDepth_;
00110 StkFloat control1_;
00111 StkFloat control2_;
00112 StkFloat fmGains_[100];
00113 StkFloat fmSusLevels_[16];
00114 StkFloat fmAttTimes_[32];
00115
00116 };
00117
00118 <span class="preprocessor">#endif</span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>FM.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00024"></a>00024 <span class="comment">/***************************************************/</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="preprocessor">#ifndef STK_FM_H</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_FM_H</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "WaveLoop.h"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include "TwoZero.h"</span>
<a name="l00034"></a>00034
<a name="l00035"></a><a class="code" href="classFM.html">00035</a> <span class="keyword">class </span><a class="code" href="classFM.html">FM</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
<a name="l00036"></a>00036 {
<a name="l00037"></a>00037 <span class="keyword">public</span>:
<a name="l00039"></a>00039
<a name="l00042"></a>00042 <a class="code" href="classFM.html#a0">FM</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> operators = 4 );
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="keyword">virtual</span> <a class="code" href="classFM.html#a1">~FM</a>();
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a2">clear</a>();
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a3">loadWaves</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> **filenames);
<a name="l00052"></a>00052
<a name="l00054"></a>00054 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a4">setFrequency</a>(StkFloat frequency);
<a name="l00055"></a>00055
<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a5">setRatio</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> waveIndex, StkFloat ratio);
<a name="l00058"></a>00058
<a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a6">setGain</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> waveIndex, StkFloat gain);
<a name="l00061"></a>00061
<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a7">setModulationSpeed</a>(StkFloat mSpeed);
<a name="l00064"></a>00064
<a name="l00066"></a>00066 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a8">setModulationDepth</a>(StkFloat mDepth);
<a name="l00067"></a>00067
<a name="l00069"></a>00069 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a9">setControl1</a>(StkFloat cVal);
<a name="l00070"></a>00070
<a name="l00072"></a>00072 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a10">setControl2</a>(StkFloat cVal);
<a name="l00073"></a>00073
<a name="l00075"></a>00075 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a11">keyOn</a>();
<a name="l00076"></a>00076
<a name="l00078"></a>00078 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a12">keyOff</a>();
<a name="l00079"></a>00079
<a name="l00081"></a>00081 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a13">noteOff</a>(StkFloat amplitude);
<a name="l00082"></a>00082
<a name="l00084"></a>00084 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a14">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="keyword">protected</span>:
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <span class="keyword">virtual</span> StkFloat computeSample( <span class="keywordtype">void</span> ) = 0;
<a name="l00089"></a>00089
<a name="l00090"></a>00090 std::vector&lt;ADSR *&gt; adsr_;
<a name="l00091"></a>00091 std::vector&lt;WaveLoop *&gt; waves_;
<a name="l00092"></a>00092 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
<a name="l00093"></a>00093 <a class="code" href="classTwoZero.html">TwoZero</a> twozero_;
<a name="l00094"></a>00094 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nOperators_;
<a name="l00095"></a>00095 StkFloat baseFrequency_;
<a name="l00096"></a>00096 std::vector&lt;StkFloat&gt; ratios_;
<a name="l00097"></a>00097 std::vector&lt;StkFloat&gt; gains_;
<a name="l00098"></a>00098 StkFloat modDepth_;
<a name="l00099"></a>00099 StkFloat control1_;
<a name="l00100"></a>00100 StkFloat control2_;
<a name="l00101"></a>00101 StkFloat fmGains_[100];
<a name="l00102"></a>00102 StkFloat fmSusLevels_[16];
<a name="l00103"></a>00103 StkFloat fmAttTimes_[32];
<a name="l00104"></a>00104
<a name="l00105"></a>00105 };
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -0,0 +1,85 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>FileRead.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00030"></a>00030 <span class="comment">/***************************************************/</span>
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="preprocessor">#ifndef STK_FILEREAD_H</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#define STK_FILEREAD_H</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span>
<a name="l00035"></a>00035 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00036"></a>00036
<a name="l00037"></a><a class="code" href="classFileRead.html">00037</a> <span class="keyword">class </span><a class="code" href="classFileRead.html">FileRead</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
<a name="l00038"></a>00038 {
<a name="l00039"></a>00039 <span class="keyword">public</span>:
<a name="l00041"></a>00041 <a class="code" href="classFileRead.html#a0">FileRead</a>();
<a name="l00042"></a>00042
<a name="l00044"></a>00044
<a name="l00048"></a>00048 <a class="code" href="classFileRead.html#a0">FileRead</a>( std::string fileName, <span class="keywordtype">bool</span> typeRaw = <span class="keyword">false</span> );
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <a class="code" href="classFileRead.html#a2">~FileRead</a>();
<a name="l00052"></a>00052
<a name="l00054"></a>00054
<a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="classFileRead.html#a3">open</a>( std::string fileName, <span class="keywordtype">bool</span> typeRaw = <span class="keyword">false</span> );
<a name="l00061"></a>00061
<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="classFileRead.html#a4">close</a>( <span class="keywordtype">void</span> );
<a name="l00064"></a>00064
<a name="l00066"></a>00066 <span class="keywordtype">bool</span> <a class="code" href="classFileRead.html#a5">isOpen</a>( <span class="keywordtype">void</span> );
<a name="l00067"></a>00067
<a name="l00069"></a><a class="code" href="classFileRead.html#a6">00069</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classFileRead.html#a6">fileSize</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> fileSize_; };
<a name="l00070"></a>00070
<a name="l00072"></a><a class="code" href="classFileRead.html#a7">00072</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classFileRead.html#a7">channels</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> channels_; };
<a name="l00073"></a>00073
<a name="l00075"></a>00075
<a name="l00080"></a><a class="code" href="classFileRead.html#a8">00080</a> StkFloat <a class="code" href="classFileRead.html#a8">fileRate</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> fileRate_; };
<a name="l00081"></a>00081
<a name="l00083"></a>00083
<a name="l00095"></a>00095 <span class="keywordtype">void</span> <a class="code" href="classFileRead.html#a9">read</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> startFrame = 0, <span class="keywordtype">bool</span> doNormalize = <span class="keyword">true</span> );
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="keyword">protected</span>:
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="comment">// Get STK RAW file information.</span>
<a name="l00100"></a>00100 <span class="keywordtype">bool</span> getRawInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
<a name="l00101"></a>00101
<a name="l00102"></a>00102 <span class="comment">// Get WAV file header information.</span>
<a name="l00103"></a>00103 <span class="keywordtype">bool</span> getWavInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
<a name="l00104"></a>00104
<a name="l00105"></a>00105 <span class="comment">// Get SND (AU) file header information.</span>
<a name="l00106"></a>00106 <span class="keywordtype">bool</span> getSndInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
<a name="l00107"></a>00107
<a name="l00108"></a>00108 <span class="comment">// Get AIFF file header information.</span>
<a name="l00109"></a>00109 <span class="keywordtype">bool</span> getAifInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
<a name="l00110"></a>00110
<a name="l00111"></a>00111 <span class="comment">// Get MAT-file header information.</span>
<a name="l00112"></a>00112 <span class="keywordtype">bool</span> getMatInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
<a name="l00113"></a>00113
<a name="l00114"></a>00114 FILE *fd_;
<a name="l00115"></a>00115 <span class="keywordtype">bool</span> byteswap_;
<a name="l00116"></a>00116 <span class="keywordtype">bool</span> wavFile_;
<a name="l00117"></a>00117 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> fileSize_;
<a name="l00118"></a>00118 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> dataOffset_;
<a name="l00119"></a>00119 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
<a name="l00120"></a>00120 StkFormat dataType_;
<a name="l00121"></a>00121 StkFloat fileRate_;
<a name="l00122"></a>00122 };
<a name="l00123"></a>00123
<a name="l00124"></a>00124 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,99 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>FileWrite.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00022"></a>00022 <span class="comment">/***************************************************/</span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="preprocessor">#ifndef STK_FILEWRITE_H</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_FILEWRITE_H</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00028"></a>00028
<a name="l00029"></a><a class="code" href="classFileWrite.html">00029</a> <span class="keyword">class </span><a class="code" href="classFileWrite.html">FileWrite</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 <span class="keyword">public</span>:
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> FILE_TYPE;
<a name="l00034"></a>00034
<a name="l00035"></a><a class="code" href="classFileWrite.html#s0">00035</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classFileWrite.html#s0">FILE_RAW</a>;
<a name="l00036"></a><a class="code" href="classFileWrite.html#s1">00036</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classFileWrite.html#s1">FILE_WAV</a>;
<a name="l00037"></a><a class="code" href="classFileWrite.html#s2">00037</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classFileWrite.html#s2">FILE_SND</a>;
<a name="l00038"></a><a class="code" href="classFileWrite.html#s3">00038</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classFileWrite.html#s3">FILE_AIF</a>;
<a name="l00039"></a><a class="code" href="classFileWrite.html#s4">00039</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classFileWrite.html#s4">FILE_MAT</a>;
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <a class="code" href="classFileWrite.html#a0">FileWrite</a>();
<a name="l00043"></a>00043
<a name="l00045"></a>00045
<a name="l00048"></a>00048 <a class="code" href="classFileWrite.html#a0">FileWrite</a>( std::string fileName, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, FILE_TYPE type = <a class="code" href="classFileWrite.html#s1">FILE_WAV</a>, Stk::StkFormat format = <a class="code" href="classStk.html#s1">STK_SINT16</a> );
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <span class="keyword">virtual</span> <a class="code" href="classFileWrite.html#a2">~FileWrite</a>();
<a name="l00052"></a>00052
<a name="l00054"></a>00054
<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classFileWrite.html#a3">open</a>( std::string fileName, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1,
<a name="l00058"></a>00058 FileWrite::FILE_TYPE type = <a class="code" href="classFileWrite.html#s1">FILE_WAV</a>, Stk::StkFormat format = <a class="code" href="classStk.html#s1">STK_SINT16</a> );
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classFileWrite.html#a4">close</a>( <span class="keywordtype">void</span> );
<a name="l00062"></a>00062
<a name="l00064"></a>00064 <span class="keywordtype">bool</span> <a class="code" href="classFileWrite.html#a5">isOpen</a>( <span class="keywordtype">void</span> );
<a name="l00065"></a>00065
<a name="l00067"></a>00067
<a name="l00072"></a>00072 <span class="keywordtype">void</span> <a class="code" href="classFileWrite.html#a6">write</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; buffer );
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keyword">protected</span>:
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="comment">// Write STK RAW file header.</span>
<a name="l00077"></a>00077 <span class="keywordtype">bool</span> setRawFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="comment">// Write WAV file header.</span>
<a name="l00080"></a>00080 <span class="keywordtype">bool</span> setWavFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <span class="comment">// Close WAV file, updating the header.</span>
<a name="l00083"></a>00083 <span class="keywordtype">void</span> closeWavFile( <span class="keywordtype">void</span> );
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="comment">// Write SND (AU) file header.</span>
<a name="l00086"></a>00086 <span class="keywordtype">bool</span> setSndFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <span class="comment">// Close SND file, updating the header.</span>
<a name="l00089"></a>00089 <span class="keywordtype">void</span> closeSndFile( <span class="keywordtype">void</span> );
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <span class="comment">// Write AIFF file header.</span>
<a name="l00092"></a>00092 <span class="keywordtype">bool</span> setAifFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="comment">// Close AIFF file, updating the header.</span>
<a name="l00095"></a>00095 <span class="keywordtype">void</span> closeAifFile( <span class="keywordtype">void</span> );
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="comment">// Write MAT-file header.</span>
<a name="l00098"></a>00098 <span class="keywordtype">bool</span> setMatFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
<a name="l00099"></a>00099
<a name="l00100"></a>00100 <span class="comment">// Close MAT-file, updating the header.</span>
<a name="l00101"></a>00101 <span class="keywordtype">void</span> closeMatFile( <span class="keywordtype">void</span> );
<a name="l00102"></a>00102
<a name="l00103"></a>00103 FILE *fd_;
<a name="l00104"></a>00104 FILE_TYPE fileType_;
<a name="l00105"></a>00105 StkFormat dataType_;
<a name="l00106"></a>00106 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
<a name="l00107"></a>00107 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frameCounter_;
<a name="l00108"></a>00108 <span class="keywordtype">bool</span> byteswap_;
<a name="l00109"></a>00109
<a name="l00110"></a>00110 };
<a name="l00111"></a>00111
<a name="l00112"></a>00112 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,91 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>FileWvIn.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00032"></a>00032 <span class="comment">/***************************************************/</span>
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="preprocessor">#ifndef STK_FILEWVIN_H</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define STK_FILEWVIN_H</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span>
<a name="l00037"></a>00037 <span class="preprocessor">#include "WvIn.h"</span>
<a name="l00038"></a>00038 <span class="preprocessor">#include "FileRead.h"</span>
<a name="l00039"></a>00039
<a name="l00040"></a><a class="code" href="classFileWvIn.html">00040</a> <span class="keyword">class </span><a class="code" href="classFileWvIn.html">FileWvIn</a> : <span class="keyword">public</span> <a class="code" href="classWvIn.html">WvIn</a>
<a name="l00041"></a>00041 {
<a name="l00042"></a>00042 <span class="keyword">public</span>:
<a name="l00044"></a>00044 <a class="code" href="classFileWvIn.html#a0">FileWvIn</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkThreshold = 1000000, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkSize = 1024 );
<a name="l00045"></a>00045
<a name="l00047"></a>00047
<a name="l00051"></a>00051 <a class="code" href="classFileWvIn.html#a0">FileWvIn</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>, <span class="keywordtype">bool</span> doNormalize = <span class="keyword">true</span>,
<a name="l00052"></a>00052 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkThreshold = 1000000, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkSize = 1024 );
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keyword">virtual</span> <a class="code" href="classFileWvIn.html#a2">~FileWvIn</a>();
<a name="l00056"></a>00056
<a name="l00058"></a>00058
<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classFileWvIn.html#a3">openFile</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>, <span class="keywordtype">bool</span> doNormalize = <span class="keyword">true</span> );
<a name="l00068"></a>00068
<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="classFileWvIn.html#a4">closeFile</a>( <span class="keywordtype">void</span> );
<a name="l00071"></a>00071
<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classFileWvIn.html#a5">reset</a>( <span class="keywordtype">void</span> );
<a name="l00074"></a>00074
<a name="l00076"></a>00076
<a name="l00080"></a>00080 <span class="keywordtype">void</span> <a class="code" href="classFileWvIn.html#a6">normalize</a>( <span class="keywordtype">void</span> );
<a name="l00081"></a>00081
<a name="l00083"></a>00083
<a name="l00087"></a>00087 <span class="keywordtype">void</span> <a class="code" href="classFileWvIn.html#a6">normalize</a>( StkFloat peak );
<a name="l00088"></a>00088
<a name="l00090"></a><a class="code" href="classFileWvIn.html#a8">00090</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classFileWvIn.html#a8">getSize</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data_.<a class="code" href="classStkFrames.html#a13">frames</a>(); };
<a name="l00091"></a>00091
<a name="l00093"></a>00093
<a name="l00098"></a><a class="code" href="classFileWvIn.html#a9">00098</a> StkFloat <a class="code" href="classFileWvIn.html#a9">getFileRate</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data_.<a class="code" href="classStkFrames.html#a15">dataRate</a>(); };
<a name="l00099"></a>00099
<a name="l00101"></a><a class="code" href="classFileWvIn.html#a10">00101</a> <span class="keywordtype">bool</span> <a class="code" href="classFileWvIn.html#a10">isFinished</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> finished_; };
<a name="l00102"></a>00102
<a name="l00104"></a>00104
<a name="l00107"></a>00107 <span class="keywordtype">void</span> <a class="code" href="classFileWvIn.html#a11">setRate</a>( StkFloat rate );
<a name="l00108"></a>00108
<a name="l00110"></a>00110
<a name="l00113"></a>00113 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFileWvIn.html#a12">addTime</a>( StkFloat time );
<a name="l00114"></a>00114
<a name="l00116"></a>00116
<a name="l00122"></a><a class="code" href="classFileWvIn.html#a13">00122</a> <span class="keywordtype">void</span> <a class="code" href="classFileWvIn.html#a13">setInterpolate</a>( <span class="keywordtype">bool</span> doInterpolate ) { interpolate_ = doInterpolate; };
<a name="l00123"></a>00123
<a name="l00124"></a>00124 StkFloat lastOut( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
<a name="l00125"></a>00125
<a name="l00126"></a>00126 <span class="keyword">protected</span>:
<a name="l00127"></a>00127
<a name="l00128"></a>00128 <span class="keyword">virtual</span> <span class="keywordtype">void</span> computeFrame( <span class="keywordtype">void</span> );
<a name="l00129"></a>00129
<a name="l00130"></a>00130 <a class="code" href="classFileRead.html">FileRead</a> file_;
<a name="l00131"></a>00131 <span class="keywordtype">bool</span> finished_;
<a name="l00132"></a>00132 <span class="keywordtype">bool</span> interpolate_;
<a name="l00133"></a>00133 <span class="keywordtype">bool</span> normalizing_;
<a name="l00134"></a>00134 <span class="keywordtype">bool</span> chunking_;
<a name="l00135"></a>00135 StkFloat time_;
<a name="l00136"></a>00136 StkFloat rate_;
<a name="l00137"></a>00137 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkThreshold_;
<a name="l00138"></a>00138 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkSize_;
<a name="l00139"></a>00139 <span class="keywordtype">long</span> chunkPointer_;
<a name="l00140"></a>00140
<a name="l00141"></a>00141 };
<a name="l00142"></a>00142
<a name="l00143"></a>00143 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,72 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>FileWvOut.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00022"></a>00022 <span class="comment">/***************************************************/</span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="preprocessor">#ifndef STK_FILEWVOUT_H</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_FILEWVOUT_H</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "WvOut.h"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "FileWrite.h"</span>
<a name="l00029"></a>00029
<a name="l00030"></a><a class="code" href="classFileWvOut.html">00030</a> <span class="keyword">class </span><a class="code" href="classFileWvOut.html">FileWvOut</a> : <span class="keyword">public</span> <a class="code" href="classWvOut.html">WvOut</a>
<a name="l00031"></a>00031 {
<a name="l00032"></a>00032 <span class="keyword">public</span>:
<a name="l00033"></a>00033
<a name="l00035"></a>00035
<a name="l00039"></a>00039 <a class="code" href="classFileWvOut.html#a0">FileWvOut</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferFrames = 1024 );
<a name="l00040"></a>00040
<a name="l00042"></a>00042
<a name="l00045"></a>00045 <a class="code" href="classFileWvOut.html#a0">FileWvOut</a>( std::string fileName,
<a name="l00046"></a>00046 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1,
<a name="l00047"></a>00047 FileWrite::FILE_TYPE type = <a class="code" href="classFileWrite.html#s1">FileWrite::FILE_WAV</a>,
<a name="l00048"></a>00048 Stk::StkFormat format = <a class="code" href="classStk.html#s1">STK_SINT16</a>,
<a name="l00049"></a>00049 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferFrames = 1024 );
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keyword">virtual</span> <a class="code" href="classFileWvOut.html#a2">~FileWvOut</a>();
<a name="l00053"></a>00053
<a name="l00055"></a>00055
<a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="classFileWvOut.html#a3">openFile</a>( std::string fileName,
<a name="l00061"></a>00061 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels,
<a name="l00062"></a>00062 FileWrite::FILE_TYPE type,
<a name="l00063"></a>00063 Stk::StkFormat format );
<a name="l00064"></a>00064
<a name="l00066"></a>00066
<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="classFileWvOut.html#a4">closeFile</a>( <span class="keywordtype">void</span> );
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="keyword">protected</span>:
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keywordtype">void</span> computeSample( <span class="keyword">const</span> StkFloat sample );
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="keywordtype">void</span> computeFrames( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="keywordtype">void</span> incrementFrame( <span class="keywordtype">void</span> );
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <a class="code" href="classFileWrite.html">FileWrite</a> file_;
<a name="l00081"></a>00081 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferFrames_;
<a name="l00082"></a>00082 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferIndex_;
<a name="l00083"></a>00083 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> iData_;
<a name="l00084"></a>00084
<a name="l00085"></a>00085 };
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -8,67 +8,67 @@
<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>Filter.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00028 <span class="comment">/***************************************************/</span>
00029
00030 <span class="preprocessor">#ifndef STK_FILTER_H</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define STK_FILTER_H</span>
00032 <span class="preprocessor"></span>
00033 <span class="preprocessor">#include "Stk.h"</span>
00034 <span class="preprocessor">#include &lt;vector&gt;</span>
00035 <span class="preprocessor">#include &lt;valarray&gt;</span>
00036
<a name="l00037"></a><a class="code" href="classFilter.html">00037</a> <span class="keyword">class </span><a class="code" href="classFilter.html">Filter</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00038 {
00039 <span class="keyword">public</span>:
00041 <a class="code" href="classFilter.html#a0">Filter</a>(<span class="keywordtype">void</span>);
00042
00044
00048 <a class="code" href="classFilter.html#a0">Filter</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients, std::vector&lt;StkFloat&gt; &amp;aCoefficients );
00049
00051 <span class="keyword">virtual</span> <a class="code" href="classFilter.html#a2">~Filter</a>(<span class="keywordtype">void</span>);
00052
00054 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a3">clear</a>(<span class="keywordtype">void</span>);
00055
00057
00063 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a4">setCoefficients</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients, std::vector&lt;StkFloat&gt; &amp;aCoefficients );
00064
00066
00073 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a5">setNumerator</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients );
00074
00076
00084 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a6">setDenominator</a>( std::vector&lt;StkFloat&gt; &amp;aCoefficients );
00085
00087
00091 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a7">setGain</a>(StkFloat gain);
00092
00094 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00095
00097 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00098
00100 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a10">tick</a>(StkFloat sample);
00101
00103 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classFilter.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00104
00106
00112 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFilter.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00113
00114 <span class="keyword">protected</span>:
00115 StkFloat gain_;
00116 std::vector&lt;StkFloat&gt; b_;
00117 std::vector&lt;StkFloat&gt; a_;
00118 std::vector&lt;StkFloat&gt; outputs_;
00119 std::vector&lt;StkFloat&gt; inputs_;
00120
00121 };
00122
00123 <span class="preprocessor">#endif</span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Filter.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00028"></a>00028 <span class="comment">/***************************************************/</span>
<a name="l00029"></a>00029
<a name="l00030"></a>00030 <span class="preprocessor">#ifndef STK_FILTER_H</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define STK_FILTER_H</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span>
<a name="l00033"></a>00033 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00035"></a>00035
<a name="l00036"></a><a class="code" href="classFilter.html">00036</a> <span class="keyword">class </span><a class="code" href="classFilter.html">Filter</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
<a name="l00037"></a>00037 {
<a name="l00038"></a>00038 <span class="keyword">public</span>:
<a name="l00040"></a>00040 <a class="code" href="classFilter.html#a0">Filter</a>(<span class="keywordtype">void</span>);
<a name="l00041"></a>00041
<a name="l00043"></a>00043
<a name="l00047"></a>00047 <a class="code" href="classFilter.html#a0">Filter</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients, std::vector&lt;StkFloat&gt; &amp;aCoefficients );
<a name="l00048"></a>00048
<a name="l00050"></a>00050 <span class="keyword">virtual</span> <a class="code" href="classFilter.html#a2">~Filter</a>(<span class="keywordtype">void</span>);
<a name="l00051"></a>00051
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a3">clear</a>(<span class="keywordtype">void</span>);
<a name="l00054"></a>00054
<a name="l00056"></a>00056
<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a4">setCoefficients</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients, std::vector&lt;StkFloat&gt; &amp;aCoefficients, <span class="keywordtype">bool</span> clearState = <span class="keyword">false</span> );
<a name="l00064"></a>00064
<a name="l00066"></a>00066
<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a5">setNumerator</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients, <span class="keywordtype">bool</span> clearState = <span class="keyword">false</span> );
<a name="l00074"></a>00074
<a name="l00076"></a>00076
<a name="l00085"></a>00085 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a6">setDenominator</a>( std::vector&lt;StkFloat&gt; &amp;aCoefficients, <span class="keywordtype">bool</span> clearState = <span class="keyword">false</span> );
<a name="l00086"></a>00086
<a name="l00088"></a>00088
<a name="l00092"></a>00092 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a7">setGain</a>(StkFloat gain);
<a name="l00093"></a>00093
<a name="l00095"></a>00095 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00096"></a>00096
<a name="l00098"></a>00098 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00099"></a>00099
<a name="l00101"></a>00101 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a10">tick</a>( StkFloat input );
<a name="l00102"></a>00102
<a name="l00104"></a>00104
<a name="l00110"></a>00110 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFilter.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00111"></a>00111
<a name="l00112"></a>00112 <span class="keyword">protected</span>:
<a name="l00113"></a>00113
<a name="l00114"></a>00114 StkFloat gain_;
<a name="l00115"></a>00115 std::vector&lt;StkFloat&gt; b_;
<a name="l00116"></a>00116 std::vector&lt;StkFloat&gt; a_;
<a name="l00117"></a>00117 std::vector&lt;StkFloat&gt; outputs_;
<a name="l00118"></a>00118 std::vector&lt;StkFloat&gt; inputs_;
<a name="l00119"></a>00119
<a name="l00120"></a>00120 };
<a name="l00121"></a>00121
<a name="l00122"></a>00122 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,84 +8,82 @@
<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>Flute.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00023 <span class="comment">/***************************************************/</span>
00024
00025 <span class="preprocessor">#ifndef STK_FLUTE_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_FLUTE_H</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Instrmnt.h"</span>
00029 <span class="preprocessor">#include "JetTable.h"</span>
00030 <span class="preprocessor">#include "DelayL.h"</span>
00031 <span class="preprocessor">#include "OnePole.h"</span>
00032 <span class="preprocessor">#include "PoleZero.h"</span>
00033 <span class="preprocessor">#include "Noise.h"</span>
00034 <span class="preprocessor">#include "ADSR.h"</span>
00035 <span class="preprocessor">#include "WaveLoop.h"</span>
00036
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Flute.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00023"></a>00023 <span class="comment">/***************************************************/</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="preprocessor">#ifndef STK_FLUTE_H</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_FLUTE_H</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "JetTable.h"</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include "DelayL.h"</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "PoleZero.h"</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00036"></a>00036
<a name="l00037"></a><a class="code" href="classFlute.html">00037</a> <span class="keyword">class </span><a class="code" href="classFlute.html">Flute</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00038 {
00039 <span class="keyword">public</span>:
00041
00044 <a class="code" href="classFlute.html#a0">Flute</a>(StkFloat lowestFrequency);
00045
00047 <a class="code" href="classFlute.html#a1">~Flute</a>();
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a2">clear</a>();
00051
00053 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a3">setFrequency</a>(StkFloat frequency);
00054
00056 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a4">setJetReflection</a>(StkFloat coefficient);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a5">setEndReflection</a>(StkFloat coefficient);
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a6">setJetDelay</a>(StkFloat aRatio);
00063
00065 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a7">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00066
00068 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a8">stopBlowing</a>(StkFloat rate);
00069
00071 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a9">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00072
00074 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a10">noteOff</a>(StkFloat amplitude);
00075
00077 StkFloat <a class="code" href="classFlute.html#a11">tick</a>();
00078
00080 StkFloat *<a class="code" href="classFlute.html#a11">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00081
00083
00089 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFlute.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00090
00092 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a14">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00093
00094 <span class="keyword">protected</span>:
00095 <a class="code" href="classDelayL.html">DelayL</a> jetDelay_;
00096 <a class="code" href="classDelayL.html">DelayL</a> boreDelay_;
00097 <a class="code" href="classJetTable.html">JetTable</a> jetTable_;
00098 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00099 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
00100 <a class="code" href="classNoise.html">Noise</a> noise_;
00101 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00102 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00103 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00104 StkFloat lastFrequency_;
00105 StkFloat maxPressure_;
00106 StkFloat jetReflection_;
00107 StkFloat endReflection_;
00108 StkFloat noiseGain_;
00109 StkFloat vibratoGain_;
00110 StkFloat outputGain_;
00111 StkFloat jetRatio_;
00112
00113 };
00114
00115 <span class="preprocessor">#endif</span>
<a name="l00038"></a>00038 {
<a name="l00039"></a>00039 <span class="keyword">public</span>:
<a name="l00041"></a>00041
<a name="l00044"></a>00044 <a class="code" href="classFlute.html#a0">Flute</a>(StkFloat lowestFrequency);
<a name="l00045"></a>00045
<a name="l00047"></a>00047 <a class="code" href="classFlute.html#a1">~Flute</a>();
<a name="l00048"></a>00048
<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a2">clear</a>();
<a name="l00051"></a>00051
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00054"></a>00054
<a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a4">setJetReflection</a>(StkFloat coefficient);
<a name="l00057"></a>00057
<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a5">setEndReflection</a>(StkFloat coefficient);
<a name="l00060"></a>00060
<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a6">setJetDelay</a>(StkFloat aRatio);
<a name="l00063"></a>00063
<a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a7">startBlowing</a>(StkFloat amplitude, StkFloat rate);
<a name="l00066"></a>00066
<a name="l00068"></a>00068 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a8">stopBlowing</a>(StkFloat rate);
<a name="l00069"></a>00069
<a name="l00071"></a>00071 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a9">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00072"></a>00072
<a name="l00074"></a>00074 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a10">noteOff</a>(StkFloat amplitude);
<a name="l00075"></a>00075
<a name="l00077"></a>00077 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="keyword">protected</span>:
<a name="l00080"></a>00080
<a name="l00081"></a>00081 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00082"></a>00082
<a name="l00083"></a>00083 <a class="code" href="classDelayL.html">DelayL</a> jetDelay_;
<a name="l00084"></a>00084 <a class="code" href="classDelayL.html">DelayL</a> boreDelay_;
<a name="l00085"></a>00085 <a class="code" href="classJetTable.html">JetTable</a> jetTable_;
<a name="l00086"></a>00086 <a class="code" href="classOnePole.html">OnePole</a> filter_;
<a name="l00087"></a>00087 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
<a name="l00088"></a>00088 <a class="code" href="classNoise.html">Noise</a> noise_;
<a name="l00089"></a>00089 <a class="code" href="classADSR.html">ADSR</a> adsr_;
<a name="l00090"></a>00090 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
<a name="l00091"></a>00091 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
<a name="l00092"></a>00092 StkFloat lastFrequency_;
<a name="l00093"></a>00093 StkFloat maxPressure_;
<a name="l00094"></a>00094 StkFloat jetReflection_;
<a name="l00095"></a>00095 StkFloat endReflection_;
<a name="l00096"></a>00096 StkFloat noiseGain_;
<a name="l00097"></a>00097 StkFloat vibratoGain_;
<a name="l00098"></a>00098 StkFloat outputGain_;
<a name="l00099"></a>00099 StkFloat jetRatio_;
<a name="l00100"></a>00100
<a name="l00101"></a>00101 };
<a name="l00102"></a>00102
<a name="l00103"></a>00103 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,67 +8,65 @@
<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>FormSwep.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_FORMSWEP_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_FORMSWEP_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "BiQuad.h"</span>
00019
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>FormSwep.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_FORMSWEP_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_FORMSWEP_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "BiQuad.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classFormSwep.html">00020</a> <span class="keyword">class </span><a class="code" href="classFormSwep.html">FormSwep</a> : <span class="keyword">public</span> <a class="code" href="classBiQuad.html">BiQuad</a>
00021 {
00022 <span class="keyword">public</span>:
00023
00025 <a class="code" href="classFormSwep.html#a0">FormSwep</a>();
00026
00028 <a class="code" href="classFormSwep.html#a1">~FormSwep</a>();
00029
00031
00042 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a2">setResonance</a>(StkFloat frequency, StkFloat radius);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a3">setStates</a>(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a4">setTargets</a>(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
00049
00051
00059 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a5">setSweepRate</a>(StkFloat rate);
00060
00062
00067 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a6">setSweepTime</a>(StkFloat time);
00068
00070 StkFloat <a class="code" href="classFormSwep.html#a7">tick</a>(StkFloat sample);
00071
00073 StkFloat *<a class="code" href="classFormSwep.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00074
00076
00082 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFormSwep.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00083
00084 <span class="keyword">protected</span>:
00085 <span class="keywordtype">bool</span> dirty_;
00086 StkFloat frequency_;
00087 StkFloat radius_;
00088 StkFloat startFrequency_;
00089 StkFloat startRadius_;
00090 StkFloat startGain_;
00091 StkFloat targetFrequency_;
00092 StkFloat targetRadius_;
00093 StkFloat targetGain_;
00094 StkFloat deltaFrequency_;
00095 StkFloat deltaRadius_;
00096 StkFloat deltaGain_;
00097 StkFloat sweepState_;
00098 StkFloat sweepRate_;
00099
00100 };
00101
00102 <span class="preprocessor">#endif</span>
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="keyword">public</span>:
<a name="l00023"></a>00023
<a name="l00025"></a>00025 <a class="code" href="classFormSwep.html#a0">FormSwep</a>();
<a name="l00026"></a>00026
<a name="l00028"></a>00028 <a class="code" href="classFormSwep.html#a1">~FormSwep</a>();
<a name="l00029"></a>00029
<a name="l00031"></a>00031
<a name="l00042"></a>00042 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a2">setResonance</a>(StkFloat frequency, StkFloat radius);
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a3">setStates</a>(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a4">setTargets</a>(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
<a name="l00049"></a>00049
<a name="l00051"></a>00051
<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a5">setSweepRate</a>(StkFloat rate);
<a name="l00060"></a>00060
<a name="l00062"></a>00062
<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a6">setSweepTime</a>(StkFloat time);
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="keyword">protected</span>:
<a name="l00070"></a>00070
<a name="l00071"></a>00071 StkFloat computeSample( StkFloat input );
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="keywordtype">bool</span> dirty_;
<a name="l00074"></a>00074 StkFloat frequency_;
<a name="l00075"></a>00075 StkFloat radius_;
<a name="l00076"></a>00076 StkFloat startFrequency_;
<a name="l00077"></a>00077 StkFloat startRadius_;
<a name="l00078"></a>00078 StkFloat startGain_;
<a name="l00079"></a>00079 StkFloat targetFrequency_;
<a name="l00080"></a>00080 StkFloat targetRadius_;
<a name="l00081"></a>00081 StkFloat targetGain_;
<a name="l00082"></a>00082 StkFloat deltaFrequency_;
<a name="l00083"></a>00083 StkFloat deltaRadius_;
<a name="l00084"></a>00084 StkFloat deltaGain_;
<a name="l00085"></a>00085 StkFloat sweepState_;
<a name="l00086"></a>00086 StkFloat sweepRate_;
<a name="l00087"></a>00087
<a name="l00088"></a>00088 };
<a name="l00089"></a>00089
<a name="l00090"></a>00090 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,44 +8,49 @@
<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>Function.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00011 <span class="comment">/***************************************************/</span>
00012
00013 <span class="preprocessor">#include "Stk.h"</span>
00014
00015 <span class="preprocessor">#ifndef STK_FUNCTION_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_FUNCTION_H</span>
00017 <span class="preprocessor"></span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Function.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00011"></a>00011 <span class="comment">/***************************************************/</span>
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_FUNCTION_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_FUNCTION_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a><a class="code" href="classFunction.html">00018</a> <span class="keyword">class </span><a class="code" href="classFunction.html">Function</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00019 {
00020 <span class="keyword">public</span>:
00022 <a class="code" href="classFunction.html#a0">Function</a>();
00023
00025 <span class="keyword">virtual</span> <a class="code" href="classFunction.html#a1">~Function</a>();
00026
<a name="l00019"></a>00019 {
<a name="l00020"></a>00020 <span class="keyword">public</span>:
<a name="l00022"></a>00022 <a class="code" href="classFunction.html#a0">Function</a>();
<a name="l00023"></a>00023
<a name="l00025"></a>00025 <span class="keyword">virtual</span> <a class="code" href="classFunction.html#a1">~Function</a>();
<a name="l00026"></a>00026
<a name="l00028"></a><a class="code" href="classFunction.html#a2">00028</a> <span class="keyword">virtual</span> StkFloat <a class="code" href="classFunction.html#a2">lastOut</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastOutput_; };
00029
00031 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFunction.html#a3">tick</a>( StkFloat input ) = 0;
00032
00034 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classFunction.html#a3">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00035
00037
00043 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFunction.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00044
00045 <span class="keyword">protected</span>:
00046
00047 StkFloat lastOutput_;
00048
00049 };
00050
00051 <span class="preprocessor">#endif</span>
00052 <span class="preprocessor"></span>
<a name="l00029"></a>00029
<a name="l00031"></a>00031 StkFloat <a class="code" href="classFunction.html#a3">tick</a>( StkFloat input );
<a name="l00032"></a>00032
<a name="l00034"></a>00034
<a name="l00040"></a>00040 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFunction.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="keyword">protected</span>:
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="comment">// This abstract function must be implemented in all subclasses.</span>
<a name="l00045"></a>00045 <span class="comment">// It is used to get around a C++ problem with overloaded virtual</span>
<a name="l00046"></a>00046 <span class="comment">// functions.</span>
<a name="l00047"></a>00047 <span class="keyword">virtual</span> StkFloat computeSample( StkFloat input ) = 0;
<a name="l00048"></a>00048
<a name="l00049"></a>00049 StkFloat lastOutput_;
<a name="l00050"></a>00050
<a name="l00051"></a>00051 };
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="preprocessor">#endif</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span>
</pre></div><HR>
<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>

View File

@@ -8,44 +8,49 @@
<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>Generator.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_GENERATOR_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_GENERATOR_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Stk.h"</span>
00016
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Generator.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
<a name="l00011"></a>00011
<a name="l00012"></a>00012 <span class="preprocessor">#ifndef STK_GENERATOR_H</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_GENERATOR_H</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00016"></a>00016
<a name="l00017"></a><a class="code" href="classGenerator.html">00017</a> <span class="keyword">class </span><a class="code" href="classGenerator.html">Generator</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00018 {
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classGenerator.html#a0">Generator</a>();
00022
00024 <span class="keyword">virtual</span> <a class="code" href="classGenerator.html#a1">~Generator</a>();
00025
<a name="l00027"></a><a class="code" href="classGenerator.html#a2">00027</a> <span class="keyword">virtual</span> StkFloat <a class="code" href="classGenerator.html#a2">lastOut</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastOutput_; };
00028
00030 <span class="keyword">virtual</span> StkFloat <a class="code" href="classGenerator.html#a3">tick</a>( <span class="keywordtype">void</span> ) = 0;
00031
00033 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classGenerator.html#a3">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00034
00036
00042 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classGenerator.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00043
00044 <span class="keyword">protected</span>:
00045
00046 StkFloat lastOutput_;
00047
00048 };
00049
00050 <span class="preprocessor">#endif</span>
00051 <span class="preprocessor"></span>
<a name="l00018"></a>00018 {
<a name="l00019"></a>00019 <span class="keyword">public</span>:
<a name="l00021"></a>00021 <a class="code" href="classGenerator.html#a0">Generator</a>( <span class="keywordtype">void</span> );
<a name="l00022"></a>00022
<a name="l00024"></a>00024 <span class="keyword">virtual</span> <a class="code" href="classGenerator.html#a1">~Generator</a>( <span class="keywordtype">void</span> );
<a name="l00025"></a>00025
<a name="l00027"></a><a class="code" href="classGenerator.html#a2">00027</a> <span class="keyword">virtual</span> StkFloat <a class="code" href="classGenerator.html#a2">lastOut</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastOutput_; };
<a name="l00028"></a>00028
<a name="l00030"></a>00030 StkFloat <a class="code" href="classGenerator.html#a3">tick</a>( <span class="keywordtype">void</span> );
<a name="l00031"></a>00031
<a name="l00033"></a>00033
<a name="l00039"></a>00039 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classGenerator.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="keyword">protected</span>:
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="comment">// This abstract function must be implemented in all subclasses.</span>
<a name="l00044"></a>00044 <span class="comment">// It is used to get around a C++ problem with overloaded virtual</span>
<a name="l00045"></a>00045 <span class="comment">// functions.</span>
<a name="l00046"></a>00046 <span class="keyword">virtual</span> StkFloat computeSample( <span class="keywordtype">void</span> ) = 0;
<a name="l00047"></a>00047
<a name="l00048"></a>00048 StkFloat lastOutput_;
<a name="l00049"></a>00049
<a name="l00050"></a>00050 };
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="preprocessor">#endif</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span>
</pre></div><HR>
<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>

View File

@@ -0,0 +1,110 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Granulate.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00016"></a>00016 <span class="comment">/***************************************************/</span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef STK_GRANULATE_H</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_GRANULATE_H</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include "Generator.h"</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "Envelope.h"</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00025"></a>00025
<a name="l00026"></a><a class="code" href="classGranulate.html">00026</a> <span class="keyword">class </span><a class="code" href="classGranulate.html">Granulate</a>: <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
<a name="l00027"></a>00027 {
<a name="l00028"></a>00028 <span class="keyword">public</span>:
<a name="l00030"></a>00030 <a class="code" href="classGranulate.html#a0">Granulate</a>( <span class="keywordtype">void</span> );
<a name="l00031"></a>00031
<a name="l00033"></a>00033 <a class="code" href="classGranulate.html#a0">Granulate</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nVoices, std::string fileName, <span class="keywordtype">bool</span> typeRaw = <span class="keyword">false</span> );
<a name="l00034"></a>00034
<a name="l00036"></a>00036 <a class="code" href="classGranulate.html#a2">~Granulate</a>();
<a name="l00037"></a>00037
<a name="l00039"></a>00039
<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classGranulate.html#a3">openFile</a>( std::string fileName, <span class="keywordtype">bool</span> typeRaw = <span class="keyword">false</span> );
<a name="l00044"></a>00044
<a name="l00046"></a>00046
<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classGranulate.html#a4">reset</a>();
<a name="l00051"></a>00051
<a name="l00053"></a>00053
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classGranulate.html#a5">setVoices</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nVoices = 1 );
<a name="l00059"></a>00059
<a name="l00061"></a>00061
<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classGranulate.html#a6">setStretch</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stretchFactor = 1 );
<a name="l00068"></a>00068
<a name="l00070"></a>00070
<a name="l00083"></a>00083 <span class="keywordtype">void</span> <a class="code" href="classGranulate.html#a7">setGrainParameters</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> duration = 30, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rampPercent = 50,
<a name="l00084"></a>00084 <span class="keywordtype">int</span> offset = 0, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> delay = 0 );
<a name="l00085"></a>00085
<a name="l00087"></a>00087
<a name="l00095"></a>00095 <span class="keywordtype">void</span> <a class="code" href="classGranulate.html#a8">setRandomFactor</a>( StkFloat randomness = 0.1 );
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="keyword">enum</span> GrainState {
<a name="l00098"></a>00098 GRAIN_STOPPED,
<a name="l00099"></a>00099 GRAIN_FADEIN,
<a name="l00100"></a>00100 GRAIN_SUSTAIN,
<a name="l00101"></a>00101 GRAIN_FADEOUT
<a name="l00102"></a>00102 };
<a name="l00103"></a>00103
<a name="l00104"></a>00104 <span class="keyword">protected</span>:
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="keyword">struct </span>Grain {
<a name="l00107"></a>00107 StkFloat eScaler;
<a name="l00108"></a>00108 StkFloat eRate;
<a name="l00109"></a>00109 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> attackCount;
<a name="l00110"></a>00110 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> sustainCount;
<a name="l00111"></a>00111 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> decayCount;
<a name="l00112"></a>00112 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delayCount;
<a name="l00113"></a>00113 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> counter;
<a name="l00114"></a>00114 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> pointer;
<a name="l00115"></a>00115 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> startPointer;
<a name="l00116"></a>00116 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> repeats;
<a name="l00117"></a>00117 GrainState state;
<a name="l00118"></a>00118
<a name="l00119"></a>00119 <span class="comment">// Default constructor.</span>
<a name="l00120"></a>00120 Grain()
<a name="l00121"></a>00121 :eScaler(0.0), eRate(0.0), attackCount(0), sustainCount(0), decayCount(0),
<a name="l00122"></a>00122 delayCount(0), counter(0), pointer(0), startPointer(0), repeats(0), state(GRAIN_STOPPED) {}
<a name="l00123"></a>00123 };
<a name="l00124"></a>00124
<a name="l00125"></a>00125 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00126"></a>00126 <span class="keywordtype">void</span> calculateGrain( Granulate::Grain&amp; grain );
<a name="l00127"></a>00127
<a name="l00128"></a>00128 <a class="code" href="classStkFrames.html">StkFrames</a> data_;
<a name="l00129"></a>00129 std::vector&lt;Grain&gt; grains_;
<a name="l00130"></a>00130 <a class="code" href="classNoise.html">Noise</a> noise;
<a name="l00131"></a>00131 <span class="keywordtype">long</span> gPointer_;
<a name="l00132"></a>00132
<a name="l00133"></a>00133 <span class="comment">// Global grain parameters.</span>
<a name="l00134"></a>00134 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> gDuration_;
<a name="l00135"></a>00135 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> gRampPercent_;
<a name="l00136"></a>00136 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> gDelay_;
<a name="l00137"></a>00137 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> gStretch_;
<a name="l00138"></a>00138 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stretchCounter_;
<a name="l00139"></a>00139 <span class="keywordtype">int</span> gOffset_;
<a name="l00140"></a>00140 StkFloat gRandomFactor_;
<a name="l00141"></a>00141 StkFloat gain_;
<a name="l00142"></a>00142
<a name="l00143"></a>00143 };
<a name="l00144"></a>00144
<a name="l00145"></a>00145 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -8,39 +8,38 @@
<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>HevyMetl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00029 <span class="comment">/***************************************************/</span>
00030
00031 <span class="preprocessor">#ifndef STK_HEVYMETL_H</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_HEVYMETL_H</span>
00033 <span class="preprocessor"></span>
00034 <span class="preprocessor">#include "FM.h"</span>
00035
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>HevyMetl.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00029"></a>00029 <span class="comment">/***************************************************/</span>
<a name="l00030"></a>00030
<a name="l00031"></a>00031 <span class="preprocessor">#ifndef STK_HEVYMETL_H</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_HEVYMETL_H</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span>
<a name="l00034"></a>00034 <span class="preprocessor">#include "FM.h"</span>
<a name="l00035"></a>00035
<a name="l00036"></a><a class="code" href="classHevyMetl.html">00036</a> <span class="keyword">class </span><a class="code" href="classHevyMetl.html">HevyMetl</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00037 {
00038 <span class="keyword">public</span>:
00040
00043 <a class="code" href="classHevyMetl.html#a0">HevyMetl</a>();
00044
00046 <a class="code" href="classHevyMetl.html#a1">~HevyMetl</a>();
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classHevyMetl.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00050
00052 StkFloat <a class="code" href="classHevyMetl.html#a3">tick</a>();
00053
00055 StkFloat *<a class="code" href="classHevyMetl.html#a3">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00056
00058
00064 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classHevyMetl.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00065 };
00066
00067 <span class="preprocessor">#endif</span>
<a name="l00037"></a>00037 {
<a name="l00038"></a>00038 <span class="keyword">public</span>:
<a name="l00040"></a>00040
<a name="l00043"></a>00043 <a class="code" href="classHevyMetl.html#a0">HevyMetl</a>();
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <a class="code" href="classHevyMetl.html#a1">~HevyMetl</a>();
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classHevyMetl.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keyword">protected</span>:
<a name="l00052"></a>00052
<a name="l00053"></a>00053 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00054"></a>00054 };
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -0,0 +1,87 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>InetWvIn.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00025"></a>00025 <span class="comment">/***************************************************/</span>
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="preprocessor">#ifndef STK_INETWVIN_H</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define STK_INETWVIN_H</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span>
<a name="l00030"></a>00030 <span class="preprocessor">#include "WvIn.h"</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "TcpServer.h"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "UdpSocket.h"</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include "Thread.h"</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include "Mutex.h"</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
<a name="l00037"></a>00037 <span class="keywordtype">bool</span> finished;
<a name="l00038"></a>00038 <span class="keywordtype">void</span> *object;
<a name="l00039"></a>00039 } ThreadInfo;
<a name="l00040"></a>00040
<a name="l00041"></a><a class="code" href="classInetWvIn.html">00041</a> <span class="keyword">class </span><a class="code" href="classInetWvIn.html">InetWvIn</a> : <span class="keyword">public</span> <a class="code" href="classWvIn.html">WvIn</a>
<a name="l00042"></a>00042 {
<a name="l00043"></a>00043 <span class="keyword">public</span>:
<a name="l00045"></a>00045
<a name="l00048"></a>00048 <a class="code" href="classInetWvIn.html#a0">InetWvIn</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bufferFrames = 1024, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nBuffers = 8 );
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <a class="code" href="classInetWvIn.html#a1">~InetWvIn</a>();
<a name="l00052"></a>00052
<a name="l00054"></a>00054
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classInetWvIn.html#a2">listen</a>( <span class="keywordtype">int</span> port = 2006, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1,
<a name="l00062"></a>00062 Stk::StkFormat format = <a class="code" href="classStk.html#s1">STK_SINT16</a>,
<a name="l00063"></a>00063 Socket::ProtocolType protocol = Socket::PROTO_TCP );
<a name="l00064"></a>00064
<a name="l00066"></a>00066
<a name="l00070"></a>00070 <span class="keywordtype">bool</span> <a class="code" href="classInetWvIn.html#a3">isConnected</a>( <span class="keywordtype">void</span> );
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="comment">// Called by the thread routine to receive data via the socket connection</span>
<a name="l00073"></a>00073 <span class="comment">// and fill the socket buffer. This is not intended for general use but</span>
<a name="l00074"></a>00074 <span class="comment">// had to be made public for access from the thread.</span>
<a name="l00075"></a>00075 <span class="keywordtype">void</span> receive( <span class="keywordtype">void</span> );
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="keyword">protected</span>:
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="comment">// Read buffered socket data into the data buffer ... will block if none available.</span>
<a name="l00080"></a>00080 <span class="keywordtype">int</span> readData( <span class="keywordtype">void</span> );
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <span class="keywordtype">void</span> computeFrame( <span class="keywordtype">void</span> );
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <a class="code" href="classSocket.html">Socket</a> *soket_;
<a name="l00085"></a>00085 <a class="code" href="classThread.html">Thread</a> thread_;
<a name="l00086"></a>00086 <a class="code" href="classMutex.html">Mutex</a> mutex_;
<a name="l00087"></a>00087 <span class="keywordtype">char</span> *buffer_;
<a name="l00088"></a>00088 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bufferFrames_;
<a name="l00089"></a>00089 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bufferBytes_;
<a name="l00090"></a>00090 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bytesFilled_;
<a name="l00091"></a>00091 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nBuffers_;
<a name="l00092"></a>00092 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> writePoint_;
<a name="l00093"></a>00093 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> readPoint_;
<a name="l00094"></a>00094 <span class="keywordtype">long</span> bufferCounter_;
<a name="l00095"></a>00095 <span class="keywordtype">int</span> dataBytes_;
<a name="l00096"></a>00096 <span class="keywordtype">bool</span> connected_;
<a name="l00097"></a>00097 <span class="keywordtype">int</span> fd_;
<a name="l00098"></a>00098 ThreadInfo threadInfo_;
<a name="l00099"></a>00099 Stk::StkFormat dataType_;
<a name="l00100"></a>00100
<a name="l00101"></a>00101 };
<a name="l00102"></a>00102
<a name="l00103"></a>00103 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,71 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>InetWvOut.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00021"></a>00021 <span class="comment">/***************************************************/</span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="preprocessor">#ifndef STK_INETWVOUT_H</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_INETWVOUT_H</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "WvOut.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "Socket.h"</span>
<a name="l00028"></a>00028
<a name="l00029"></a><a class="code" href="classInetWvOut.html">00029</a> <span class="keyword">class </span><a class="code" href="classInetWvOut.html">InetWvOut</a> : <span class="keyword">public</span> <a class="code" href="classWvOut.html">WvOut</a>
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 <span class="keyword">public</span>:
<a name="l00033"></a>00033 <a class="code" href="classInetWvOut.html#a0">InetWvOut</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> packetFrames = 1024 );
<a name="l00034"></a>00034
<a name="l00036"></a>00036
<a name="l00039"></a>00039 <a class="code" href="classInetWvOut.html#a0">InetWvOut</a>( <span class="keywordtype">int</span> port, Socket::ProtocolType protocol = Socket::PROTO_TCP,
<a name="l00040"></a>00040 std::string hostname = <span class="stringliteral">"localhost"</span>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, Stk::StkFormat format = <a class="code" href="classStk.html#s1">STK_SINT16</a>,
<a name="l00041"></a>00041 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> packetFrames = 1024 );
<a name="l00042"></a>00042
<a name="l00044"></a>00044 <a class="code" href="classInetWvOut.html#a2">~InetWvOut</a>();
<a name="l00045"></a>00045
<a name="l00047"></a>00047
<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classInetWvOut.html#a3">connect</a>( <span class="keywordtype">int</span> port, Socket::ProtocolType protocol = Socket::PROTO_TCP,
<a name="l00051"></a>00051 std::string hostname = <span class="stringliteral">"localhost"</span>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, Stk::StkFormat format = <a class="code" href="classStk.html#s1">STK_SINT16</a> );
<a name="l00052"></a>00052
<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classInetWvOut.html#a4">disconnect</a>(<span class="keywordtype">void</span>);
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keyword">protected</span>:
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="keywordtype">void</span> computeSample( <span class="keyword">const</span> StkFloat sample );
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="keywordtype">void</span> computeFrames( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="keywordtype">void</span> incrementFrame( <span class="keywordtype">void</span> );
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="comment">// Write a buffer of length frames via the socket connection.</span>
<a name="l00065"></a>00065 <span class="keywordtype">void</span> writeData( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frames );
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="keywordtype">char</span> *buffer_;
<a name="l00068"></a>00068 <a class="code" href="classSocket.html">Socket</a> *soket_;
<a name="l00069"></a>00069 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bufferFrames_;
<a name="l00070"></a>00070 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bufferBytes_;
<a name="l00071"></a>00071 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bufferIndex_;
<a name="l00072"></a>00072 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> iData_;
<a name="l00073"></a>00073 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dataBytes_;
<a name="l00074"></a>00074 Stk::StkFormat dataType_;
<a name="l00075"></a>00075 };
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -8,54 +8,60 @@
<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>Instrmnt.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_INSTRMNT_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_INSTRMNT_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Stk.h"</span>
00016
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Instrmnt.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
<a name="l00011"></a>00011
<a name="l00012"></a>00012 <span class="preprocessor">#ifndef STK_INSTRMNT_H</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_INSTRMNT_H</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00016"></a>00016
<a name="l00017"></a><a class="code" href="classInstrmnt.html">00017</a> <span class="keyword">class </span><a class="code" href="classInstrmnt.html">Instrmnt</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00018 {
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classInstrmnt.html#a0">Instrmnt</a>();
00022
00024 <span class="keyword">virtual</span> <a class="code" href="classInstrmnt.html#a1">~Instrmnt</a>();
00025
00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude) = 0;
00028
00030 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(StkFloat amplitude) = 0;
00031
00033 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(StkFloat frequency);
00034
00036 StkFloat <a class="code" href="classInstrmnt.html#a5">lastOut</a>() <span class="keyword">const</span>;
00037
00039 StkFloat <a class="code" href="classInstrmnt.html#a6">lastOutLeft</a>() <span class="keyword">const</span>;
00040
00042 StkFloat <a class="code" href="classInstrmnt.html#a7">lastOutRight</a>() <span class="keyword">const</span>;
00043
00045 <span class="keyword">virtual</span> StkFloat <a class="code" href="classInstrmnt.html#a8">tick</a>() = 0;
00046
00048 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classInstrmnt.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00049
00051
00057 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classInstrmnt.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00058
00060 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00061
00062 <span class="keyword">protected</span>:
00063 StkFloat lastOutput_;
00064
00065 };
00066
00067 <span class="preprocessor">#endif</span>
<a name="l00018"></a>00018 {
<a name="l00019"></a>00019 <span class="keyword">public</span>:
<a name="l00021"></a>00021 <a class="code" href="classInstrmnt.html#a0">Instrmnt</a>();
<a name="l00022"></a>00022
<a name="l00024"></a>00024 <span class="keyword">virtual</span> <a class="code" href="classInstrmnt.html#a1">~Instrmnt</a>();
<a name="l00025"></a>00025
<a name="l00027"></a>00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude) = 0;
<a name="l00028"></a>00028
<a name="l00030"></a>00030 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(StkFloat amplitude) = 0;
<a name="l00031"></a>00031
<a name="l00033"></a>00033 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(StkFloat frequency);
<a name="l00034"></a>00034
<a name="l00036"></a>00036 StkFloat <a class="code" href="classInstrmnt.html#a5">lastOut</a>() <span class="keyword">const</span>;
<a name="l00037"></a>00037
<a name="l00039"></a>00039 StkFloat <a class="code" href="classInstrmnt.html#a6">lastOutLeft</a>() <span class="keyword">const</span>;
<a name="l00040"></a>00040
<a name="l00042"></a>00042 StkFloat <a class="code" href="classInstrmnt.html#a7">lastOutRight</a>() <span class="keyword">const</span>;
<a name="l00043"></a>00043
<a name="l00045"></a>00045 StkFloat <a class="code" href="classInstrmnt.html#a8">tick</a>( <span class="keywordtype">void</span> );
<a name="l00046"></a>00046
<a name="l00048"></a>00048
<a name="l00054"></a>00054 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classInstrmnt.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00055"></a>00055
<a name="l00057"></a>00057 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="keyword">protected</span>:
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="comment">// This abstract function must be implemented in all subclasses.</span>
<a name="l00062"></a>00062 <span class="comment">// It is used to get around a C++ problem with overloaded virtual</span>
<a name="l00063"></a>00063 <span class="comment">// functions.</span>
<a name="l00064"></a>00064 <span class="keyword">virtual</span> StkFloat computeSample( <span class="keywordtype">void</span> ) = 0;
<a name="l00065"></a>00065
<a name="l00066"></a>00066 StkFloat lastOutput_;
<a name="l00067"></a>00067
<a name="l00068"></a>00068 };
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,51 +8,49 @@
<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>JCRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00015 <span class="comment">/***************************************************/</span>
00016
00017 <span class="preprocessor">#ifndef STK_JCREV_H</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_JCREV_H</span>
00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#include "Effect.h"</span>
00021 <span class="preprocessor">#include "Delay.h"</span>
00022
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>JCRev.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00015"></a>00015 <span class="comment">/***************************************************/</span>
<a name="l00016"></a>00016
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef STK_JCREV_H</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_JCREV_H</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include "Effect.h"</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "Delay.h"</span>
<a name="l00022"></a>00022
<a name="l00023"></a><a class="code" href="classJCRev.html">00023</a> <span class="keyword">class </span><a class="code" href="classJCRev.html">JCRev</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00024 {
00025 <span class="keyword">public</span>:
00027 <a class="code" href="classJCRev.html#a0">JCRev</a>( StkFloat T60 = 1.0 );
00028
00030 <a class="code" href="classJCRev.html#a1">~JCRev</a>();
00031
00033 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a2">clear</a>();
00034
00036 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a3">setT60</a>( StkFloat T60 );
00037
00039 StkFloat <a class="code" href="classJCRev.html#a4">tick</a>(StkFloat input);
00040
00042 StkFloat *<a class="code" href="classJCRev.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00043
00045
00051 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classJCRev.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00052
00053 <span class="keyword">protected</span>:
00054 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[3];
00055 <a class="code" href="classDelay.html">Delay</a> combDelays_[4];
00056 <a class="code" href="classDelay.html">Delay</a> outLeftDelay_;
00057 <a class="code" href="classDelay.html">Delay</a> outRightDelay_;
00058 StkFloat allpassCoefficient_;
00059 StkFloat combCoefficient_[4];
00060
00061 };
00062
00063 <span class="preprocessor">#endif</span>
00064 <span class="preprocessor"></span>
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="keyword">public</span>:
<a name="l00027"></a>00027 <a class="code" href="classJCRev.html#a0">JCRev</a>( StkFloat T60 = 1.0 );
<a name="l00028"></a>00028
<a name="l00030"></a>00030 <a class="code" href="classJCRev.html#a1">~JCRev</a>();
<a name="l00031"></a>00031
<a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a2">clear</a>();
<a name="l00034"></a>00034
<a name="l00036"></a>00036 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a3">setT60</a>( StkFloat T60 );
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="keyword">protected</span>:
<a name="l00039"></a>00039
<a name="l00040"></a>00040 StkFloat computeSample( StkFloat input );
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[3];
<a name="l00043"></a>00043 <a class="code" href="classDelay.html">Delay</a> combDelays_[4];
<a name="l00044"></a>00044 <a class="code" href="classDelay.html">Delay</a> outLeftDelay_;
<a name="l00045"></a>00045 <a class="code" href="classDelay.html">Delay</a> outRightDelay_;
<a name="l00046"></a>00046 StkFloat allpassCoefficient_;
<a name="l00047"></a>00047 StkFloat combCoefficient_[4];
<a name="l00048"></a>00048
<a name="l00049"></a>00049 };
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="preprocessor">#endif</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span>
</pre></div><HR>
<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>

View File

@@ -8,39 +8,36 @@
<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>JetTable.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00014 <span class="comment">/***************************************************/</span>
00015
00016 <span class="preprocessor">#ifndef STK_JETTABL_H</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_JETTABL_H</span>
00018 <span class="preprocessor"></span>
00019 <span class="preprocessor">#include "Function.h"</span>
00020
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>JetTable.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00014"></a>00014 <span class="comment">/***************************************************/</span>
<a name="l00015"></a>00015
<a name="l00016"></a>00016 <span class="preprocessor">#ifndef STK_JETTABL_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_JETTABL_H</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include "Function.h"</span>
<a name="l00020"></a>00020
<a name="l00021"></a><a class="code" href="classJetTable.html">00021</a> <span class="keyword">class </span><a class="code" href="classJetTable.html">JetTable</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a>
00022 {
00023 <span class="keyword">public</span>:
00025 <a class="code" href="classJetTable.html#a0">JetTable</a>();
00026
00028 <a class="code" href="classJetTable.html#a1">~JetTable</a>();
00029
00031 StkFloat <a class="code" href="classJetTable.html#a2">tick</a>(StkFloat input);
00032
00034 StkFloat *<a class="code" href="classJetTable.html#a2">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00035
00037
00043 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classJetTable.html#a2">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00044
00045 <span class="keyword">protected</span>:
00046
00047 };
00048
00049 <span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023 <span class="keyword">public</span>:
<a name="l00025"></a>00025 <a class="code" href="classJetTable.html#a0">JetTable</a>();
<a name="l00026"></a>00026
<a name="l00028"></a>00028 <a class="code" href="classJetTable.html#a1">~JetTable</a>();
<a name="l00029"></a>00029
<a name="l00030"></a>00030 <span class="keyword">protected</span>:
<a name="l00031"></a>00031
<a name="l00032"></a>00032 StkFloat computeSample( StkFloat input );
<a name="l00033"></a>00033
<a name="l00034"></a>00034 };
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,53 +8,51 @@
<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>Mandolin.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00028 <span class="comment">/***************************************************/</span>
00029
00030 <span class="preprocessor">#ifndef STK_MANDOLIN_H</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define STK_MANDOLIN_H</span>
00032 <span class="preprocessor"></span>
00033 <span class="preprocessor">#include "PluckTwo.h"</span>
00034 <span class="preprocessor">#include "WvIn.h"</span>
00035
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Mandolin.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00028"></a>00028 <span class="comment">/***************************************************/</span>
<a name="l00029"></a>00029
<a name="l00030"></a>00030 <span class="preprocessor">#ifndef STK_MANDOLIN_H</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define STK_MANDOLIN_H</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span>
<a name="l00033"></a>00033 <span class="preprocessor">#include "PluckTwo.h"</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include "FileWvIn.h"</span>
<a name="l00035"></a>00035
<a name="l00036"></a><a class="code" href="classMandolin.html">00036</a> <span class="keyword">class </span><a class="code" href="classMandolin.html">Mandolin</a> : <span class="keyword">public</span> <a class="code" href="classPluckTwo.html">PluckTwo</a>
00037 {
00038 <span class="keyword">public</span>:
00040 <a class="code" href="classMandolin.html#a0">Mandolin</a>(StkFloat lowestFrequency);
00041
00043 <a class="code" href="classMandolin.html#a1">~Mandolin</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(StkFloat amplitude);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(StkFloat amplitude,StkFloat position);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a4">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a5">setBodySize</a>(StkFloat size);
00056
00058 StkFloat <a class="code" href="classMandolin.html#a6">tick</a>();
00059
00061 StkFloat *<a class="code" href="classMandolin.html#a6">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00062
00064
00070 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classMandolin.html#a6">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00071
00073 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00074
00075 <span class="keyword">protected</span>:
00076 <a class="code" href="classWvIn.html">WvIn</a> *soundfile_[12];
00077 <span class="keywordtype">int</span> mic_;
00078 <span class="keywordtype">long</span> dampTime_;
00079 <span class="keywordtype">bool</span> waveDone_;
00080 };
00081
00082 <span class="preprocessor">#endif</span>
<a name="l00037"></a>00037 {
<a name="l00038"></a>00038 <span class="keyword">public</span>:
<a name="l00040"></a>00040 <a class="code" href="classMandolin.html#a0">Mandolin</a>(StkFloat lowestFrequency);
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <a class="code" href="classMandolin.html#a1">~Mandolin</a>();
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(StkFloat amplitude);
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(StkFloat amplitude,StkFloat position);
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a4">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a5">setBodySize</a>(StkFloat size);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a6">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="keyword">protected</span>:
<a name="l00061"></a>00061
<a name="l00062"></a>00062 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <a class="code" href="classFileWvIn.html">FileWvIn</a> *soundfile_[12];
<a name="l00065"></a>00065 <span class="keywordtype">int</span> mic_;
<a name="l00066"></a>00066 <span class="keywordtype">long</span> dampTime_;
<a name="l00067"></a>00067 <span class="keywordtype">bool</span> waveDone_;
<a name="l00068"></a>00068 };
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,84 +8,81 @@
<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>Mesh2D.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00025 <span class="comment">/***************************************************/</span>
00026
00027 <span class="preprocessor">#ifndef STK_MESH2D_H</span>
00028 <span class="preprocessor"></span><span class="preprocessor">#define STK_MESH2D_H</span>
00029 <span class="preprocessor"></span>
00030 <span class="preprocessor">#include "Instrmnt.h"</span>
00031 <span class="preprocessor">#include "OnePole.h"</span>
00032
00033 <span class="keyword">const</span> <span class="keywordtype">short</span> NXMAX = 12;
00034 <span class="keyword">const</span> <span class="keywordtype">short</span> NYMAX = 12;
00035
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Mesh2D.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00025"></a>00025 <span class="comment">/***************************************************/</span>
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="preprocessor">#ifndef STK_MESH2D_H</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define STK_MESH2D_H</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span>
<a name="l00030"></a>00030 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="keyword">const</span> <span class="keywordtype">short</span> NXMAX = 12;
<a name="l00034"></a>00034 <span class="keyword">const</span> <span class="keywordtype">short</span> NYMAX = 12;
<a name="l00035"></a>00035
<a name="l00036"></a><a class="code" href="classMesh2D.html">00036</a> <span class="keyword">class </span><a class="code" href="classMesh2D.html">Mesh2D</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00037 {
00038 <span class="keyword">public</span>:
00040 <a class="code" href="classMesh2D.html#a0">Mesh2D</a>(<span class="keywordtype">short</span> nX, <span class="keywordtype">short</span> nY);
00041
00043 <a class="code" href="classMesh2D.html#a1">~Mesh2D</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a2">clear</a>();
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a3">setNX</a>(<span class="keywordtype">short</span> lenX);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a4">setNY</a>(<span class="keywordtype">short</span> lenY);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a5">setInputPosition</a>(StkFloat xFactor, StkFloat yFactor);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a6">setDecay</a>(StkFloat decayFactor);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a8">noteOff</a>(StkFloat amplitude);
00065
00067 StkFloat <a class="code" href="classMesh2D.html#a9">energy</a>();
00068
00070 StkFloat <a class="code" href="classMesh2D.html#a10">tick</a>();
00071
00073 StkFloat <a class="code" href="classMesh2D.html#a10">tick</a>(StkFloat input);
00074
00076 StkFloat *<a class="code" href="classMesh2D.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00077
00079
00085 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classMesh2D.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00086
00088 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a14">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00089
00090 <span class="keyword">protected</span>:
00091
00092 StkFloat tick0();
00093 StkFloat tick1();
00094 <span class="keywordtype">void</span> clearMesh();
00095
00096 <span class="keywordtype">short</span> NX_, NY_;
00097 <span class="keywordtype">short</span> xInput_, yInput_;
00098 <a class="code" href="classOnePole.html">OnePole</a> filterX_[NXMAX];
00099 <a class="code" href="classOnePole.html">OnePole</a> filterY_[NYMAX];
00100 StkFloat v_[NXMAX-1][NYMAX-1]; <span class="comment">// junction velocities</span>
00101 StkFloat vxp_[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
00102 StkFloat vxm_[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
00103 StkFloat vyp_[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
00104 StkFloat vym_[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
00105
00106 <span class="comment">// Alternate buffers</span>
00107 StkFloat vxp1_[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
00108 StkFloat vxm1_[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
00109 StkFloat vyp1_[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
00110 StkFloat vym1_[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
00111
00112 <span class="keywordtype">int</span> counter_; <span class="comment">// time in samples</span>
00113 };
00114
00115 <span class="preprocessor">#endif</span>
<a name="l00037"></a>00037 {
<a name="l00038"></a>00038 <span class="keyword">public</span>:
<a name="l00040"></a>00040 <a class="code" href="classMesh2D.html#a0">Mesh2D</a>(<span class="keywordtype">short</span> nX, <span class="keywordtype">short</span> nY);
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <a class="code" href="classMesh2D.html#a1">~Mesh2D</a>();
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a2">clear</a>();
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a3">setNX</a>(<span class="keywordtype">short</span> lenX);
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a4">setNY</a>(<span class="keywordtype">short</span> lenY);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a5">setInputPosition</a>(StkFloat xFactor, StkFloat yFactor);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a6">setDecay</a>(StkFloat decayFactor);
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00062"></a>00062
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a8">noteOff</a>(StkFloat amplitude);
<a name="l00065"></a>00065
<a name="l00067"></a>00067 StkFloat <a class="code" href="classMesh2D.html#a9">energy</a>();
<a name="l00068"></a>00068
<a name="l00070"></a>00070 StkFloat <a class="code" href="classMesh2D.html#a10">inputTick</a>( StkFloat input );
<a name="l00071"></a>00071
<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="keyword">protected</span>:
<a name="l00076"></a>00076
<a name="l00077"></a>00077 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00078"></a>00078
<a name="l00079"></a>00079 StkFloat tick0();
<a name="l00080"></a>00080 StkFloat tick1();
<a name="l00081"></a>00081 <span class="keywordtype">void</span> clearMesh();
<a name="l00082"></a>00082
<a name="l00083"></a>00083 <span class="keywordtype">short</span> NX_, NY_;
<a name="l00084"></a>00084 <span class="keywordtype">short</span> xInput_, yInput_;
<a name="l00085"></a>00085 <a class="code" href="classOnePole.html">OnePole</a> filterX_[NXMAX];
<a name="l00086"></a>00086 <a class="code" href="classOnePole.html">OnePole</a> filterY_[NYMAX];
<a name="l00087"></a>00087 StkFloat v_[NXMAX-1][NYMAX-1]; <span class="comment">// junction velocities</span>
<a name="l00088"></a>00088 StkFloat vxp_[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
<a name="l00089"></a>00089 StkFloat vxm_[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
<a name="l00090"></a>00090 StkFloat vyp_[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
<a name="l00091"></a>00091 StkFloat vym_[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
<a name="l00092"></a>00092
<a name="l00093"></a>00093 <span class="comment">// Alternate buffers</span>
<a name="l00094"></a>00094 StkFloat vxp1_[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
<a name="l00095"></a>00095 StkFloat vxm1_[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
<a name="l00096"></a>00096 StkFloat vyp1_[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
<a name="l00097"></a>00097 StkFloat vym1_[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="keywordtype">int</span> counter_; <span class="comment">// time in samples</span>
<a name="l00100"></a>00100 };
<a name="l00101"></a>00101
<a name="l00102"></a>00102 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,99 +8,101 @@
<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>Messager.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00033 <span class="comment">/***************************************************/</span>
00034
00035 <span class="preprocessor">#ifndef STK_MESSAGER_H</span>
00036 <span class="preprocessor"></span><span class="preprocessor">#define STK_MESSAGER_H</span>
00037 <span class="preprocessor"></span>
00038 <span class="preprocessor">#include "Stk.h"</span>
00039 <span class="preprocessor">#include "Skini.h"</span>
00040 <span class="preprocessor">#include &lt;queue&gt;</span>
00041
00042 <span class="keyword">const</span> <span class="keywordtype">int</span> DEFAULT_QUEUE_LIMIT = 200;
00043
00044 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00045 <span class="preprocessor"></span>
00046 <span class="preprocessor">#include "Mutex.h"</span>
00047 <span class="preprocessor">#include "Thread.h"</span>
00048 <span class="preprocessor">#include "Socket.h"</span>
00049 <span class="preprocessor">#include "RtMidi.h"</span>
00050
00051 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> THREAD_RETURN THREAD_TYPE stdinHandler(<span class="keywordtype">void</span> * ptr);
00052
00053 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> THREAD_RETURN THREAD_TYPE socketHandler(<span class="keywordtype">void</span> * ptr);
00054
00055 <span class="preprocessor">#endif // __STK_REALTIME__</span>
00056 <span class="preprocessor"></span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Messager.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00033"></a>00033 <span class="comment">/***************************************************/</span>
<a name="l00034"></a>00034
<a name="l00035"></a>00035 <span class="preprocessor">#ifndef STK_MESSAGER_H</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#define STK_MESSAGER_H</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a>00038 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00039"></a>00039 <span class="preprocessor">#include "Skini.h"</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;queue&gt;</span>
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="keyword">const</span> <span class="keywordtype">int</span> DEFAULT_QUEUE_LIMIT = 200;
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span>
<a name="l00046"></a>00046 <span class="preprocessor">#include "Mutex.h"</span>
<a name="l00047"></a>00047 <span class="preprocessor">#include "Thread.h"</span>
<a name="l00048"></a>00048 <span class="preprocessor">#include "TcpServer.h"</span>
<a name="l00049"></a>00049 <span class="preprocessor">#include "RtMidi.h"</span>
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> THREAD_RETURN THREAD_TYPE stdinHandler(<span class="keywordtype">void</span> * ptr);
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> THREAD_RETURN THREAD_TYPE socketHandler(<span class="keywordtype">void</span> * ptr);
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="preprocessor">#endif // __STK_REALTIME__</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span>
<a name="l00057"></a><a class="code" href="classMessager.html">00057</a> <span class="keyword">class </span><a class="code" href="classMessager.html">Messager</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00058 {
00059 <span class="keyword">public</span>:
00060
00061 <span class="comment">// This structure is used to share data among the various realtime</span>
00062 <span class="comment">// messager threads. It must be public.</span>
00063 <span class="keyword">struct </span>MessagerData {
00064 <a class="code" href="classSkini.html">Skini</a> skini;
00065 std::queue&lt;Skini::Message&gt; queue;
00066 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueLimit;
00067 <span class="keywordtype">int</span> sources;
00068
00069 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00070 <span class="preprocessor"></span> <a class="code" href="classMutex.html">Mutex</a> mutex;
00071 <a class="code" href="classRtMidiIn.html">RtMidiIn</a> *midi;
00072 <a class="code" href="classSocket.html">Socket</a> *socket;
00073 std::vector&lt;int&gt; fd;
00074 fd_set mask;
00075 <span class="preprocessor">#endif</span>
00076 <span class="preprocessor"></span>
00077 <span class="comment">// Default constructor.</span>
00078 MessagerData()
00079 :queueLimit(0), sources(0) {}
00080 };
00081
00083 <a class="code" href="classMessager.html#a0">Messager</a>();
00084
00086 <a class="code" href="classMessager.html#a1">~Messager</a>();
00087
00089
00095 <span class="keywordtype">void</span> <a class="code" href="classMessager.html#a2">popMessage</a>( <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00096
00098 <span class="keywordtype">void</span> <a class="code" href="classMessager.html#a3">pushMessage</a>( <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00099
00101
00109 <span class="keywordtype">bool</span> <a class="code" href="classMessager.html#a4">setScoreFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* filename );
00110
00111 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00112 <span class="preprocessor"></span>
00113
00122 <span class="keywordtype">bool</span> startStdInput();
00123
00125
00136 <span class="keywordtype">bool</span> startSocketInput( <span class="keywordtype">int</span> port=2001 );
00137
00139
00151 <span class="keywordtype">bool</span> startMidiInput( <span class="keywordtype">int</span> port=0 );
00152
00153 <span class="preprocessor">#endif</span>
00154 <span class="preprocessor"></span>
00155 <span class="keyword">protected</span>:
00156
00157 MessagerData data_;
00158
00159 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00160 <span class="preprocessor"></span> <a class="code" href="classThread.html">Thread</a> stdinThread_;
00161 <a class="code" href="classThread.html">Thread</a> socketThread_;
00162 <span class="preprocessor">#endif</span>
00163 <span class="preprocessor"></span>
00164 };
00165
00166 <span class="preprocessor">#endif</span>
<a name="l00058"></a>00058 {
<a name="l00059"></a>00059 <span class="keyword">public</span>:
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="comment">// This structure is used to share data among the various realtime</span>
<a name="l00062"></a>00062 <span class="comment">// messager threads. It must be public.</span>
<a name="l00063"></a>00063 <span class="keyword">struct </span>MessagerData {
<a name="l00064"></a>00064 <a class="code" href="classSkini.html">Skini</a> skini;
<a name="l00065"></a>00065 std::queue&lt;Skini::Message&gt; queue;
<a name="l00066"></a>00066 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueLimit;
<a name="l00067"></a>00067 <span class="keywordtype">int</span> sources;
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
<a name="l00070"></a>00070 <span class="preprocessor"></span> <a class="code" href="classMutex.html">Mutex</a> mutex;
<a name="l00071"></a>00071 <a class="code" href="classRtMidiIn.html">RtMidiIn</a> *midi;
<a name="l00072"></a>00072 <a class="code" href="classTcpServer.html">TcpServer</a> *socket;
<a name="l00073"></a>00073 std::vector&lt;int&gt; fd;
<a name="l00074"></a>00074 fd_set mask;
<a name="l00075"></a>00075 <span class="preprocessor">#endif</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span>
<a name="l00077"></a>00077 <span class="comment">// Default constructor.</span>
<a name="l00078"></a>00078 MessagerData()
<a name="l00079"></a>00079 :queueLimit(0), sources(0) {}
<a name="l00080"></a>00080 };
<a name="l00081"></a>00081
<a name="l00083"></a>00083 <a class="code" href="classMessager.html#a0">Messager</a>();
<a name="l00084"></a>00084
<a name="l00086"></a>00086 <a class="code" href="classMessager.html#a1">~Messager</a>();
<a name="l00087"></a>00087
<a name="l00089"></a>00089
<a name="l00095"></a>00095 <span class="keywordtype">void</span> <a class="code" href="classMessager.html#a2">popMessage</a>( <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
<a name="l00096"></a>00096
<a name="l00098"></a>00098 <span class="keywordtype">void</span> <a class="code" href="classMessager.html#a3">pushMessage</a>( <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
<a name="l00099"></a>00099
<a name="l00101"></a>00101
<a name="l00109"></a>00109 <span class="keywordtype">bool</span> <a class="code" href="classMessager.html#a4">setScoreFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* filename );
<a name="l00110"></a>00110
<a name="l00111"></a>00111 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
<a name="l00112"></a>00112 <span class="preprocessor"></span>
<a name="l00113"></a>00113
<a name="l00122"></a>00122 <span class="keywordtype">bool</span> <a class="code" href="classMessager.html#a5">startStdInput</a>();
<a name="l00123"></a>00123
<a name="l00125"></a>00125
<a name="l00136"></a>00136 <span class="keywordtype">bool</span> <a class="code" href="classMessager.html#a6">startSocketInput</a>( <span class="keywordtype">int</span> port=2001 );
<a name="l00137"></a>00137
<a name="l00139"></a>00139
<a name="l00151"></a>00151 <span class="keywordtype">bool</span> <a class="code" href="classMessager.html#a7">startMidiInput</a>( <span class="keywordtype">int</span> port=0 );
<a name="l00152"></a>00152
<a name="l00153"></a>00153 <span class="preprocessor">#endif</span>
<a name="l00154"></a>00154 <span class="preprocessor"></span>
<a name="l00155"></a>00155 <span class="keyword">protected</span>:
<a name="l00156"></a>00156
<a name="l00157"></a>00157 MessagerData data_;
<a name="l00158"></a>00158
<a name="l00159"></a>00159 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
<a name="l00160"></a>00160 <span class="preprocessor"></span> <a class="code" href="classThread.html">Thread</a> stdinThread_;
<a name="l00161"></a>00161 <a class="code" href="classThread.html">Thread</a> socketThread_;
<a name="l00162"></a>00162 <span class="preprocessor">#endif</span>
<a name="l00163"></a>00163 <span class="preprocessor"></span>
<a name="l00164"></a>00164 };
<a name="l00165"></a>00165
<a name="l00166"></a>00166 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,84 +8,86 @@
<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>MidiFileIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/**********************************************************************/</span>
00016 <span class="comment">/**********************************************************************/</span>
00017
00018 <span class="preprocessor">#ifndef STK_MIDIFILEIN_H</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_MIDIFILEIN_H</span>
00020 <span class="preprocessor"></span>
00021 <span class="preprocessor">#include "Stk.h"</span>
00022 <span class="preprocessor">#include &lt;string&gt;</span>
00023 <span class="preprocessor">#include &lt;vector&gt;</span>
00024 <span class="preprocessor">#include &lt;fstream&gt;</span>
00025 <span class="preprocessor">#include &lt;sstream&gt;</span>
00026
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>MidiFileIn.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/**********************************************************************/</span>
<a name="l00016"></a>00016 <span class="comment">/**********************************************************************/</span>
<a name="l00017"></a>00017
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef STK_MIDIFILEIN_H</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_MIDIFILEIN_H</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;fstream&gt;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;sstream&gt;</span>
<a name="l00026"></a>00026
<a name="l00027"></a><a class="code" href="classMidiFileIn.html">00027</a> <span class="keyword">class </span><a class="code" href="classMidiFileIn.html">MidiFileIn</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00028 {
00029 <span class="keyword">public</span>:
00031
00035 <a class="code" href="classMidiFileIn.html#a0">MidiFileIn</a>( std::string fileName );
00036
00038 <a class="code" href="classMidiFileIn.html#a1">~MidiFileIn</a>();
00039
00041 <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a2">getFileFormat</a>() <span class="keyword">const</span>;
00042
00044 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a3">getNumberOfTracks</a>() <span class="keyword">const</span>;
00045
00047
00052 <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a4">getDivision</a>() <span class="keyword">const</span>;
00053
00055
00059 <span class="keywordtype">void</span> <a class="code" href="classMidiFileIn.html#a5">rewindTrack</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00060
00062
00069 <span class="keywordtype">double</span> <a class="code" href="classMidiFileIn.html#a6">getTickSeconds</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00070
00072
00084 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMidiFileIn.html#a7">getNextEvent</a>( std::vector&lt;unsigned char&gt; *event, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00085
00087
00097 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMidiFileIn.html#a8">getNextMidiEvent</a>( std::vector&lt;unsigned char&gt; *midiEvent, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00098
00099 <span class="keyword">protected</span>:
00100
00101 <span class="comment">// This protected class function is used for reading variable-length</span>
00102 <span class="comment">// MIDI file values. It is assumed that this function is called with</span>
00103 <span class="comment">// the file read pointer positioned at the start of a</span>
00104 <span class="comment">// variable-length value. The function returns true if the value is</span>
00105 <span class="comment">// successfully parsed. Otherwise, it returns false.</span>
00106 <span class="keywordtype">bool</span> readVariableLength( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *value );
00107
00108 std::ifstream file_;
00109 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nTracks_;
00110 <span class="keywordtype">int</span> format_;
00111 <span class="keywordtype">int</span> division_;
00112 <span class="keywordtype">bool</span> usingTimeCode_;
00113 std::vector&lt;double&gt; tickSeconds_;
00114 std::vector&lt;long&gt; trackPointers_;
00115 std::vector&lt;long&gt; trackOffsets_;
00116 std::vector&lt;long&gt; trackLengths_;
00117 std::vector&lt;char&gt; trackStatus_;
00118
00119 <span class="comment">// This structure and the following variables are used to save and</span>
00120 <span class="comment">// keep track of a format 1 tempo map (and the initial tickSeconds</span>
00121 <span class="comment">// parameter for formats 0 and 2).</span>
00122 <span class="keyword">struct </span>TempoChange {
00123 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> count;
00124 <span class="keywordtype">double</span> tickSeconds;
00125 };
00126 std::vector&lt;TempoChange&gt; tempoEvents_;
00127 std::vector&lt;unsigned long&gt; trackCounters_;
00128 std::vector&lt;unsigned int&gt; trackTempoIndex_;
00129 };
00130
00131 <span class="preprocessor">#endif</span>
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">public</span>:
<a name="l00031"></a>00031
<a name="l00035"></a>00035 <a class="code" href="classMidiFileIn.html#a0">MidiFileIn</a>( std::string fileName );
<a name="l00036"></a>00036
<a name="l00038"></a>00038 <a class="code" href="classMidiFileIn.html#a1">~MidiFileIn</a>();
<a name="l00039"></a>00039
<a name="l00041"></a>00041 <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a2">getFileFormat</a>() <span class="keyword">const</span>;
<a name="l00042"></a>00042
<a name="l00044"></a>00044 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a3">getNumberOfTracks</a>() <span class="keyword">const</span>;
<a name="l00045"></a>00045
<a name="l00047"></a>00047
<a name="l00052"></a>00052 <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a4">getDivision</a>() <span class="keyword">const</span>;
<a name="l00053"></a>00053
<a name="l00055"></a>00055
<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classMidiFileIn.html#a5">rewindTrack</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
<a name="l00060"></a>00060
<a name="l00062"></a>00062
<a name="l00069"></a>00069 <span class="keywordtype">double</span> <a class="code" href="classMidiFileIn.html#a6">getTickSeconds</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
<a name="l00070"></a>00070
<a name="l00072"></a>00072
<a name="l00084"></a>00084 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMidiFileIn.html#a7">getNextEvent</a>( std::vector&lt;unsigned char&gt; *event, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
<a name="l00085"></a>00085
<a name="l00087"></a>00087
<a name="l00097"></a>00097 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMidiFileIn.html#a8">getNextMidiEvent</a>( std::vector&lt;unsigned char&gt; *midiEvent, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="keyword">protected</span>:
<a name="l00100"></a>00100
<a name="l00101"></a>00101 <span class="comment">// This protected class function is used for reading variable-length</span>
<a name="l00102"></a>00102 <span class="comment">// MIDI file values. It is assumed that this function is called with</span>
<a name="l00103"></a>00103 <span class="comment">// the file read pointer positioned at the start of a</span>
<a name="l00104"></a>00104 <span class="comment">// variable-length value. The function returns true if the value is</span>
<a name="l00105"></a>00105 <span class="comment">// successfully parsed. Otherwise, it returns false.</span>
<a name="l00106"></a>00106 <span class="keywordtype">bool</span> readVariableLength( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *value );
<a name="l00107"></a>00107
<a name="l00108"></a>00108 std::ifstream file_;
<a name="l00109"></a>00109 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nTracks_;
<a name="l00110"></a>00110 <span class="keywordtype">int</span> format_;
<a name="l00111"></a>00111 <span class="keywordtype">int</span> division_;
<a name="l00112"></a>00112 <span class="keywordtype">bool</span> usingTimeCode_;
<a name="l00113"></a>00113 std::vector&lt;double&gt; tickSeconds_;
<a name="l00114"></a>00114 std::vector&lt;long&gt; trackPointers_;
<a name="l00115"></a>00115 std::vector&lt;long&gt; trackOffsets_;
<a name="l00116"></a>00116 std::vector&lt;long&gt; trackLengths_;
<a name="l00117"></a>00117 std::vector&lt;char&gt; trackStatus_;
<a name="l00118"></a>00118
<a name="l00119"></a>00119 <span class="comment">// This structure and the following variables are used to save and</span>
<a name="l00120"></a>00120 <span class="comment">// keep track of a format 1 tempo map (and the initial tickSeconds</span>
<a name="l00121"></a>00121 <span class="comment">// parameter for formats 0 and 2).</span>
<a name="l00122"></a>00122 <span class="keyword">struct </span>TempoChange {
<a name="l00123"></a>00123 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> count;
<a name="l00124"></a>00124 <span class="keywordtype">double</span> tickSeconds;
<a name="l00125"></a>00125 };
<a name="l00126"></a>00126 std::vector&lt;TempoChange&gt; tempoEvents_;
<a name="l00127"></a>00127 std::vector&lt;unsigned long&gt; trackCounters_;
<a name="l00128"></a>00128 std::vector&lt;unsigned int&gt; trackTempoIndex_;
<a name="l00129"></a>00129 };
<a name="l00130"></a>00130
<a name="l00131"></a>00131 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,39 +8,41 @@
<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>ModalBar.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00029 <span class="comment">/***************************************************/</span>
00030
00031 <span class="preprocessor">#ifndef STK_MODALBAR_H</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODALBAR_H</span>
00033 <span class="preprocessor"></span>
00034 <span class="preprocessor">#include "Modal.h"</span>
00035
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>ModalBar.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00029"></a>00029 <span class="comment">/***************************************************/</span>
<a name="l00030"></a>00030
<a name="l00031"></a>00031 <span class="preprocessor">#ifndef STK_MODALBAR_H</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODALBAR_H</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span>
<a name="l00034"></a>00034 <span class="preprocessor">#include "Modal.h"</span>
<a name="l00035"></a>00035
<a name="l00036"></a><a class="code" href="classModalBar.html">00036</a> <span class="keyword">class </span><a class="code" href="classModalBar.html">ModalBar</a> : <span class="keyword">public</span> <a class="code" href="classModal.html">Modal</a>
00037 {
00038 <span class="keyword">public</span>:
00040 <a class="code" href="classModalBar.html#a0">ModalBar</a>();
00041
00043 <a class="code" href="classModalBar.html#a1">~ModalBar</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a2">setStickHardness</a>(StkFloat hardness);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a3">setStrikePosition</a>(StkFloat position);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a5">setModulationDepth</a>(StkFloat mDepth);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a6">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00059 };
00060
00061 <span class="preprocessor">#endif</span>
<a name="l00037"></a>00037 {
<a name="l00038"></a>00038 <span class="keyword">public</span>:
<a name="l00040"></a>00040 <a class="code" href="classModalBar.html#a0">ModalBar</a>();
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <a class="code" href="classModalBar.html#a1">~ModalBar</a>();
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a2">setStickHardness</a>(StkFloat hardness);
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a3">setStrikePosition</a>(StkFloat position);
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a5">setModulationDepth</a>(StkFloat mDepth);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a6">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00059"></a>00059 };
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,81 +8,80 @@
<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>Modal.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00012 <span class="comment">/***************************************************/</span>
00013
00014 <span class="preprocessor">#ifndef STK_MODAL_H</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODAL_H</span>
00016 <span class="preprocessor"></span>
00017 <span class="preprocessor">#include "Instrmnt.h"</span>
00018 <span class="preprocessor">#include "Envelope.h"</span>
00019 <span class="preprocessor">#include "WaveLoop.h"</span>
00020 <span class="preprocessor">#include "BiQuad.h"</span>
00021 <span class="preprocessor">#include "OnePole.h"</span>
00022
<a name="l00023"></a><a class="code" href="classModal.html">00023</a> <span class="keyword">class </span><a class="code" href="classModal.html">Modal</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00024 {
00025 <span class="keyword">public</span>:
00027
00030 <a class="code" href="classModal.html#a0">Modal</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modes = 4 );
00031
00033 <span class="keyword">virtual</span> <a class="code" href="classModal.html#a1">~Modal</a>();
00034
00036 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a2">clear</a>();
00037
00039 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a3">setFrequency</a>(StkFloat frequency);
00040
00042 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a4">setRatioAndRadius</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modeIndex, StkFloat ratio, StkFloat radius);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a5">setMasterGain</a>(StkFloat aGain);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a6">setDirectGain</a>(StkFloat aGain);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a7">setModeGain</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modeIndex, StkFloat gain);
00052
00054 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a8">strike</a>(StkFloat amplitude);
00055
00057 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a9">damp</a>(StkFloat amplitude);
00058
00060 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a10">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00061
00063 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a11">noteOff</a>(StkFloat amplitude);
00064
00066 <span class="keyword">virtual</span> StkFloat <a class="code" href="classModal.html#a12">tick</a>();
00067
00069 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classModal.html#a12">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070
00072
00078 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classModal.html#a12">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00079
00081 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a15">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value) = 0;
00082
00083 <span class="keyword">protected</span>:
00084 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00085 <a class="code" href="classWvIn.html">WvIn</a> *wave_;
00086 <a class="code" href="classBiQuad.html">BiQuad</a> **filters_;
00087 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
00088 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00089
00090 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nModes_;
00091 std::vector&lt;StkFloat&gt; ratios_;
00092 std::vector&lt;StkFloat&gt; radii_;
00093
00094 StkFloat vibratoGain_;
00095 StkFloat masterGain_;
00096 StkFloat directGain_;
00097 StkFloat stickHardness_;
00098 StkFloat strikePosition_;
00099 StkFloat baseFrequency_;
00100 };
00101
00102 <span class="preprocessor">#endif</span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Modal.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00012"></a>00012 <span class="comment">/***************************************************/</span>
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef STK_MODAL_H</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODAL_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "Envelope.h"</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include "WaveLoop.h"</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "BiQuad.h"</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00023"></a>00023
<a name="l00024"></a><a class="code" href="classModal.html">00024</a> <span class="keyword">class </span><a class="code" href="classModal.html">Modal</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
<a name="l00025"></a>00025 {
<a name="l00026"></a>00026 <span class="keyword">public</span>:
<a name="l00028"></a>00028
<a name="l00031"></a>00031 <a class="code" href="classModal.html#a0">Modal</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modes = 4 );
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <span class="keyword">virtual</span> <a class="code" href="classModal.html#a1">~Modal</a>();
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a2">clear</a>();
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a4">setRatioAndRadius</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modeIndex, StkFloat ratio, StkFloat radius);
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a5">setMasterGain</a>(StkFloat aGain);
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a6">setDirectGain</a>(StkFloat aGain);
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a7">setModeGain</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modeIndex, StkFloat gain);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a8">strike</a>(StkFloat amplitude);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a9">damp</a>(StkFloat amplitude);
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a10">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00062"></a>00062
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a11">noteOff</a>(StkFloat amplitude);
<a name="l00065"></a>00065
<a name="l00067"></a>00067 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value) = 0;
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="keyword">protected</span>:
<a name="l00070"></a>00070
<a name="l00071"></a>00071 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
<a name="l00074"></a>00074 <a class="code" href="classFileWvIn.html">FileWvIn</a> *wave_;
<a name="l00075"></a>00075 <a class="code" href="classBiQuad.html">BiQuad</a> **filters_;
<a name="l00076"></a>00076 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
<a name="l00077"></a>00077 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nModes_;
<a name="l00080"></a>00080 std::vector&lt;StkFloat&gt; ratios_;
<a name="l00081"></a>00081 std::vector&lt;StkFloat&gt; radii_;
<a name="l00082"></a>00082
<a name="l00083"></a>00083 StkFloat vibratoGain_;
<a name="l00084"></a>00084 StkFloat masterGain_;
<a name="l00085"></a>00085 StkFloat directGain_;
<a name="l00086"></a>00086 StkFloat stickHardness_;
<a name="l00087"></a>00087 StkFloat strikePosition_;
<a name="l00088"></a>00088 StkFloat baseFrequency_;
<a name="l00089"></a>00089 };
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,56 +8,54 @@
<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>Modulate.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00011 <span class="comment">/***************************************************/</span>
00012
00013 <span class="preprocessor">#ifndef STK_MODULATE_H</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODULATE_H</span>
00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Generator.h"</span>
00017 <span class="preprocessor">#include "WaveLoop.h"</span>
00018 <span class="preprocessor">#include "SubNoise.h"</span>
00019 <span class="preprocessor">#include "OnePole.h"</span>
00020
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Modulate.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00011"></a>00011 <span class="comment">/***************************************************/</span>
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef STK_MODULATE_H</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODULATE_H</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "Generator.h"</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "SubNoise.h"</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00020"></a>00020
<a name="l00021"></a><a class="code" href="classModulate.html">00021</a> <span class="keyword">class </span><a class="code" href="classModulate.html">Modulate</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
00022 {
00023 <span class="keyword">public</span>:
00025
00028 <a class="code" href="classModulate.html#a0">Modulate</a>();
00029
00031 <a class="code" href="classModulate.html#a1">~Modulate</a>();
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a2">reset</a>();
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a3">setVibratoRate</a>(StkFloat rate);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a4">setVibratoGain</a>(StkFloat gain);
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a5">setRandomGain</a>(StkFloat gain);
00044
00046 StkFloat <a class="code" href="classModulate.html#a6">tick</a>();
00047
00049 StkFloat *<a class="code" href="classModulate.html#a6">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00050
00052
00058 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classModulate.html#a6">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00059
00060 <span class="keyword">protected</span>:
00061 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00062 <a class="code" href="classSubNoise.html">SubNoise</a> noise_;
00063 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00064 StkFloat vibratoGain_;
00065 StkFloat randomGain_;
00066
00067 };
00068
00069 <span class="preprocessor">#endif</span>
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023 <span class="keyword">public</span>:
<a name="l00025"></a>00025
<a name="l00028"></a>00028 <a class="code" href="classModulate.html#a0">Modulate</a>();
<a name="l00029"></a>00029
<a name="l00031"></a>00031 <a class="code" href="classModulate.html#a1">~Modulate</a>();
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a2">reset</a>();
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a3">setVibratoRate</a>(StkFloat rate);
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a4">setVibratoGain</a>(StkFloat gain);
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a5">setRandomGain</a>(StkFloat gain);
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keyword">protected</span>:
<a name="l00046"></a>00046
<a name="l00047"></a>00047 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
<a name="l00050"></a>00050 <a class="code" href="classSubNoise.html">SubNoise</a> noise_;
<a name="l00051"></a>00051 <a class="code" href="classOnePole.html">OnePole</a> filter_;
<a name="l00052"></a>00052 StkFloat vibratoGain_;
<a name="l00053"></a>00053 StkFloat randomGain_;
<a name="l00054"></a>00054
<a name="l00055"></a>00055 };
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,55 +8,53 @@
<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>Moog.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span>
00020
00021 <span class="preprocessor">#ifndef STK_MOOG_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_MOOG_H</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Sampler.h"</span>
00025 <span class="preprocessor">#include "FormSwep.h"</span>
00026
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Moog.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00019"></a>00019 <span class="comment">/***************************************************/</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef STK_MOOG_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_MOOG_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "Sampler.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "FormSwep.h"</span>
<a name="l00026"></a>00026
<a name="l00027"></a><a class="code" href="classMoog.html">00027</a> <span class="keyword">class </span><a class="code" href="classMoog.html">Moog</a> : <span class="keyword">public</span> <a class="code" href="classSampler.html">Sampler</a>
00028 {
00029 <span class="keyword">public</span>:
00031
00034 <a class="code" href="classMoog.html#a0">Moog</a>();
00035
00037 <a class="code" href="classMoog.html#a1">~Moog</a>();
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a2">setFrequency</a>(StkFloat frequency);
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a4">setModulationSpeed</a>(StkFloat mSpeed);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a5">setModulationDepth</a>(StkFloat mDepth);
00050
00052 StkFloat <a class="code" href="classMoog.html#a6">tick</a>();
00053
00055 StkFloat *<a class="code" href="classMoog.html#a6">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00056
00058
00064 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classMoog.html#a6">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00068
00069 <span class="keyword">protected</span>:
00070 <a class="code" href="classFormSwep.html">FormSwep</a> filters_[2];
00071 StkFloat modDepth_;
00072 StkFloat filterQ_;
00073 StkFloat filterRate_;
00074
00075 };
00076
00077 <span class="preprocessor">#endif</span>
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">public</span>:
<a name="l00031"></a>00031
<a name="l00034"></a>00034 <a class="code" href="classMoog.html#a0">Moog</a>();
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <a class="code" href="classMoog.html#a1">~Moog</a>();
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a2">setFrequency</a>(StkFloat frequency);
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a4">setModulationSpeed</a>(StkFloat mSpeed);
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a5">setModulationDepth</a>(StkFloat mDepth);
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a6">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="keyword">protected</span>:
<a name="l00055"></a>00055
<a name="l00056"></a>00056 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <a class="code" href="classFormSwep.html">FormSwep</a> filters_[2];
<a name="l00059"></a>00059 StkFloat modDepth_;
<a name="l00060"></a>00060 StkFloat filterQ_;
<a name="l00061"></a>00061 StkFloat filterRate_;
<a name="l00062"></a>00062
<a name="l00063"></a>00063 };
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,60 +8,62 @@
<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>Mutex.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00012 <span class="comment">/***************************************************/</span>
00013
00014 <span class="preprocessor">#ifndef STK_MUTEX_H</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_MUTEX_H</span>
00016 <span class="preprocessor"></span>
00017 <span class="preprocessor">#include "Stk.h"</span>
00018
00019 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
00020 <span class="preprocessor"></span>
00021 <span class="preprocessor"> #include &lt;pthread.h&gt;</span>
00022 <span class="keyword">typedef</span> pthread_mutex_t MUTEX;
00023 <span class="keyword">typedef</span> pthread_cond_t CONDITION;
00024
00025 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span>
00026 <span class="preprocessor"></span>
00027 <span class="preprocessor"> #include &lt;windows.h&gt;</span>
00028 <span class="preprocessor"> #include &lt;process.h&gt;</span>
00029 <span class="keyword">typedef</span> CRITICAL_SECTION MUTEX;
00030 <span class="keyword">typedef</span> HANDLE CONDITION;
00031
00032 <span class="preprocessor">#endif</span>
00033 <span class="preprocessor"></span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Mutex.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00012"></a>00012 <span class="comment">/***************************************************/</span>
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef STK_MUTEX_H</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_MUTEX_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="preprocessor"> #include &lt;pthread.h&gt;</span>
<a name="l00022"></a>00022 <span class="keyword">typedef</span> pthread_mutex_t MUTEX;
<a name="l00023"></a>00023 <span class="keyword">typedef</span> pthread_cond_t CONDITION;
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="preprocessor"> #include &lt;windows.h&gt;</span>
<a name="l00028"></a>00028 <span class="preprocessor"> #include &lt;process.h&gt;</span>
<a name="l00029"></a>00029 <span class="keyword">typedef</span> CRITICAL_SECTION MUTEX;
<a name="l00030"></a>00030 <span class="keyword">typedef</span> HANDLE CONDITION;
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="preprocessor">#endif</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span>
<a name="l00034"></a><a class="code" href="classMutex.html">00034</a> <span class="keyword">class </span><a class="code" href="classMutex.html">Mutex</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00035 {
00036 <span class="keyword">public</span>:
00038 <a class="code" href="classMutex.html#a0">Mutex</a>();
00039
00041 <a class="code" href="classMutex.html#a1">~Mutex</a>();
00042
00044 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a2">lock</a>(<span class="keywordtype">void</span>);
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a3">unlock</a>(<span class="keywordtype">void</span>);
00048
00050
00054 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a4">wait</a>(<span class="keywordtype">void</span>);
00055
00057
00061 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a5">signal</a>(<span class="keywordtype">void</span>);
00062
00063 <span class="keyword">protected</span>:
00064
00065 MUTEX mutex_;
00066 CONDITION condition_;
00067
00068 };
00069
00070 <span class="preprocessor">#endif</span>
<a name="l00035"></a>00035 {
<a name="l00036"></a>00036 <span class="keyword">public</span>:
<a name="l00038"></a>00038 <a class="code" href="classMutex.html#a0">Mutex</a>();
<a name="l00039"></a>00039
<a name="l00041"></a>00041 <a class="code" href="classMutex.html#a1">~Mutex</a>();
<a name="l00042"></a>00042
<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a2">lock</a>(<span class="keywordtype">void</span>);
<a name="l00045"></a>00045
<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a3">unlock</a>(<span class="keywordtype">void</span>);
<a name="l00048"></a>00048
<a name="l00050"></a>00050
<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a4">wait</a>(<span class="keywordtype">void</span>);
<a name="l00055"></a>00055
<a name="l00057"></a>00057
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a5">signal</a>(<span class="keywordtype">void</span>);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">protected</span>:
<a name="l00064"></a>00064
<a name="l00065"></a>00065 MUTEX mutex_;
<a name="l00066"></a>00066 CONDITION condition_;
<a name="l00067"></a>00067
<a name="l00068"></a>00068 };
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,50 +8,48 @@
<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>NRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00017 <span class="comment">/***************************************************/</span>
00018
00019 <span class="preprocessor">#ifndef STK_NREV_H</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_NREV_H</span>
00021 <span class="preprocessor"></span>
00022 <span class="preprocessor">#include "Effect.h"</span>
00023 <span class="preprocessor">#include "Delay.h"</span>
00024
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>NRev.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00017"></a>00017 <span class="comment">/***************************************************/</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#ifndef STK_NREV_H</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_NREV_H</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 <span class="preprocessor">#include "Effect.h"</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "Delay.h"</span>
<a name="l00024"></a>00024
<a name="l00025"></a><a class="code" href="classNRev.html">00025</a> <span class="keyword">class </span><a class="code" href="classNRev.html">NRev</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00026 {
00027 <span class="keyword">public</span>:
00029 <a class="code" href="classNRev.html#a0">NRev</a>( StkFloat T60 = 1.0 );
00030
00032 <a class="code" href="classNRev.html#a1">~NRev</a>();
00033
00035 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a2">clear</a>();
00036
00038 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a3">setT60</a>( StkFloat T60 );
00039
00041 StkFloat <a class="code" href="classNRev.html#a4">tick</a>(StkFloat input);
00042
00044 StkFloat *<a class="code" href="classNRev.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00045
00047
00053 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classNRev.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00054
00055 <span class="keyword">protected</span>:
00056 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[8];
00057 <a class="code" href="classDelay.html">Delay</a> combDelays_[6];
00058 StkFloat allpassCoefficient_;
00059 StkFloat combCoefficient_[6];
00060 StkFloat lowpassState_;
00061
00062 };
00063
00064 <span class="preprocessor">#endif</span>
00065 <span class="preprocessor"></span>
<a name="l00026"></a>00026 {
<a name="l00027"></a>00027 <span class="keyword">public</span>:
<a name="l00029"></a>00029 <a class="code" href="classNRev.html#a0">NRev</a>( StkFloat T60 = 1.0 );
<a name="l00030"></a>00030
<a name="l00032"></a>00032 <a class="code" href="classNRev.html#a1">~NRev</a>();
<a name="l00033"></a>00033
<a name="l00035"></a>00035 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a2">clear</a>();
<a name="l00036"></a>00036
<a name="l00038"></a>00038 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a3">setT60</a>( StkFloat T60 );
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="keyword">protected</span>:
<a name="l00041"></a>00041
<a name="l00042"></a>00042 StkFloat computeSample( StkFloat input );
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[8];
<a name="l00045"></a>00045 <a class="code" href="classDelay.html">Delay</a> combDelays_[6];
<a name="l00046"></a>00046 StkFloat allpassCoefficient_;
<a name="l00047"></a>00047 StkFloat combCoefficient_[6];
<a name="l00048"></a>00048 StkFloat lowpassState_;
<a name="l00049"></a>00049
<a name="l00050"></a>00050 };
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="preprocessor">#endif</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span>
</pre></div><HR>
<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>

View File

@@ -8,46 +8,43 @@
<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>Noise.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00011 <span class="comment">/***************************************************/</span>
00012
00013 <span class="preprocessor">#ifndef STK_NOISE_H</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_NOISE_H</span>
00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Generator.h"</span>
00017
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Noise.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00011"></a>00011 <span class="comment">/***************************************************/</span>
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef STK_NOISE_H</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_NOISE_H</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "Generator.h"</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classNoise.html">00018</a> <span class="keyword">class </span><a class="code" href="classNoise.html">Noise</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
00019 {
00020 <span class="keyword">public</span>:
00021
00023 <a class="code" href="classNoise.html#a0">Noise</a>();
00024
00026
00030 <a class="code" href="classNoise.html#a0">Noise</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed );
00031
00033 <span class="keyword">virtual</span> <a class="code" href="classNoise.html#a2">~Noise</a>();
00034
00036
00040 <span class="keywordtype">void</span> <a class="code" href="classNoise.html#a3">setSeed</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed = 0 );
00041
00043 <span class="keyword">virtual</span> StkFloat <a class="code" href="classNoise.html#a4">tick</a>();
00044
00046 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classNoise.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00047
00049
00055 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classNoise.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00056
00057 <span class="keyword">protected</span>:
00058
00059 };
00060
00061 <span class="preprocessor">#endif</span>
<a name="l00019"></a>00019 {
<a name="l00020"></a>00020 <span class="keyword">public</span>:
<a name="l00021"></a>00021
<a name="l00023"></a>00023 <a class="code" href="classNoise.html#a0">Noise</a>();
<a name="l00024"></a>00024
<a name="l00026"></a>00026
<a name="l00030"></a>00030 <a class="code" href="classNoise.html#a0">Noise</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed );
<a name="l00031"></a>00031
<a name="l00033"></a>00033 <span class="keyword">virtual</span> <a class="code" href="classNoise.html#a2">~Noise</a>();
<a name="l00034"></a>00034
<a name="l00036"></a>00036
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classNoise.html#a3">setSeed</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed = 0 );
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="keyword">protected</span>:
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="keyword">virtual</span> StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00045"></a>00045
<a name="l00046"></a>00046 };
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,56 +8,56 @@
<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>OnePole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_ONEPOLE_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_ONEPOLE_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
00019
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>OnePole.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_ONEPOLE_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_ONEPOLE_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "Filter.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classOnePole.html">00020</a> <span class="keyword">class </span><a class="code" href="classOnePole.html">OnePole</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00021 {
00022 <span class="keyword">public</span>:
00023
00025 <a class="code" href="classOnePole.html#a0">OnePole</a>();
00026
00028 <a class="code" href="classOnePole.html#a0">OnePole</a>(StkFloat thePole);
00029
00031 <a class="code" href="classOnePole.html#a2">~OnePole</a>();
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a3">clear</a>(<span class="keywordtype">void</span>);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a4">setB0</a>(StkFloat b0);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a5">setA1</a>(StkFloat a1);
00041
00043
00050 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a6">setPole</a>(StkFloat thePole);
00051
00053
00057 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a7">setGain</a>(StkFloat gain);
00058
00060 StkFloat <a class="code" href="classOnePole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00061
00063 StkFloat <a class="code" href="classOnePole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064
00066 StkFloat <a class="code" href="classOnePole.html#a10">tick</a>(StkFloat sample);
00067
00069 StkFloat *<a class="code" href="classOnePole.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070
00072
00078 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classOnePole.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00079
00080 };
00081
00082 <span class="preprocessor">#endif</span>
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="keyword">public</span>:
<a name="l00023"></a>00023
<a name="l00025"></a>00025 <a class="code" href="classOnePole.html#a0">OnePole</a>();
<a name="l00026"></a>00026
<a name="l00028"></a>00028 <a class="code" href="classOnePole.html#a0">OnePole</a>( StkFloat thePole );
<a name="l00029"></a>00029
<a name="l00031"></a>00031 <a class="code" href="classOnePole.html#a2">~OnePole</a>();
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a3">clear</a>(<span class="keywordtype">void</span>);
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a4">setB0</a>(StkFloat b0);
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a5">setA1</a>(StkFloat a1);
<a name="l00041"></a>00041
<a name="l00043"></a>00043
<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a6">setPole</a>(StkFloat thePole);
<a name="l00051"></a>00051
<a name="l00053"></a>00053
<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a7">setGain</a>(StkFloat gain);
<a name="l00058"></a>00058
<a name="l00060"></a>00060 StkFloat <a class="code" href="classOnePole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00061"></a>00061
<a name="l00063"></a>00063 StkFloat <a class="code" href="classOnePole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00064"></a>00064
<a name="l00066"></a>00066 StkFloat <a class="code" href="classOnePole.html#a10">tick</a>(StkFloat sample);
<a name="l00067"></a>00067
<a name="l00069"></a>00069
<a name="l00075"></a>00075 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classOnePole.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00076"></a>00076
<a name="l00077"></a>00077 };
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,56 +8,56 @@
<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>OneZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_ONEZERO_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_ONEZERO_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
00019
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>OneZero.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_ONEZERO_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_ONEZERO_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "Filter.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classOneZero.html">00020</a> <span class="keyword">class </span><a class="code" href="classOneZero.html">OneZero</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00021 {
00022 <span class="keyword">public</span>:
00023
00025 <a class="code" href="classOneZero.html#a0">OneZero</a>();
00026
00028 <a class="code" href="classOneZero.html#a0">OneZero</a>(StkFloat theZero);
00029
00031 <a class="code" href="classOneZero.html#a2">~OneZero</a>();
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a3">clear</a>(<span class="keywordtype">void</span>);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a4">setB0</a>(StkFloat b0);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a5">setB1</a>(StkFloat b1);
00041
00043
00050 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a6">setZero</a>(StkFloat theZero);
00051
00053
00057 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a7">setGain</a>(StkFloat gain);
00058
00060 StkFloat <a class="code" href="classOneZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00061
00063 StkFloat <a class="code" href="classOneZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064
00066 StkFloat <a class="code" href="classOneZero.html#a10">tick</a>(StkFloat sample);
00067
00069 StkFloat *<a class="code" href="classOneZero.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070
00072
00078 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classOneZero.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00079
00080 };
00081
00082 <span class="preprocessor">#endif</span>
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="keyword">public</span>:
<a name="l00023"></a>00023
<a name="l00025"></a>00025 <a class="code" href="classOneZero.html#a0">OneZero</a>();
<a name="l00026"></a>00026
<a name="l00028"></a>00028 <a class="code" href="classOneZero.html#a0">OneZero</a>(StkFloat theZero);
<a name="l00029"></a>00029
<a name="l00031"></a>00031 <a class="code" href="classOneZero.html#a2">~OneZero</a>();
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a3">clear</a>(<span class="keywordtype">void</span>);
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a4">setB0</a>(StkFloat b0);
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a5">setB1</a>(StkFloat b1);
<a name="l00041"></a>00041
<a name="l00043"></a>00043
<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a6">setZero</a>(StkFloat theZero);
<a name="l00051"></a>00051
<a name="l00053"></a>00053
<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a7">setGain</a>(StkFloat gain);
<a name="l00058"></a>00058
<a name="l00060"></a>00060 StkFloat <a class="code" href="classOneZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00061"></a>00061
<a name="l00063"></a>00063 StkFloat <a class="code" href="classOneZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00064"></a>00064
<a name="l00066"></a>00066 StkFloat <a class="code" href="classOneZero.html#a10">tick</a>(StkFloat sample);
<a name="l00067"></a>00067
<a name="l00069"></a>00069
<a name="l00075"></a>00075 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classOneZero.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00076"></a>00076
<a name="l00077"></a>00077 };
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,49 +8,47 @@
<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>PRCRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00015 <span class="comment">/***************************************************/</span>
00016
00017 <span class="preprocessor">#ifndef STK_PRCREV_H</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_PRCREV_H</span>
00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#include "Effect.h"</span>
00021 <span class="preprocessor">#include "Delay.h"</span>
00022
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>PRCRev.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00015"></a>00015 <span class="comment">/***************************************************/</span>
<a name="l00016"></a>00016
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef STK_PRCREV_H</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_PRCREV_H</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include "Effect.h"</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "Delay.h"</span>
<a name="l00022"></a>00022
<a name="l00023"></a><a class="code" href="classPRCRev.html">00023</a> <span class="keyword">class </span><a class="code" href="classPRCRev.html">PRCRev</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00024 {
00025 <span class="keyword">public</span>:
00027 <a class="code" href="classPRCRev.html#a0">PRCRev</a>( StkFloat T60 = 1.0 );
00028
00030 <a class="code" href="classPRCRev.html#a1">~PRCRev</a>();
00031
00033 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a2">clear</a>();
00034
00036 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a3">setT60</a>( StkFloat T60 );
00037
00039 StkFloat <a class="code" href="classPRCRev.html#a4">tick</a>(StkFloat input);
00040
00042 StkFloat *<a class="code" href="classPRCRev.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00043
00045
00051 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPRCRev.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00052
00053 <span class="keyword">protected</span>:
00054 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[2];
00055 <a class="code" href="classDelay.html">Delay</a> combDelays_[2];
00056 StkFloat allpassCoefficient_;
00057 StkFloat combCoefficient_[2];
00058
00059 };
00060
00061 <span class="preprocessor">#endif</span>
00062 <span class="preprocessor"></span>
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="keyword">public</span>:
<a name="l00027"></a>00027 <a class="code" href="classPRCRev.html#a0">PRCRev</a>( StkFloat T60 = 1.0 );
<a name="l00028"></a>00028
<a name="l00030"></a>00030 <a class="code" href="classPRCRev.html#a1">~PRCRev</a>();
<a name="l00031"></a>00031
<a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a2">clear</a>();
<a name="l00034"></a>00034
<a name="l00036"></a>00036 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a3">setT60</a>( StkFloat T60 );
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="keyword">protected</span>:
<a name="l00039"></a>00039
<a name="l00040"></a>00040 StkFloat computeSample( StkFloat input );
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[2];
<a name="l00043"></a>00043 <a class="code" href="classDelay.html">Delay</a> combDelays_[2];
<a name="l00044"></a>00044 StkFloat allpassCoefficient_;
<a name="l00045"></a>00045 StkFloat combCoefficient_[2];
<a name="l00046"></a>00046
<a name="l00047"></a>00047 };
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="preprocessor">#endif</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span>
</pre></div><HR>
<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>

View File

@@ -8,41 +8,40 @@
<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>PercFlut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00027 <span class="comment">/***************************************************/</span>
00028
00029 <span class="preprocessor">#ifndef STK_PERCFLUT_H</span>
00030 <span class="preprocessor"></span><span class="preprocessor">#define STK_PERCFLUT_H</span>
00031 <span class="preprocessor"></span>
00032 <span class="preprocessor">#include "FM.h"</span>
00033
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>PercFlut.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00027"></a>00027 <span class="comment">/***************************************************/</span>
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="preprocessor">#ifndef STK_PERCFLUT_H</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define STK_PERCFLUT_H</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "FM.h"</span>
<a name="l00033"></a>00033
<a name="l00034"></a><a class="code" href="classPercFlut.html">00034</a> <span class="keyword">class </span><a class="code" href="classPercFlut.html">PercFlut</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00035 {
00036 <span class="keyword">public</span>:
00038
00041 <a class="code" href="classPercFlut.html#a0">PercFlut</a>();
00042
00044 <a class="code" href="classPercFlut.html#a1">~PercFlut</a>();
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a2">setFrequency</a>(StkFloat frequency);
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00051
00053 StkFloat <a class="code" href="classPercFlut.html#a4">tick</a>();
00054
00056 StkFloat *<a class="code" href="classPercFlut.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00057
00059
00065 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPercFlut.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00066 };
00067
00068 <span class="preprocessor">#endif</span>
<a name="l00035"></a>00035 {
<a name="l00036"></a>00036 <span class="keyword">public</span>:
<a name="l00038"></a>00038
<a name="l00041"></a>00041 <a class="code" href="classPercFlut.html#a0">PercFlut</a>();
<a name="l00042"></a>00042
<a name="l00044"></a>00044 <a class="code" href="classPercFlut.html#a1">~PercFlut</a>();
<a name="l00045"></a>00045
<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a2">setFrequency</a>(StkFloat frequency);
<a name="l00048"></a>00048
<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="keyword">protected</span>:
<a name="l00053"></a>00053
<a name="l00054"></a>00054 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00055"></a>00055 };
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,47 +8,49 @@
<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>Phonemes.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00011 <span class="comment">/***************************************************/</span>
00012
00013 <span class="preprocessor">#ifndef STK_PHONEMES_H</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_PHONEMES_H</span>
00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Stk.h"</span>
00017
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Phonemes.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00011"></a>00011 <span class="comment">/***************************************************/</span>
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef STK_PHONEMES_H</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_PHONEMES_H</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classPhonemes.html">00018</a> <span class="keyword">class </span><a class="code" href="classPhonemes.html">Phonemes</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00019 {
00020 <span class="keyword">public</span>:
00021
00022 <a class="code" href="classPhonemes.html">Phonemes</a>(<span class="keywordtype">void</span>);
00023 ~<a class="code" href="classPhonemes.html">Phonemes</a>(<span class="keywordtype">void</span>);
00024
00026 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classPhonemes.html#e0">name</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
00027
00029 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e1">voiceGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
00030
00032 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e2">noiseGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
00033
00035 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e3">formantFrequency</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
00036
00038 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e4">formantRadius</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
00039
00041 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e5">formantGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
00042
00043 <span class="keyword">private</span>:
00044
00045 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> phonemeNames[][4];
00046 <span class="keyword">static</span> <span class="keyword">const</span> StkFloat phonemeGains[][2];
00047 <span class="keyword">static</span> <span class="keyword">const</span> StkFloat phonemeParameters[][4][3];
00048 };
00049
00050 <span class="preprocessor">#endif</span>
<a name="l00019"></a>00019 {
<a name="l00020"></a>00020 <span class="keyword">public</span>:
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <a class="code" href="classPhonemes.html">Phonemes</a>(<span class="keywordtype">void</span>);
<a name="l00023"></a>00023 ~<a class="code" href="classPhonemes.html">Phonemes</a>(<span class="keywordtype">void</span>);
<a name="l00024"></a>00024
<a name="l00026"></a>00026 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classPhonemes.html#e0">name</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
<a name="l00027"></a>00027
<a name="l00029"></a>00029 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e1">voiceGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
<a name="l00030"></a>00030
<a name="l00032"></a>00032 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e2">noiseGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
<a name="l00033"></a>00033
<a name="l00035"></a>00035 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e3">formantFrequency</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
<a name="l00036"></a>00036
<a name="l00038"></a>00038 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e4">formantRadius</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
<a name="l00039"></a>00039
<a name="l00041"></a>00041 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e5">formantGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="keyword">private</span>:
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> phonemeNames[][4];
<a name="l00046"></a>00046 <span class="keyword">static</span> <span class="keyword">const</span> StkFloat phonemeGains[][2];
<a name="l00047"></a>00047 <span class="keyword">static</span> <span class="keyword">const</span> StkFloat phonemeParameters[][4][3];
<a name="l00048"></a>00048 };
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,51 +8,49 @@
<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>PitShift.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_PITSHIFT_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_PITSHIFT_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Effect.h"</span>
00016 <span class="preprocessor">#include "DelayL.h"</span>
00017
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>PitShift.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
<a name="l00011"></a>00011
<a name="l00012"></a>00012 <span class="preprocessor">#ifndef STK_PITSHIFT_H</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_PITSHIFT_H</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "Effect.h"</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "DelayL.h"</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classPitShift.html">00018</a> <span class="keyword">class </span><a class="code" href="classPitShift.html">PitShift</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00019 {
00020 <span class="keyword">public</span>:
00022 <a class="code" href="classPitShift.html#a0">PitShift</a>();
00023
00025 <a class="code" href="classPitShift.html#a1">~PitShift</a>();
00026
00028 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a2">clear</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a3">setShift</a>(StkFloat shift);
00032
00034 StkFloat <a class="code" href="classPitShift.html#a4">tick</a>(StkFloat input);
00035
00037 StkFloat *<a class="code" href="classPitShift.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00038
00040
00046 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPitShift.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00047
00048 <span class="keyword">protected</span>:
00049 <a class="code" href="classDelayL.html">DelayL</a> delayLine_[2];
00050 StkFloat delay_[2];
00051 StkFloat env_[2];
00052 StkFloat rate_;
00053 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delayLength;
00054 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> halfLength;
00055
00056 };
00057
00058 <span class="preprocessor">#endif</span>
00059 <span class="preprocessor"></span>
<a name="l00019"></a>00019 {
<a name="l00020"></a>00020 <span class="keyword">public</span>:
<a name="l00022"></a>00022 <a class="code" href="classPitShift.html#a0">PitShift</a>();
<a name="l00023"></a>00023
<a name="l00025"></a>00025 <a class="code" href="classPitShift.html#a1">~PitShift</a>();
<a name="l00026"></a>00026
<a name="l00028"></a>00028 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a2">clear</a>();
<a name="l00029"></a>00029
<a name="l00031"></a>00031 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a3">setShift</a>(StkFloat shift);
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="keyword">protected</span>:
<a name="l00034"></a>00034
<a name="l00035"></a>00035 StkFloat computeSample( StkFloat input );
<a name="l00036"></a>00036
<a name="l00037"></a>00037 <a class="code" href="classDelayL.html">DelayL</a> delayLine_[2];
<a name="l00038"></a>00038 StkFloat delay_[2];
<a name="l00039"></a>00039 StkFloat env_[2];
<a name="l00040"></a>00040 StkFloat rate_;
<a name="l00041"></a>00041 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delayLength;
<a name="l00042"></a>00042 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> halfLength;
<a name="l00043"></a>00043
<a name="l00044"></a>00044 };
<a name="l00045"></a>00045
<a name="l00046"></a>00046 <span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
</pre></div><HR>
<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>

View File

@@ -8,71 +8,69 @@
<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>PluckTwo.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span>
00020
00021 <span class="preprocessor">#ifndef STK_PLUCKTWO_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_PLUCKTWO_H</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Instrmnt.h"</span>
00025 <span class="preprocessor">#include "DelayL.h"</span>
00026 <span class="preprocessor">#include "DelayA.h"</span>
00027 <span class="preprocessor">#include "OneZero.h"</span>
00028
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>PluckTwo.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00019"></a>00019 <span class="comment">/***************************************************/</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef STK_PLUCKTWO_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_PLUCKTWO_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "DelayL.h"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "DelayA.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "OneZero.h"</span>
<a name="l00028"></a>00028
<a name="l00029"></a><a class="code" href="classPluckTwo.html">00029</a> <span class="keyword">class </span><a class="code" href="classPluckTwo.html">PluckTwo</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00030 {
00031 <span class="keyword">public</span>:
00033 <a class="code" href="classPluckTwo.html#a0">PluckTwo</a>(StkFloat lowestFrequency);
00034
00036 <span class="keyword">virtual</span> <a class="code" href="classPluckTwo.html#a1">~PluckTwo</a>();
00037
00039 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a2">clear</a>();
00040
00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a3">setFrequency</a>(StkFloat frequency);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a4">setDetune</a>(StkFloat detune);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a5">setFreqAndDetune</a>(StkFloat frequency, StkFloat detune);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a6">setPluckPosition</a>(StkFloat position);
00052
00054
00059 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a7">setBaseLoopGain</a>(StkFloat aGain);
00060
00062 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a8">noteOff</a>(StkFloat amplitude);
00063
00065 <span class="keyword">virtual</span> StkFloat <a class="code" href="classPluckTwo.html#a9">tick</a>() = 0;
00066
00068 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classPluckTwo.html#a9">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize) = 0;
00069
00071
00077 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPluckTwo.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 ) = 0;
00078
00079 <span class="keyword">protected</span>:
00080 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00081 <a class="code" href="classDelayA.html">DelayA</a> delayLine2_;
00082 <a class="code" href="classDelayL.html">DelayL</a> combDelay_;
00083 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00084 <a class="code" href="classOneZero.html">OneZero</a> filter2_;
00085
00086 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00087 StkFloat loopGain_;
00088 StkFloat baseLoopGain_;
00089 StkFloat lastFrequency_;
00090 StkFloat lastLength_;
00091 StkFloat detuning_;
00092 StkFloat pluckAmplitude_;
00093 StkFloat pluckPosition_;
00094
00095 };
00096
00097 <span class="preprocessor">#endif</span>
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 <span class="keyword">public</span>:
<a name="l00033"></a>00033 <a class="code" href="classPluckTwo.html#a0">PluckTwo</a>(StkFloat lowestFrequency);
<a name="l00034"></a>00034
<a name="l00036"></a>00036 <span class="keyword">virtual</span> <a class="code" href="classPluckTwo.html#a1">~PluckTwo</a>();
<a name="l00037"></a>00037
<a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a2">clear</a>();
<a name="l00040"></a>00040
<a name="l00042"></a>00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a4">setDetune</a>(StkFloat detune);
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a5">setFreqAndDetune</a>(StkFloat frequency, StkFloat detune);
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a6">setPluckPosition</a>(StkFloat position);
<a name="l00052"></a>00052
<a name="l00054"></a>00054
<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a7">setBaseLoopGain</a>(StkFloat aGain);
<a name="l00060"></a>00060
<a name="l00062"></a>00062 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a8">noteOff</a>(StkFloat amplitude);
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keyword">protected</span>:
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="keyword">virtual</span> StkFloat computeSample( <span class="keywordtype">void</span> ) = 0;
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
<a name="l00069"></a>00069 <a class="code" href="classDelayA.html">DelayA</a> delayLine2_;
<a name="l00070"></a>00070 <a class="code" href="classDelayL.html">DelayL</a> combDelay_;
<a name="l00071"></a>00071 <a class="code" href="classOneZero.html">OneZero</a> filter_;
<a name="l00072"></a>00072 <a class="code" href="classOneZero.html">OneZero</a> filter2_;
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
<a name="l00075"></a>00075 StkFloat loopGain_;
<a name="l00076"></a>00076 StkFloat baseLoopGain_;
<a name="l00077"></a>00077 StkFloat lastFrequency_;
<a name="l00078"></a>00078 StkFloat lastLength_;
<a name="l00079"></a>00079 StkFloat detuning_;
<a name="l00080"></a>00080 StkFloat pluckAmplitude_;
<a name="l00081"></a>00081 StkFloat pluckPosition_;
<a name="l00082"></a>00082
<a name="l00083"></a>00083 };
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,60 +8,58 @@
<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>Plucked.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span>
00019
00020 <span class="preprocessor">#ifndef STK_PLUCKED_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_PLUCKED_H</span>
00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00024 <span class="preprocessor">#include "DelayA.h"</span>
00025 <span class="preprocessor">#include "OneZero.h"</span>
00026 <span class="preprocessor">#include "OnePole.h"</span>
00027 <span class="preprocessor">#include "Noise.h"</span>
00028
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Plucked.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00018"></a>00018 <span class="comment">/***************************************************/</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="preprocessor">#ifndef STK_PLUCKED_H</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_PLUCKED_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "DelayA.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "OneZero.h"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00028"></a>00028
<a name="l00029"></a><a class="code" href="classPlucked.html">00029</a> <span class="keyword">class </span><a class="code" href="classPlucked.html">Plucked</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00030 {
00031 <span class="keyword">public</span>:
00033 <a class="code" href="classPlucked.html#a0">Plucked</a>(StkFloat lowestFrequency);
00034
00036 <a class="code" href="classPlucked.html#a1">~Plucked</a>();
00037
00039 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a2">clear</a>();
00040
00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a3">setFrequency</a>(StkFloat frequency);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a4">pluck</a>(StkFloat amplitude);
00046
00048 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a5">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00049
00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a6">noteOff</a>(StkFloat amplitude);
00052
00054 <span class="keyword">virtual</span> StkFloat <a class="code" href="classPlucked.html#a7">tick</a>();
00055
00057 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classPlucked.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00058
00060
00066 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPlucked.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00067
00068 <span class="keyword">protected</span>:
00069 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00070 <a class="code" href="classOneZero.html">OneZero</a> loopFilter_;
00071 <a class="code" href="classOnePole.html">OnePole</a> pickFilter_;
00072 <a class="code" href="classNoise.html">Noise</a> noise_;
00073 StkFloat loopGain_;
00074 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00075
00076 };
00077
00078 <span class="preprocessor">#endif</span>
00079 <span class="preprocessor"></span>
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 <span class="keyword">public</span>:
<a name="l00033"></a>00033 <a class="code" href="classPlucked.html#a0">Plucked</a>(StkFloat lowestFrequency);
<a name="l00034"></a>00034
<a name="l00036"></a>00036 <a class="code" href="classPlucked.html#a1">~Plucked</a>();
<a name="l00037"></a>00037
<a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a2">clear</a>();
<a name="l00040"></a>00040
<a name="l00042"></a>00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a4">pluck</a>(StkFloat amplitude);
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a5">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a6">noteOff</a>(StkFloat amplitude);
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">protected</span>:
<a name="l00054"></a>00054
<a name="l00055"></a>00055 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
<a name="l00058"></a>00058 <a class="code" href="classOneZero.html">OneZero</a> loopFilter_;
<a name="l00059"></a>00059 <a class="code" href="classOnePole.html">OnePole</a> pickFilter_;
<a name="l00060"></a>00060 <a class="code" href="classNoise.html">Noise</a> noise_;
<a name="l00061"></a>00061 StkFloat loopGain_;
<a name="l00062"></a>00062 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
<a name="l00063"></a>00063
<a name="l00064"></a>00064 };
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <span class="preprocessor">#endif</span>
<a name="l00067"></a>00067 <span class="preprocessor"></span>
</pre></div><HR>
<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>

View File

@@ -8,59 +8,59 @@
<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.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_POLEZERO_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_POLEZERO_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
00019
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>PoleZero.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_POLEZERO_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_POLEZERO_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "Filter.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classPoleZero.html">00020</a> <span class="keyword">class </span><a class="code" href="classPoleZero.html">PoleZero</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00021 {
00022 <span class="keyword">public</span>:
00023
00025 <a class="code" href="classPoleZero.html#a0">PoleZero</a>();
00026
00028 <a class="code" href="classPoleZero.html#a1">~PoleZero</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a2">clear</a>(<span class="keywordtype">void</span>);
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a3">setB0</a>(StkFloat b0);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a4">setB1</a>(StkFloat b1);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a5">setA1</a>(StkFloat a1);
00041
00043
00048 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a6">setAllpass</a>(StkFloat coefficient);
00049
00051
00057 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a7">setBlockZero</a>(StkFloat thePole = 0.99);
00058
00060
00064 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a8">setGain</a>(StkFloat gain);
00065
00067 StkFloat <a class="code" href="classPoleZero.html#a9">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00068
00070 StkFloat <a class="code" href="classPoleZero.html#a10">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00071
00073 StkFloat <a class="code" href="classPoleZero.html#a11">tick</a>(StkFloat sample);
00074
00076 StkFloat *<a class="code" href="classPoleZero.html#a11">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00077
00079
00085 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPoleZero.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00086
00087 };
00088
00089 <span class="preprocessor">#endif</span>
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="keyword">public</span>:
<a name="l00023"></a>00023
<a name="l00025"></a>00025 <a class="code" href="classPoleZero.html#a0">PoleZero</a>();
<a name="l00026"></a>00026
<a name="l00028"></a>00028 <a class="code" href="classPoleZero.html#a1">~PoleZero</a>();
<a name="l00029"></a>00029
<a name="l00031"></a>00031 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a2">clear</a>(<span class="keywordtype">void</span>);
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a3">setB0</a>(StkFloat b0);
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a4">setB1</a>(StkFloat b1);
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a5">setA1</a>(StkFloat a1);
<a name="l00041"></a>00041
<a name="l00043"></a>00043
<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a6">setAllpass</a>(StkFloat coefficient);
<a name="l00049"></a>00049
<a name="l00051"></a>00051
<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a7">setBlockZero</a>(StkFloat thePole = 0.99);
<a name="l00058"></a>00058
<a name="l00060"></a>00060
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a8">setGain</a>( StkFloat gain );
<a name="l00065"></a>00065
<a name="l00067"></a>00067 StkFloat <a class="code" href="classPoleZero.html#a9">getGain</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
<a name="l00068"></a>00068
<a name="l00070"></a>00070 StkFloat <a class="code" href="classPoleZero.html#a10">lastOut</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
<a name="l00071"></a>00071
<a name="l00073"></a>00073 StkFloat <a class="code" href="classPoleZero.html#a11">tick</a>( StkFloat sample );
<a name="l00074"></a>00074
<a name="l00076"></a>00076
<a name="l00082"></a>00082 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPoleZero.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00083"></a>00083
<a name="l00084"></a>00084 };
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,48 +8,45 @@
<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>ReedTable.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span>
00019
00020 <span class="preprocessor">#ifndef STK_REEDTABLE_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_REEDTABLE_H</span>
00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Function.h"</span>
00024
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>ReedTable.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00018"></a>00018 <span class="comment">/***************************************************/</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="preprocessor">#ifndef STK_REEDTABLE_H</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_REEDTABLE_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "Function.h"</span>
<a name="l00024"></a>00024
<a name="l00025"></a><a class="code" href="classReedTable.html">00025</a> <span class="keyword">class </span><a class="code" href="classReedTable.html">ReedTable</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a>
00026 {
00027 <span class="keyword">public</span>:
00029 <a class="code" href="classReedTable.html#a0">ReedTable</a>();
00030
00032 <a class="code" href="classReedTable.html#a1">~ReedTable</a>();
00033
00035
00040 <span class="keywordtype">void</span> <a class="code" href="classReedTable.html#a2">setOffset</a>(StkFloat offset);
00041
00043
00048 <span class="keywordtype">void</span> <a class="code" href="classReedTable.html#a3">setSlope</a>(StkFloat slope);
00049
00051
00055 StkFloat <a class="code" href="classReedTable.html#a4">tick</a>(StkFloat input);
00056
00058 StkFloat *<a class="code" href="classReedTable.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00059
00061
00067 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classReedTable.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00068
00069 <span class="keyword">protected</span>:
00070 StkFloat offset_;
00071 StkFloat slope_;
00072
00073 };
00074
00075 <span class="preprocessor">#endif</span>
<a name="l00026"></a>00026 {
<a name="l00027"></a>00027 <span class="keyword">public</span>:
<a name="l00029"></a>00029 <a class="code" href="classReedTable.html#a0">ReedTable</a>();
<a name="l00030"></a>00030
<a name="l00032"></a>00032 <a class="code" href="classReedTable.html#a1">~ReedTable</a>();
<a name="l00033"></a>00033
<a name="l00035"></a>00035
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classReedTable.html#a2">setOffset</a>(StkFloat offset);
<a name="l00041"></a>00041
<a name="l00043"></a>00043
<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classReedTable.html#a3">setSlope</a>(StkFloat slope);
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keyword">protected</span>:
<a name="l00051"></a>00051
<a name="l00052"></a>00052 StkFloat computeSample( StkFloat input );
<a name="l00053"></a>00053
<a name="l00054"></a>00054 StkFloat offset_;
<a name="l00055"></a>00055 StkFloat slope_;
<a name="l00056"></a>00056
<a name="l00057"></a>00057 };
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,67 +8,65 @@
<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>Resonate.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span>
00019
00020 <span class="preprocessor">#ifndef STK_RESONATE_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_RESONATE_H</span>
00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00024 <span class="preprocessor">#include "ADSR.h"</span>
00025 <span class="preprocessor">#include "BiQuad.h"</span>
00026 <span class="preprocessor">#include "Noise.h"</span>
00027
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Resonate.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00018"></a>00018 <span class="comment">/***************************************************/</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="preprocessor">#ifndef STK_RESONATE_H</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_RESONATE_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "BiQuad.h"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00027"></a>00027
<a name="l00028"></a><a class="code" href="classResonate.html">00028</a> <span class="keyword">class </span><a class="code" href="classResonate.html">Resonate</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00029 {
00030 <span class="keyword">public</span>:
00032 <a class="code" href="classResonate.html#a0">Resonate</a>();
00033
00035 <a class="code" href="classResonate.html#a1">~Resonate</a>();
00036
00038 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a2">clear</a>();
00039
00041 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a3">setResonance</a>(StkFloat frequency, StkFloat radius);
00042
00044 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a4">setNotch</a>(StkFloat frequency, StkFloat radius);
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a5">setEqualGainZeroes</a>();
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a6">keyOn</a>();
00051
00053 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a7">keyOff</a>();
00054
00056 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a9">noteOff</a>(StkFloat amplitude);
00060
00062 StkFloat <a class="code" href="classResonate.html#a10">tick</a>();
00063
00065 StkFloat *<a class="code" href="classResonate.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00066
00068
00074 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classResonate.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00075
00077 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00078
00079 <span class="keyword">protected</span>:
00080 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00081 <a class="code" href="classBiQuad.html">BiQuad</a> filter_;
00082 <a class="code" href="classNoise.html">Noise</a> noise_;
00083 StkFloat poleFrequency_;
00084 StkFloat poleRadius_;
00085 StkFloat zeroFrequency_;
00086 StkFloat zeroRadius_;
00087
00088 };
00089
00090 <span class="preprocessor">#endif</span>
<a name="l00029"></a>00029 {
<a name="l00030"></a>00030 <span class="keyword">public</span>:
<a name="l00032"></a>00032 <a class="code" href="classResonate.html#a0">Resonate</a>();
<a name="l00033"></a>00033
<a name="l00035"></a>00035 <a class="code" href="classResonate.html#a1">~Resonate</a>();
<a name="l00036"></a>00036
<a name="l00038"></a>00038 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a2">clear</a>();
<a name="l00039"></a>00039
<a name="l00041"></a>00041 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a3">setResonance</a>(StkFloat frequency, StkFloat radius);
<a name="l00042"></a>00042
<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a4">setNotch</a>(StkFloat frequency, StkFloat radius);
<a name="l00045"></a>00045
<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a5">setEqualGainZeroes</a>();
<a name="l00048"></a>00048
<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a6">keyOn</a>();
<a name="l00051"></a>00051
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a7">keyOff</a>();
<a name="l00054"></a>00054
<a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00057"></a>00057
<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a9">noteOff</a>(StkFloat amplitude);
<a name="l00060"></a>00060
<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keyword">protected</span>:
<a name="l00065"></a>00065
<a name="l00066"></a>00066 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <a class="code" href="classADSR.html">ADSR</a> adsr_;
<a name="l00069"></a>00069 <a class="code" href="classBiQuad.html">BiQuad</a> filter_;
<a name="l00070"></a>00070 <a class="code" href="classNoise.html">Noise</a> noise_;
<a name="l00071"></a>00071 StkFloat poleFrequency_;
<a name="l00072"></a>00072 StkFloat poleRadius_;
<a name="l00073"></a>00073 StkFloat zeroFrequency_;
<a name="l00074"></a>00074 StkFloat zeroRadius_;
<a name="l00075"></a>00075
<a name="l00076"></a>00076 };
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,41 +8,40 @@
<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>Rhodey.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00031 <span class="comment">/***************************************************/</span>
00032
00033 <span class="preprocessor">#ifndef STK_RHODEY_H</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_RHODEY_H</span>
00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span>
00037
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Rhodey.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00031"></a>00031 <span class="comment">/***************************************************/</span>
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="preprocessor">#ifndef STK_RHODEY_H</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_RHODEY_H</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00036"></a>00036 <span class="preprocessor">#include "FM.h"</span>
<a name="l00037"></a>00037
<a name="l00038"></a><a class="code" href="classRhodey.html">00038</a> <span class="keyword">class </span><a class="code" href="classRhodey.html">Rhodey</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00039 {
00040 <span class="keyword">public</span>:
00042
00045 <a class="code" href="classRhodey.html#a0">Rhodey</a>();
00046
00048 <a class="code" href="classRhodey.html#a1">~Rhodey</a>();
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a2">setFrequency</a>(StkFloat frequency);
00052
00054 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00055
00057 StkFloat <a class="code" href="classRhodey.html#a4">tick</a>();
00058
00060 StkFloat *<a class="code" href="classRhodey.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00061
00063
00069 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRhodey.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00070 };
00071
00072 <span class="preprocessor">#endif</span>
<a name="l00039"></a>00039 {
<a name="l00040"></a>00040 <span class="keyword">public</span>:
<a name="l00042"></a>00042
<a name="l00045"></a>00045 <a class="code" href="classRhodey.html#a0">Rhodey</a>();
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <a class="code" href="classRhodey.html#a1">~Rhodey</a>();
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a2">setFrequency</a>(StkFloat frequency);
<a name="l00052"></a>00052
<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keyword">protected</span>:
<a name="l00057"></a>00057
<a name="l00058"></a>00058 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00059"></a>00059 };
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

File diff suppressed because it is too large Load Diff

View File

@@ -8,67 +8,69 @@
<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>RtDuplex.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00029 <span class="comment">/***************************************************/</span>
00030
00031 <span class="preprocessor">#ifndef STK_RTDUPLEX_H</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTDUPLEX_H</span>
00033 <span class="preprocessor"></span>
00034 <span class="preprocessor">#include "Stk.h"</span>
00035 <span class="preprocessor">#include "RtAudio.h"</span>
00036
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>RtDuplex.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00029"></a>00029 <span class="comment">/***************************************************/</span>
<a name="l00030"></a>00030
<a name="l00031"></a>00031 <span class="preprocessor">#ifndef STK_RTDUPLEX_H</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTDUPLEX_H</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span>
<a name="l00034"></a>00034 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include "RtAudio.h"</span>
<a name="l00036"></a>00036
<a name="l00037"></a><a class="code" href="classRtDuplex.html">00037</a> <span class="keyword">class </span><a class="code" href="classRtDuplex.html">RtDuplex</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00038 {
00039 <span class="keyword">public</span>:
00041
00052 <a class="code" href="classRtDuplex.html#a0">RtDuplex</a>(<span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 2);
00053
00055 <a class="code" href="classRtDuplex.html#a1">~RtDuplex</a>();
00056
00058
00061 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a2">start</a>(<span class="keywordtype">void</span>);
00062
00064
00067 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a3">stop</a>(<span class="keywordtype">void</span>);
00068
00070 StkFloat <a class="code" href="classRtDuplex.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00071
00073
00076 StkFloat <a class="code" href="classRtDuplex.html#a5">tick</a>(<span class="keyword">const</span> StkFloat sample);
00077
00079
00082 StkFloat *<a class="code" href="classRtDuplex.html#a5">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00083
00085
00092 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtDuplex.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00093
00095 <span class="keyword">const</span> StkFloat *<a class="code" href="classRtDuplex.html#a8">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00096
00098
00101 StkFloat *<a class="code" href="classRtDuplex.html#a9">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
00102
00104
00110 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtDuplex.html#a9">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00111
00112 <span class="keyword">protected</span>:
00113
00114 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00115 StkFloat *data_;
00116 StkFloat *lastOutput_;
00117 <span class="keywordtype">int</span> bufferSize_;
00118 <span class="keywordtype">bool</span> stopped_;
00119 <span class="keywordtype">long</span> counter_;
00120 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
00121
00122 };
00123
00124 <span class="preprocessor">#endif</span>
<a name="l00038"></a>00038 {
<a name="l00039"></a>00039 <span class="keyword">public</span>:
<a name="l00041"></a>00041
<a name="l00052"></a>00052 <a class="code" href="classRtDuplex.html#a0">RtDuplex</a>(<span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 2);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <a class="code" href="classRtDuplex.html#a1">~RtDuplex</a>();
<a name="l00056"></a>00056
<a name="l00058"></a>00058
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a2">start</a>(<span class="keywordtype">void</span>);
<a name="l00062"></a>00062
<a name="l00064"></a>00064
<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a3">stop</a>(<span class="keywordtype">void</span>);
<a name="l00068"></a>00068
<a name="l00070"></a>00070 StkFloat <a class="code" href="classRtDuplex.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00071"></a>00071
<a name="l00073"></a>00073
<a name="l00076"></a>00076 StkFloat <a class="code" href="classRtDuplex.html#a5">tick</a>(<span class="keyword">const</span> StkFloat sample);
<a name="l00077"></a>00077
<a name="l00079"></a>00079
<a name="l00082"></a>00082 StkFloat *<a class="code" href="classRtDuplex.html#a5">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
<a name="l00083"></a>00083
<a name="l00085"></a>00085
<a name="l00092"></a>00092 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtDuplex.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
<a name="l00093"></a>00093
<a name="l00095"></a>00095 <span class="keyword">const</span> StkFloat *<a class="code" href="classRtDuplex.html#a8">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00096"></a>00096
<a name="l00098"></a>00098
<a name="l00101"></a>00101 StkFloat *<a class="code" href="classRtDuplex.html#a9">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
<a name="l00102"></a>00102
<a name="l00104"></a>00104
<a name="l00110"></a>00110 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtDuplex.html#a9">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
<a name="l00111"></a>00111
<a name="l00112"></a>00112 <span class="keyword">protected</span>:
<a name="l00113"></a>00113
<a name="l00114"></a>00114 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
<a name="l00115"></a>00115 StkFloat *data_;
<a name="l00116"></a>00116 StkFloat *lastOutput_;
<a name="l00117"></a>00117 <span class="keywordtype">int</span> bufferSize_;
<a name="l00118"></a>00118 <span class="keywordtype">bool</span> stopped_;
<a name="l00119"></a>00119 <span class="keywordtype">long</span> counter_;
<a name="l00120"></a>00120 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
<a name="l00121"></a>00121
<a name="l00122"></a>00122 };
<a name="l00123"></a>00123
<a name="l00124"></a>00124 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,57 +8,59 @@
<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>RtError.h</h1><div class="fragment"><pre>00001 <span class="comment">/************************************************************************/</span>
00010 <span class="comment">/************************************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef RTERROR_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define RTERROR_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include &lt;iostream&gt;</span>
00016 <span class="preprocessor">#include &lt;string&gt;</span>
00017
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>RtError.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/************************************************************************/</span>
<a name="l00010"></a>00010 <span class="comment">/************************************************************************/</span>
<a name="l00011"></a>00011
<a name="l00012"></a>00012 <span class="preprocessor">#ifndef RTERROR_H</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define RTERROR_H</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;iostream&gt;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classRtError.html">00018</a> <span class="keyword">class </span><a class="code" href="classRtError.html">RtError</a>
00019 {
00020 <span class="keyword">public</span>:
<a name="l00019"></a>00019 {
<a name="l00020"></a>00020 <span class="keyword">public</span>:
<a name="l00022"></a><a class="code" href="classRtError.html#w11">00022</a> <span class="keyword">enum</span> <a class="code" href="classRtError.html#w11">Type</a> {
00023 <a class="code" href="classRtError.html#w11w0">WARNING</a>,
00024 <a class="code" href="classRtError.html#w11w1">DEBUG_WARNING</a>,
00025 <a class="code" href="classRtError.html#w11w2">UNSPECIFIED</a>,
00026 <a class="code" href="classRtError.html#w11w3">NO_DEVICES_FOUND</a>,
00027 <a class="code" href="classRtError.html#w11w4">INVALID_DEVICE</a>,
00028 <a class="code" href="classRtError.html#w11w5">INVALID_STREAM</a>,
00029 <a class="code" href="classRtError.html#w11w6">MEMORY_ERROR</a>,
00030 <a class="code" href="classRtError.html#w11w7">INVALID_PARAMETER</a>,
00031 <a class="code" href="classRtError.html#w11w8">DRIVER_ERROR</a>,
00032 <a class="code" href="classRtError.html#w11w9">SYSTEM_ERROR</a>,
00033 <a class="code" href="classRtError.html#w11w10">THREAD_ERROR</a>
00034 };
00035
00036 <span class="keyword">protected</span>:
00037 std::string message_;
00038 <a class="code" href="classRtError.html#w11">Type</a> type_;
00039
00040 <span class="keyword">public</span>:
<a name="l00042"></a><a class="code" href="classRtError.html#a0">00042</a> <a class="code" href="classRtError.html#a0">RtError</a>(<span class="keyword">const</span> std::string&amp; message, Type type = RtError::UNSPECIFIED) : message_(message), type_(type) {}
00043
<a name="l00023"></a>00023 <a class="code" href="classRtError.html#w11w0">WARNING</a>,
<a name="l00024"></a>00024 <a class="code" href="classRtError.html#w11w1">DEBUG_WARNING</a>,
<a name="l00025"></a>00025 <a class="code" href="classRtError.html#w11w2">UNSPECIFIED</a>,
<a name="l00026"></a>00026 <a class="code" href="classRtError.html#w11w3">NO_DEVICES_FOUND</a>,
<a name="l00027"></a>00027 <a class="code" href="classRtError.html#w11w4">INVALID_DEVICE</a>,
<a name="l00028"></a>00028 <a class="code" href="classRtError.html#w11w5">INVALID_STREAM</a>,
<a name="l00029"></a>00029 <a class="code" href="classRtError.html#w11w6">MEMORY_ERROR</a>,
<a name="l00030"></a>00030 <a class="code" href="classRtError.html#w11w7">INVALID_PARAMETER</a>,
<a name="l00031"></a>00031 <a class="code" href="classRtError.html#w11w8">DRIVER_ERROR</a>,
<a name="l00032"></a>00032 <a class="code" href="classRtError.html#w11w9">SYSTEM_ERROR</a>,
<a name="l00033"></a><a class="code" href="classRtError.html#w11w10">00033</a> <a class="code" href="classRtError.html#w11w10">THREAD_ERROR</a>
<a name="l00034"></a>00034 };
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="keyword">protected</span>:
<a name="l00037"></a>00037 std::string message_;
<a name="l00038"></a>00038 <a class="code" href="classRtError.html#w11">Type</a> type_;
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="keyword">public</span>:
<a name="l00042"></a><a class="code" href="classRtError.html#a0">00042</a> <a class="code" href="classRtError.html#a0">RtError</a>(<span class="keyword">const</span> std::string&amp; message, <a class="code" href="classRtError.html#w11">Type</a> type = <a class="code" href="classRtError.html#w11w2">RtError::UNSPECIFIED</a>) : message_(message), type_(type) {}
<a name="l00043"></a>00043
<a name="l00045"></a><a class="code" href="classRtError.html#a1">00045</a> <span class="keyword">virtual</span> <a class="code" href="classRtError.html#a1">~RtError</a>(<span class="keywordtype">void</span>) {};
00046
<a name="l00046"></a>00046
<a name="l00048"></a><a class="code" href="classRtError.html#a2">00048</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRtError.html#a2">printMessage</a>(<span class="keywordtype">void</span>) { std::cerr &lt;&lt; <span class="charliteral">'\n'</span> &lt;&lt; message_ &lt;&lt; <span class="stringliteral">"\n\n"</span>; }
00049
<a name="l00049"></a>00049
<a name="l00051"></a><a class="code" href="classRtError.html#a3">00051</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classRtError.html#w11">Type</a>&amp; <a class="code" href="classRtError.html#a3">getType</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> type_; }
00052
<a name="l00052"></a>00052
<a name="l00054"></a><a class="code" href="classRtError.html#a4">00054</a> <span class="keyword">virtual</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classRtError.html#a4">getMessage</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_; }
00055
<a name="l00055"></a>00055
<a name="l00057"></a><a class="code" href="classRtError.html#a5">00057</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classRtError.html#a5">getMessageString</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_.c_str(); }
00058 };
00059
00060 <span class="preprocessor">#endif</span>
<a name="l00058"></a>00058 };
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,159 +8,170 @@
<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>RtMidi.h</h1><div class="fragment"><pre>00001 <span class="comment">/**********************************************************************/</span>
00036 <span class="comment">/**********************************************************************/</span>
00037
00038 <span class="comment">// RtMidi: Version 1.0.2, 21 September 2004</span>
00039
00040 <span class="preprocessor">#ifndef RTMIDI_H</span>
00041 <span class="preprocessor"></span><span class="preprocessor">#define RTMIDI_H</span>
00042 <span class="preprocessor"></span>
00043 <span class="preprocessor">#include "RtError.h"</span>
00044 <span class="preprocessor">#include &lt;string&gt;</span>
00045
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>RtMidi.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/**********************************************************************/</span>
<a name="l00036"></a>00036 <span class="comment">/**********************************************************************/</span>
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="comment">// RtMidi: Version 1.0.4, 13 October 2005</span>
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="preprocessor">#ifndef RTMIDI_H</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define RTMIDI_H</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span>
<a name="l00043"></a>00043 <span class="preprocessor">#include "RtError.h"</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00045"></a>00045
<a name="l00046"></a><a class="code" href="classRtMidi.html">00046</a> <span class="keyword">class </span><a class="code" href="classRtMidi.html">RtMidi</a>
00047 {
00048 <span class="keyword">protected</span>:
00049
00050 <a class="code" href="classRtMidi.html">RtMidi</a>();
00051
00052 <span class="keyword">virtual</span> ~<a class="code" href="classRtMidi.html">RtMidi</a>() {};
00053
00054 <span class="comment">// A basic error reporting function for internal use in the RtMidi</span>
00055 <span class="comment">// subclasses. The behavior of this function can be modified to</span>
00056 <span class="comment">// suit specific needs.</span>
00057 <span class="keywordtype">void</span> error( <a class="code" href="classRtError.html#w11">RtError::Type</a> type );
00058
00059 <span class="keyword">virtual</span> <span class="keywordtype">void</span> openPort( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ) = 0;
00060
00061 <span class="keywordtype">void</span> *apiData_;
00062 <span class="keywordtype">bool</span> connected_;
00063 std::string errorString_;
00064 };
00065
00066 <span class="comment">/**********************************************************************/</span>
00082 <span class="comment">/**********************************************************************/</span>
00083
00084 <span class="preprocessor">#include &lt;vector&gt;</span>
00085 <span class="preprocessor">#include &lt;queue&gt;</span>
00086
<a name="l00087"></a><a class="code" href="classRtMidiIn.html">00087</a> <span class="keyword">class </span><a class="code" href="classRtMidiIn.html">RtMidiIn</a> : <span class="keyword">public</span> <a class="code" href="classRtMidi.html">RtMidi</a>
00088 {
00089 <span class="keyword">public</span>:
00090
<a name="l00092"></a><a class="code" href="classRtMidiIn.html#w0">00092</a> <span class="keyword">typedef</span> void (*<a class="code" href="classRtMidiIn.html#w0">RtMidiCallback</a>)( <span class="keywordtype">double</span> timeStamp, std::vector&lt;unsigned char&gt; *message, <span class="keywordtype">void</span> *userData);
00093
00095
00098 <a class="code" href="classRtMidiIn.html#a0">RtMidiIn</a>();
00099
00101 <a class="code" href="classRtMidiIn.html#a1">~RtMidiIn</a>();
00102
00104
00108 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a2">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 );
00109
00111
00117 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a3">openVirtualPort</a>();
00118
00120
00126 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a4">setCallback</a>( <a class="code" href="classRtMidiIn.html#w0">RtMidiCallback</a> callback, <span class="keywordtype">void</span> *userData = 0 );
00127
00129
00133 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a5">cancelCallback</a>();
00134
00136 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a6">closePort</a>( <span class="keywordtype">void</span> );
00137
00139 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidiIn.html#a7">getPortCount</a>();
00140
00142
00145 std::string <a class="code" href="classRtMidiIn.html#a8">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 );
00146
00148
00152 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a9">setQueueSizeLimit</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueSize );
00153
00155
00162 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a10">ignoreTypes</a>( <span class="keywordtype">bool</span> midiSysex = <span class="keyword">true</span>, <span class="keywordtype">bool</span> midiTime = <span class="keyword">true</span>, <span class="keywordtype">bool</span> midiSense = <span class="keyword">true</span> );
00163
00165
00172 <span class="keywordtype">double</span> <a class="code" href="classRtMidiIn.html#a11">getMessage</a>( std::vector&lt;unsigned char&gt; *message );
00173
00174 <span class="comment">// A MIDI structure used internally by the class to store incoming</span>
00175 <span class="comment">// messages. Each message represents one and only one MIDI message.</span>
00176 <span class="keyword">struct </span>MidiMessage {
00177 std::vector&lt;unsigned char&gt; bytes;
00178 <span class="keywordtype">double</span> timeStamp;
00179
00180 <span class="comment">// Default constructor.</span>
00181 MidiMessage()
00182 :bytes(3), timeStamp(0.0) {}
00183 };
00184
00185 <span class="comment">// The RtMidiInData structure is used to pass private class data to</span>
00186 <span class="comment">// the MIDI input handling function or thread.</span>
00187 <span class="keyword">struct </span>RtMidiInData {
00188 std::queue&lt;MidiMessage&gt; queue;
00189 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueLimit;
00190 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ignoreFlags;
00191 <span class="keywordtype">bool</span> doInput;
00192 <span class="keywordtype">bool</span> firstMessage;
00193 <span class="keywordtype">void</span> *apiData;
00194 <span class="keywordtype">bool</span> usingCallback;
00195 <span class="keywordtype">void</span> *userCallback;
00196 <span class="keywordtype">void</span> *userData;
00197
00198 <span class="comment">// Default constructor.</span>
00199 RtMidiInData()
00200 : queueLimit(1024), ignoreFlags(7), doInput(false), firstMessage(true),
00201 apiData(0), usingCallback(false), userCallback(0), userData(0) {}
00202 };
00203
00204 <span class="keyword">private</span>:
00205
00206 <span class="keywordtype">void</span> initialize( <span class="keywordtype">void</span> );
00207 RtMidiInData inputData_;
00208
00209 };
00210
00211 <span class="comment">/**********************************************************************/</span>
00223 <span class="comment">/**********************************************************************/</span>
00224
<a name="l00225"></a><a class="code" href="classRtMidiOut.html">00225</a> <span class="keyword">class </span><a class="code" href="classRtMidiOut.html">RtMidiOut</a> : <span class="keyword">public</span> <a class="code" href="classRtMidi.html">RtMidi</a>
00226 {
00227 <span class="keyword">public</span>:
00228
00230
00233 <a class="code" href="classRtMidiOut.html#a0">RtMidiOut</a>();
00234
00236 <a class="code" href="classRtMidiOut.html#a1">~RtMidiOut</a>();
00237
00239
00245 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a2">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 );
00246
00248 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a3">closePort</a>();
00249
00251
00259 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a4">openVirtualPort</a>();
00260
00262 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidiOut.html#a5">getPortCount</a>();
00263
00265
00268 std::string <a class="code" href="classRtMidiOut.html#a6">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber );
00269
00271
00275 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a7">sendMessage</a>( std::vector&lt;unsigned char&gt; *message );
00276
00277 <span class="keyword">private</span>:
00278
00279 <span class="keywordtype">void</span> initialize( <span class="keywordtype">void</span> );
00280 };
00281
00282 <span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 {
<a name="l00048"></a>00048 <span class="keyword">public</span>:
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRtMidi.html#a0">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ) = 0;
<a name="l00052"></a>00052
<a name="l00054"></a>00054 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRtMidi.html#a1">openVirtualPort</a>() = 0;
<a name="l00055"></a>00055
<a name="l00057"></a>00057 <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidi.html#a2">getPortCount</a>() = 0;
<a name="l00058"></a>00058
<a name="l00060"></a>00060 <span class="keyword">virtual</span> std::string <a class="code" href="classRtMidi.html#a3">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ) = 0;
<a name="l00061"></a>00061
<a name="l00063"></a>00063 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRtMidi.html#a4">closePort</a>( <span class="keywordtype">void</span> ) = 0;
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="keyword">protected</span>:
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <a class="code" href="classRtMidi.html">RtMidi</a>();
<a name="l00068"></a>00068 <span class="keyword">virtual</span> ~<a class="code" href="classRtMidi.html">RtMidi</a>() {};
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="comment">// A basic error reporting function for internal use in the RtMidi</span>
<a name="l00071"></a>00071 <span class="comment">// subclasses. The behavior of this function can be modified to</span>
<a name="l00072"></a>00072 <span class="comment">// suit specific needs.</span>
<a name="l00073"></a>00073 <span class="keywordtype">void</span> error( <a class="code" href="classRtError.html#w11">RtError::Type</a> type );
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="keywordtype">void</span> *apiData_;
<a name="l00076"></a>00076 <span class="keywordtype">bool</span> connected_;
<a name="l00077"></a>00077 std::string errorString_;
<a name="l00078"></a>00078 };
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="comment">/**********************************************************************/</span>
<a name="l00096"></a>00096 <span class="comment">/**********************************************************************/</span>
<a name="l00097"></a>00097
<a name="l00098"></a>00098 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00099"></a>00099 <span class="preprocessor">#include &lt;queue&gt;</span>
<a name="l00100"></a>00100
<a name="l00101"></a><a class="code" href="classRtMidiIn.html">00101</a> <span class="keyword">class </span><a class="code" href="classRtMidiIn.html">RtMidiIn</a> : <span class="keyword">public</span> <a class="code" href="classRtMidi.html">RtMidi</a>
<a name="l00102"></a>00102 {
<a name="l00103"></a>00103 <span class="keyword">public</span>:
<a name="l00104"></a>00104
<a name="l00106"></a><a class="code" href="classRtMidiIn.html#w0">00106</a> <span class="keyword">typedef</span> void (*<a class="code" href="classRtMidiIn.html#w0">RtMidiCallback</a>)( <span class="keywordtype">double</span> timeStamp, std::vector&lt;unsigned char&gt; *message, <span class="keywordtype">void</span> *userData);
<a name="l00107"></a>00107
<a name="l00109"></a>00109
<a name="l00112"></a>00112 <a class="code" href="classRtMidiIn.html#a0">RtMidiIn</a>();
<a name="l00113"></a>00113
<a name="l00115"></a>00115 <a class="code" href="classRtMidiIn.html#a1">~RtMidiIn</a>();
<a name="l00116"></a>00116
<a name="l00118"></a>00118
<a name="l00122"></a>00122 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a2">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 );
<a name="l00123"></a>00123
<a name="l00125"></a>00125
<a name="l00131"></a>00131 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a3">openVirtualPort</a>();
<a name="l00132"></a>00132
<a name="l00134"></a>00134
<a name="l00140"></a>00140 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a4">setCallback</a>( <a class="code" href="classRtMidiIn.html#w0">RtMidiCallback</a> callback, <span class="keywordtype">void</span> *userData = 0 );
<a name="l00141"></a>00141
<a name="l00143"></a>00143
<a name="l00147"></a>00147 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a5">cancelCallback</a>();
<a name="l00148"></a>00148
<a name="l00150"></a>00150 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a6">closePort</a>( <span class="keywordtype">void</span> );
<a name="l00151"></a>00151
<a name="l00153"></a>00153 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidiIn.html#a7">getPortCount</a>();
<a name="l00154"></a>00154
<a name="l00156"></a>00156
<a name="l00159"></a>00159 std::string <a class="code" href="classRtMidiIn.html#a8">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 );
<a name="l00160"></a>00160
<a name="l00162"></a>00162
<a name="l00166"></a>00166 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a9">setQueueSizeLimit</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueSize );
<a name="l00167"></a>00167
<a name="l00169"></a>00169
<a name="l00176"></a>00176 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a10">ignoreTypes</a>( <span class="keywordtype">bool</span> midiSysex = <span class="keyword">true</span>, <span class="keywordtype">bool</span> midiTime = <span class="keyword">true</span>, <span class="keywordtype">bool</span> midiSense = <span class="keyword">true</span> );
<a name="l00177"></a>00177
<a name="l00179"></a>00179
<a name="l00186"></a>00186 <span class="keywordtype">double</span> <a class="code" href="classRtMidiIn.html#a11">getMessage</a>( std::vector&lt;unsigned char&gt; *message );
<a name="l00187"></a>00187
<a name="l00188"></a>00188 <span class="comment">// A MIDI structure used internally by the class to store incoming</span>
<a name="l00189"></a>00189 <span class="comment">// messages. Each message represents one and only one MIDI message.</span>
<a name="l00190"></a>00190 <span class="keyword">struct </span>MidiMessage {
<a name="l00191"></a>00191 std::vector&lt;unsigned char&gt; bytes;
<a name="l00192"></a>00192 <span class="keywordtype">double</span> timeStamp;
<a name="l00193"></a>00193
<a name="l00194"></a>00194 <span class="comment">// Default constructor.</span>
<a name="l00195"></a>00195 MidiMessage()
<a name="l00196"></a>00196 :bytes(3), timeStamp(0.0) {}
<a name="l00197"></a>00197 };
<a name="l00198"></a>00198
<a name="l00199"></a>00199 <span class="comment">// The RtMidiInData structure is used to pass private class data to</span>
<a name="l00200"></a>00200 <span class="comment">// the MIDI input handling function or thread.</span>
<a name="l00201"></a>00201 <span class="keyword">struct </span>RtMidiInData {
<a name="l00202"></a>00202 std::queue&lt;MidiMessage&gt; queue;
<a name="l00203"></a>00203 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueLimit;
<a name="l00204"></a>00204 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ignoreFlags;
<a name="l00205"></a>00205 <span class="keywordtype">bool</span> doInput;
<a name="l00206"></a>00206 <span class="keywordtype">bool</span> firstMessage;
<a name="l00207"></a>00207 <span class="keywordtype">void</span> *apiData;
<a name="l00208"></a>00208 <span class="keywordtype">bool</span> usingCallback;
<a name="l00209"></a>00209 <span class="keywordtype">void</span> *userCallback;
<a name="l00210"></a>00210 <span class="keywordtype">void</span> *userData;
<a name="l00211"></a>00211
<a name="l00212"></a>00212 <span class="comment">// Default constructor.</span>
<a name="l00213"></a>00213 RtMidiInData()
<a name="l00214"></a>00214 : queueLimit(1024), ignoreFlags(7), doInput(false), firstMessage(true),
<a name="l00215"></a>00215 apiData(0), usingCallback(false), userCallback(0), userData(0) {}
<a name="l00216"></a>00216 };
<a name="l00217"></a>00217
<a name="l00218"></a>00218 <span class="keyword">private</span>:
<a name="l00219"></a>00219
<a name="l00220"></a>00220 <span class="keywordtype">void</span> initialize( <span class="keywordtype">void</span> );
<a name="l00221"></a>00221 RtMidiInData inputData_;
<a name="l00222"></a>00222
<a name="l00223"></a>00223 };
<a name="l00224"></a>00224
<a name="l00225"></a>00225 <span class="comment">/**********************************************************************/</span>
<a name="l00237"></a>00237 <span class="comment">/**********************************************************************/</span>
<a name="l00238"></a>00238
<a name="l00239"></a><a class="code" href="classRtMidiOut.html">00239</a> <span class="keyword">class </span><a class="code" href="classRtMidiOut.html">RtMidiOut</a> : <span class="keyword">public</span> <a class="code" href="classRtMidi.html">RtMidi</a>
<a name="l00240"></a>00240 {
<a name="l00241"></a>00241 <span class="keyword">public</span>:
<a name="l00242"></a>00242
<a name="l00244"></a>00244
<a name="l00247"></a>00247 <a class="code" href="classRtMidiOut.html#a0">RtMidiOut</a>();
<a name="l00248"></a>00248
<a name="l00250"></a>00250 <a class="code" href="classRtMidiOut.html#a1">~RtMidiOut</a>();
<a name="l00251"></a>00251
<a name="l00253"></a>00253
<a name="l00259"></a>00259 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a2">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 );
<a name="l00260"></a>00260
<a name="l00262"></a>00262 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a3">closePort</a>();
<a name="l00263"></a>00263
<a name="l00265"></a>00265
<a name="l00273"></a>00273 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a4">openVirtualPort</a>();
<a name="l00274"></a>00274
<a name="l00276"></a>00276 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidiOut.html#a5">getPortCount</a>();
<a name="l00277"></a>00277
<a name="l00279"></a>00279
<a name="l00282"></a>00282 std::string <a class="code" href="classRtMidiOut.html#a6">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber );
<a name="l00283"></a>00283
<a name="l00285"></a>00285
<a name="l00289"></a>00289 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a7">sendMessage</a>( std::vector&lt;unsigned char&gt; *message );
<a name="l00290"></a>00290
<a name="l00291"></a>00291 <span class="keyword">private</span>:
<a name="l00292"></a>00292
<a name="l00293"></a>00293 <span class="keywordtype">void</span> initialize( <span class="keywordtype">void</span> );
<a name="l00294"></a>00294 };
<a name="l00295"></a>00295
<a name="l00296"></a>00296 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,66 +8,51 @@
<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>RtWvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00024 <span class="comment">/***************************************************/</span>
00025
00026 <span class="preprocessor">#ifndef STK_RTWVIN_H</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTWVIN_H</span>
00028 <span class="preprocessor"></span>
00029 <span class="preprocessor">#include "WvIn.h"</span>
00030 <span class="preprocessor">#include "RtAudio.h"</span>
00031
<a name="l00032"></a><a class="code" href="classRtWvIn.html">00032</a> <span class="keyword">class </span><a class="code" href="classRtWvIn.html">RtWvIn</a> : <span class="keyword">protected</span> <a class="code" href="classWvIn.html">WvIn</a>
00033 {
00034 <span class="keyword">public</span>:
00036
00047 <a class="code" href="classRtWvIn.html#a0">RtWvIn</a>(<span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 2);
00048
00050 <a class="code" href="classRtWvIn.html#a1">~RtWvIn</a>();
00051
00053
00056 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a2">start</a>(<span class="keywordtype">void</span>);
00057
00059
00062 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a3">stop</a>(<span class="keywordtype">void</span>);
00063
00065 StkFloat <a class="code" href="classRtWvIn.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00066
00068
00071 StkFloat <a class="code" href="classRtWvIn.html#a5">tick</a>(<span class="keywordtype">void</span>);
00072
00074
00077 StkFloat *<a class="code" href="classRtWvIn.html#a5">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00078
00080
00086 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtWvIn.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00087
00089 <span class="keyword">const</span> StkFloat *<a class="code" href="classRtWvIn.html#a8">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00090
00092
00095 <span class="keyword">const</span> StkFloat *<a class="code" href="classRtWvIn.html#a9">tickFrame</a>(<span class="keywordtype">void</span>);
00096
00098
00101 StkFloat *<a class="code" href="classRtWvIn.html#a9">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00102
00104
00109 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtWvIn.html#a9">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00110
00111 <span class="keyword">protected</span>:
00112
00113 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00114 <span class="keywordtype">bool</span> stopped_;
00115 <span class="keywordtype">long</span> counter_;
00116
00117 };
00118
00119 <span class="preprocessor">#endif</span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>RtWvIn.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00019"></a>00019 <span class="comment">/***************************************************/</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef STK_RTWVIN_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTWVIN_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "WvIn.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "RtAudio.h"</span>
<a name="l00026"></a>00026
<a name="l00027"></a><a class="code" href="classRtWvIn.html">00027</a> <span class="keyword">class </span><a class="code" href="classRtWvIn.html">RtWvIn</a> : <span class="keyword">public</span> <a class="code" href="classWvIn.html">WvIn</a>
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">public</span>:
<a name="l00031"></a>00031
<a name="l00042"></a>00042 <a class="code" href="classRtWvIn.html#a0">RtWvIn</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(),
<a name="l00043"></a>00043 <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 4 );
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <a class="code" href="classRtWvIn.html#a1">~RtWvIn</a>();
<a name="l00047"></a>00047
<a name="l00049"></a>00049
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a2">start</a>( <span class="keywordtype">void</span> );
<a name="l00054"></a>00054
<a name="l00056"></a>00056
<a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a3">stop</a>( <span class="keywordtype">void</span> );
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="keyword">protected</span>:
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keywordtype">void</span> computeFrame( <span class="keywordtype">void</span> );
<a name="l00065"></a>00065
<a name="l00066"></a>00066 <a class="code" href="classRtAudio.html">RtAudio</a> *adc_;
<a name="l00067"></a>00067 StkFloat *buffer_;
<a name="l00068"></a>00068 <span class="keywordtype">bool</span> stopped_;
<a name="l00069"></a>00069 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferFrames_;
<a name="l00070"></a>00070 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferIndex_;
<a name="l00071"></a>00071
<a name="l00072"></a>00072 };
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,65 +8,58 @@
<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>RtWvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00023 <span class="comment">/***************************************************/</span>
00024
00025 <span class="preprocessor">#ifndef STK_RTWVOUT_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTWVOUT_H</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "WvOut.h"</span>
00029 <span class="preprocessor">#include "RtAudio.h"</span>
00030
<a name="l00031"></a><a class="code" href="classRtWvOut.html">00031</a> <span class="keyword">class </span><a class="code" href="classRtWvOut.html">RtWvOut</a> : <span class="keyword">protected</span> <a class="code" href="classWvOut.html">WvOut</a>
00032 {
00033 <span class="keyword">public</span>:
00034
00036
00047 <a class="code" href="classRtWvOut.html#a0">RtWvOut</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 4 );
00048
00050 <a class="code" href="classRtWvOut.html#a1">~RtWvOut</a>();
00051
00053
00056 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a2">start</a>(<span class="keywordtype">void</span>);
00057
00059
00062 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a3">stop</a>(<span class="keywordtype">void</span>);
00063
00065 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classRtWvOut.html#a4">getFrames</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00066
00068 StkFloat <a class="code" href="classRtWvOut.html#a5">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00069
00071
00074 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>( <span class="keyword">const</span> StkFloat sample );
00075
00077
00080 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>( <span class="keyword">const</span> StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00081
00083
00089 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00090
00092
00095 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a9">tickFrame</a>( <span class="keyword">const</span> StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1 );
00096
00098
00103 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a9">tickFrame</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00104
00105 <span class="keyword">protected</span>:
00106
00107 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00108 StkFloat *dataPtr_;
00109 <span class="keywordtype">bool</span> stopped_;
00110 <span class="keywordtype">int</span> bufferSize_;
00111
00112 };
00113
00114 <span class="preprocessor">#endif</span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>RtWvOut.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00019"></a>00019 <span class="comment">/***************************************************/</span>
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef STK_RTWVOUT_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTWVOUT_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "WvOut.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "RtAudio.h"</span>
<a name="l00026"></a>00026
<a name="l00027"></a><a class="code" href="classRtWvOut.html">00027</a> <span class="keyword">class </span><a class="code" href="classRtWvOut.html">RtWvOut</a> : <span class="keyword">public</span> <a class="code" href="classWvOut.html">WvOut</a>
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">public</span>:
<a name="l00030"></a>00030
<a name="l00032"></a>00032
<a name="l00043"></a>00043 <a class="code" href="classRtWvOut.html#a0">RtWvOut</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(),
<a name="l00044"></a>00044 <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 4 );
<a name="l00045"></a>00045
<a name="l00047"></a>00047 <a class="code" href="classRtWvOut.html#a1">~RtWvOut</a>();
<a name="l00048"></a>00048
<a name="l00050"></a>00050
<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a2">start</a>(<span class="keywordtype">void</span>);
<a name="l00055"></a>00055
<a name="l00057"></a>00057
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a3">stop</a>(<span class="keywordtype">void</span>);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">protected</span>:
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="keywordtype">void</span> computeSample( <span class="keyword">const</span> StkFloat sample );
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="keywordtype">void</span> computeFrames( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="keywordtype">void</span> incrementFrame( <span class="keywordtype">void</span> );
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <a class="code" href="classRtAudio.html">RtAudio</a> *dac_;
<a name="l00072"></a>00072 StkFloat *buffer_;
<a name="l00073"></a>00073 <span class="keywordtype">bool</span> stopped_;
<a name="l00074"></a>00074 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels_;
<a name="l00075"></a>00075 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferIndex_;
<a name="l00076"></a>00076 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> iBuffer_;
<a name="l00077"></a>00077 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferFrames_;
<a name="l00078"></a>00078
<a name="l00079"></a>00079 };
<a name="l00080"></a>00080
<a name="l00081"></a>00081 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,139 +8,141 @@
<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>SKINI.msg</h1><div class="fragment"><pre>00001 <span class="comment">/*********************************************************/</span>
00002 <span class="comment">/*</span>
00003 <span class="comment"> Definition of SKINI Message Types and Special Symbols</span>
00004 <span class="comment"> Synthesis toolKit Instrument Network Interface</span>
00005 <span class="comment"></span>
00006 <span class="comment"> These symbols should have the form:</span>
00007 <span class="comment"></span>
00008 <span class="comment"> \c __SK_&lt;name&gt;_</span>
00009 <span class="comment"></span>
00010 <span class="comment"> where &lt;name&gt; is the string used in the SKINI stream.</span>
00011 <span class="comment"></span>
00012 <span class="comment"> by Perry R. Cook, 1995 - 2004.</span>
00013 <span class="comment">*/</span>
00014 <span class="comment">/*********************************************************/</span>
00015
00016 <span class="preprocessor">#define NOPE -32767</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define YEP 1</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define SK_DBL -32766</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define SK_INT -32765</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define SK_STR -32764</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Exit_ 999</span>
00022 <span class="preprocessor"></span>
00023 <span class="comment">/***** MIDI COMPATIBLE MESSAGES *****/</span>
00024 <span class="comment">/*** (Status bytes for channel=0) ***/</span>
00025
00026 <span class="preprocessor">#define __SK_NoteOff_ 128</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NoteOn_ 144</span>
00028 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PolyPressure_ 160</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ControlChange_ 176</span>
00030 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProgramChange_ 192</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define __SK_AfterTouch_ 208</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ChannelPressure_ __SK_AfterTouch_</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PitchWheel_ 224</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PitchBend_ __SK_PitchWheel_</span>
00035 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PitchChange_ 49</span>
00036 <span class="preprocessor"></span>
00037 <span class="preprocessor">#define __SK_Clock_ 248</span>
00038 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SongStart_ 250</span>
00039 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Continue_ 251</span>
00040 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SongStop_ 252</span>
00041 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ActiveSensing_ 254</span>
00042 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SystemReset_ 255</span>
00043 <span class="preprocessor"></span>
00044 <span class="preprocessor">#define __SK_Volume_ 7</span>
00045 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ModWheel_ 1</span>
00046 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Modulation_ __SK_ModWheel_</span>
00047 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Breath_ 2</span>
00048 <span class="preprocessor"></span><span class="preprocessor">#define __SK_FootControl_ 4</span>
00049 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Portamento_ 65</span>
00050 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Balance_ 8</span>
00051 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Pan_ 10</span>
00052 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Sustain_ 64</span>
00053 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Damper_ __SK_Sustain_</span>
00054 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Expression_ 11 </span>
00055 <span class="preprocessor"></span>
00056 <span class="preprocessor">#define __SK_AfterTouch_Cont_ 128</span>
00057 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ModFrequency_ __SK_Expression_</span>
00058 <span class="preprocessor"></span>
00059 <span class="preprocessor">#define __SK_ProphesyRibbon_ 16</span>
00060 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyWheelUp_ 2</span>
00061 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyWheelDown_ 3</span>
00062 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyPedal_ 18</span>
00063 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyKnob1_ 21</span>
00064 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyKnob2_ 22</span>
00065 <span class="preprocessor"></span>
00066 <span class="comment">/*** Instrument Family Specific ***/</span>
00067
00068 <span class="preprocessor">#define __SK_NoiseLevel_ __SK_FootControl_</span>
00069 <span class="preprocessor"></span>
00070 <span class="preprocessor">#define __SK_PickPosition_ __SK_FootControl_</span>
00071 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StringDamping_ __SK_Expression_</span>
00072 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StringDetune_ __SK_ModWheel_</span>
00073 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BodySize_ __SK_Breath_</span>
00074 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BowPressure_ __SK_Breath_</span>
00075 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BowPosition_ __SK_PickPosition_</span>
00076 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BowBeta_ __SK_BowPosition_</span>
00077 <span class="preprocessor"></span>
00078 <span class="preprocessor">#define __SK_ReedStiffness_ __SK_Breath_</span>
00079 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ReedRestPos_ __SK_FootControl_</span>
00080 <span class="preprocessor"></span>
00081 <span class="preprocessor">#define __SK_FluteEmbouchure_ __SK_Breath_</span>
00082 <span class="preprocessor"></span><span class="preprocessor">#define __SK_JetDelay_ __SK_FluteEmbouchure_</span>
00083 <span class="preprocessor"></span>
00084 <span class="preprocessor">#define __SK_LipTension_ __SK_Breath_</span>
00085 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SlideLength_ __SK_FootControl_</span>
00086 <span class="preprocessor"></span>
00087 <span class="preprocessor">#define __SK_StrikePosition_ __SK_PickPosition_</span>
00088 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StickHardness_ __SK_Breath_</span>
00089 <span class="preprocessor"></span>
00090 <span class="preprocessor">#define __SK_TrillDepth_ 1051</span>
00091 <span class="preprocessor"></span><span class="preprocessor">#define __SK_TrillSpeed_ 1052</span>
00092 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StrumSpeed_ __SK_TrillSpeed_</span>
00093 <span class="preprocessor"></span><span class="preprocessor">#define __SK_RollSpeed_ __SK_TrillSpeed_</span>
00094 <span class="preprocessor"></span>
00095 <span class="preprocessor">#define __SK_FilterQ_ __SK_Breath_</span>
00096 <span class="preprocessor"></span><span class="preprocessor">#define __SK_FilterFreq_ 1062</span>
00097 <span class="preprocessor"></span><span class="preprocessor">#define __SK_FilterSweepRate_ __SK_FootControl_</span>
00098 <span class="preprocessor"></span>
00099 <span class="preprocessor">#define __SK_ShakerInst_ 1071 </span>
00100 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ShakerEnergy_ __SK_Breath_</span>
00101 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ShakerDamping_ __SK_ModFrequency_</span>
00102 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ShakerNumObjects_ __SK_FootControl_</span>
00103 <span class="preprocessor"></span>
00104 <span class="preprocessor">#define __SK_Strumming_ 1090</span>
00105 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NotStrumming_ 1091</span>
00106 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Trilling_ 1092</span>
00107 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NotTrilling_ 1093</span>
00108 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Rolling_ __SK_Strumming_</span>
00109 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NotRolling_ __SK_NotStrumming_</span>
00110 <span class="preprocessor"></span>
00111 <span class="preprocessor">#define __SK_PlayerSkill_ 2001</span>
00112 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Chord_ 2002</span>
00113 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ChordOff_ 2003</span>
00114 <span class="preprocessor"></span>
00115 <span class="preprocessor">#define __SK_SINGER_FilePath_ 3000</span>
00116 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Frequency_ 3001</span>
00117 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_NoteName_ 3002</span>
00118 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Shape_ 3003</span>
00119 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Glot_ 3004</span>
00120 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_VoicedUnVoiced_ 3005</span>
00121 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Synthesize_ 3006</span>
00122 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Silence_ 3007</span>
00123 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_VibratoAmt_ __SK_ModWheel_</span>
00124 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_RndVibAmt_ 3008</span>
00125 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_VibFreq_ __SK_Expression_</span>
00126 <span class="preprocessor"></span>
00127
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>SKINI.msg</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*********************************************************/</span>
<a name="l00002"></a>00002 <span class="comment">/*</span>
<a name="l00003"></a>00003 <span class="comment"> Definition of SKINI Message Types and Special Symbols</span>
<a name="l00004"></a>00004 <span class="comment"> Synthesis toolKit Instrument Network Interface</span>
<a name="l00005"></a>00005 <span class="comment"></span>
<a name="l00006"></a>00006 <span class="comment"> These symbols should have the form:</span>
<a name="l00007"></a>00007 <span class="comment"></span>
<a name="l00008"></a>00008 <span class="comment"> \c __SK_&lt;name&gt;_</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="comment"> where &lt;name&gt; is the string used in the SKINI stream.</span>
<a name="l00011"></a>00011 <span class="comment"></span>
<a name="l00012"></a>00012 <span class="comment"> by Perry R. Cook, 1995 - 2004.</span>
<a name="l00013"></a>00013 <span class="comment">*/</span>
<a name="l00014"></a>00014 <span class="comment">/*********************************************************/</span>
<a name="l00015"></a>00015
<a name="l00016"></a>00016 <span class="preprocessor">#define NOPE -32767</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define YEP 1</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define SK_DBL -32766</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define SK_INT -32765</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define SK_STR -32764</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Exit_ 999</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="comment">/***** MIDI COMPATIBLE MESSAGES *****/</span>
<a name="l00024"></a>00024 <span class="comment">/*** (Status bytes for channel=0) ***/</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="preprocessor">#define __SK_NoteOff_ 128</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NoteOn_ 144</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PolyPressure_ 160</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ControlChange_ 176</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProgramChange_ 192</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define __SK_AfterTouch_ 208</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ChannelPressure_ __SK_AfterTouch_</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PitchWheel_ 224</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PitchBend_ __SK_PitchWheel_</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PitchChange_ 49</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span>
<a name="l00037"></a>00037 <span class="preprocessor">#define __SK_Clock_ 248</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SongStart_ 250</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Continue_ 251</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SongStop_ 252</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ActiveSensing_ 254</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SystemReset_ 255</span>
<a name="l00043"></a>00043 <span class="preprocessor"></span>
<a name="l00044"></a>00044 <span class="preprocessor">#define __SK_Volume_ 7</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ModWheel_ 1</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Modulation_ __SK_ModWheel_</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Breath_ 2</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define __SK_FootControl_ 4</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Portamento_ 65</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Balance_ 8</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Pan_ 10</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Sustain_ 64</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Damper_ __SK_Sustain_</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Expression_ 11 </span>
<a name="l00055"></a>00055 <span class="preprocessor"></span>
<a name="l00056"></a>00056 <span class="preprocessor">#define __SK_AfterTouch_Cont_ 128</span>
<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ModFrequency_ __SK_Expression_</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span>
<a name="l00059"></a>00059 <span class="preprocessor">#define __SK_ProphesyRibbon_ 16</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyWheelUp_ 2</span>
<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyWheelDown_ 3</span>
<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyPedal_ 18</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyKnob1_ 21</span>
<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyKnob2_ 22</span>
<a name="l00065"></a>00065 <span class="preprocessor"></span>
<a name="l00066"></a>00066 <span class="comment">/*** Instrument Family Specific ***/</span>
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="preprocessor">#define __SK_NoiseLevel_ __SK_FootControl_</span>
<a name="l00069"></a>00069 <span class="preprocessor"></span>
<a name="l00070"></a>00070 <span class="preprocessor">#define __SK_PickPosition_ __SK_FootControl_</span>
<a name="l00071"></a>00071 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StringDamping_ __SK_Expression_</span>
<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StringDetune_ __SK_ModWheel_</span>
<a name="l00073"></a>00073 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BodySize_ __SK_Breath_</span>
<a name="l00074"></a>00074 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BowPressure_ __SK_Breath_</span>
<a name="l00075"></a>00075 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BowPosition_ __SK_PickPosition_</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BowBeta_ __SK_BowPosition_</span>
<a name="l00077"></a>00077 <span class="preprocessor"></span>
<a name="l00078"></a>00078 <span class="preprocessor">#define __SK_ReedStiffness_ __SK_Breath_</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ReedRestPos_ __SK_FootControl_</span>
<a name="l00080"></a>00080 <span class="preprocessor"></span>
<a name="l00081"></a>00081 <span class="preprocessor">#define __SK_FluteEmbouchure_ __SK_Breath_</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#define __SK_JetDelay_ __SK_FluteEmbouchure_</span>
<a name="l00083"></a>00083 <span class="preprocessor"></span>
<a name="l00084"></a>00084 <span class="preprocessor">#define __SK_LipTension_ __SK_Breath_</span>
<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SlideLength_ __SK_FootControl_</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span>
<a name="l00087"></a>00087 <span class="preprocessor">#define __SK_StrikePosition_ __SK_PickPosition_</span>
<a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StickHardness_ __SK_Breath_</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span>
<a name="l00090"></a>00090 <span class="preprocessor">#define __SK_TrillDepth_ 1051</span>
<a name="l00091"></a>00091 <span class="preprocessor"></span><span class="preprocessor">#define __SK_TrillSpeed_ 1052</span>
<a name="l00092"></a>00092 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StrumSpeed_ __SK_TrillSpeed_</span>
<a name="l00093"></a>00093 <span class="preprocessor"></span><span class="preprocessor">#define __SK_RollSpeed_ __SK_TrillSpeed_</span>
<a name="l00094"></a>00094 <span class="preprocessor"></span>
<a name="l00095"></a>00095 <span class="preprocessor">#define __SK_FilterQ_ __SK_Breath_</span>
<a name="l00096"></a>00096 <span class="preprocessor"></span><span class="preprocessor">#define __SK_FilterFreq_ 1062</span>
<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="preprocessor">#define __SK_FilterSweepRate_ __SK_FootControl_</span>
<a name="l00098"></a>00098 <span class="preprocessor"></span>
<a name="l00099"></a>00099 <span class="preprocessor">#define __SK_ShakerInst_ 1071 </span>
<a name="l00100"></a>00100 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ShakerEnergy_ __SK_Breath_</span>
<a name="l00101"></a>00101 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ShakerDamping_ __SK_ModFrequency_</span>
<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ShakerNumObjects_ __SK_FootControl_</span>
<a name="l00103"></a>00103 <span class="preprocessor"></span>
<a name="l00104"></a>00104 <span class="preprocessor">#define __SK_Strumming_ 1090</span>
<a name="l00105"></a>00105 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NotStrumming_ 1091</span>
<a name="l00106"></a>00106 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Trilling_ 1092</span>
<a name="l00107"></a>00107 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NotTrilling_ 1093</span>
<a name="l00108"></a>00108 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Rolling_ __SK_Strumming_</span>
<a name="l00109"></a>00109 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NotRolling_ __SK_NotStrumming_</span>
<a name="l00110"></a>00110 <span class="preprocessor"></span>
<a name="l00111"></a>00111 <span class="preprocessor">#define __SK_PlayerSkill_ 2001</span>
<a name="l00112"></a>00112 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Chord_ 2002</span>
<a name="l00113"></a>00113 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ChordOff_ 2003</span>
<a name="l00114"></a>00114 <span class="preprocessor"></span>
<a name="l00115"></a>00115 <span class="preprocessor">#define __SK_SINGER_FilePath_ 3000</span>
<a name="l00116"></a>00116 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Frequency_ 3001</span>
<a name="l00117"></a>00117 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_NoteName_ 3002</span>
<a name="l00118"></a>00118 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Shape_ 3003</span>
<a name="l00119"></a>00119 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Glot_ 3004</span>
<a name="l00120"></a>00120 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_VoicedUnVoiced_ 3005</span>
<a name="l00121"></a>00121 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Synthesize_ 3006</span>
<a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Silence_ 3007</span>
<a name="l00123"></a>00123 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_VibratoAmt_ __SK_ModWheel_</span>
<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_RndVibAmt_ 3008</span>
<a name="l00125"></a>00125 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_VibFreq_ __SK_Expression_</span>
<a name="l00126"></a>00126 <span class="preprocessor"></span>
<a name="l00127"></a>00127
</pre></div><HR>
<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>

View File

@@ -8,64 +8,61 @@
<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>Sampler.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_SAMPLER_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_SAMPLER_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Instrmnt.h"</span>
00016 <span class="preprocessor">#include "ADSR.h"</span>
00017 <span class="preprocessor">#include "WvIn.h"</span>
00018 <span class="preprocessor">#include "WaveLoop.h"</span>
00019 <span class="preprocessor">#include "OnePole.h"</span>
00020
<a name="l00021"></a><a class="code" href="classSampler.html">00021</a> <span class="keyword">class </span><a class="code" href="classSampler.html">Sampler</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00022 {
00023 <span class="keyword">public</span>:
00025 <a class="code" href="classSampler.html#a0">Sampler</a>();
00026
00028 <span class="keyword">virtual</span> <a class="code" href="classSampler.html#a1">~Sampler</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a2">clear</a>();
00032
00034 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a3">setFrequency</a>(StkFloat frequency) = 0;
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a4">keyOn</a>();
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a5">keyOff</a>();
00041
00043 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a6">noteOff</a>(StkFloat amplitude);
00044
00046 <span class="keyword">virtual</span> StkFloat <a class="code" href="classSampler.html#a7">tick</a>() = 0;
00047
00049 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classSampler.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize) = 0;
00050
00052
00058 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSampler.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 ) = 0;
00059
00061 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value) = 0;
00062
00063 <span class="keyword">protected</span>:
00064 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00065 std::vector&lt;WvIn *&gt; attacks_;
00066 std::vector&lt;WaveLoop *&gt; loops_;
00067 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00068 StkFloat baseFrequency_;
00069 std::vector&lt;StkFloat&gt; attackRatios_;
00070 std::vector&lt;StkFloat&gt; loopRatios_;
00071 StkFloat attackGain_;
00072 StkFloat loopGain_;
00073
00074 };
00075
00076 <span class="preprocessor">#endif</span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Sampler.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
<a name="l00011"></a>00011
<a name="l00012"></a>00012 <span class="preprocessor">#ifndef STK_SAMPLER_H</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_SAMPLER_H</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include "WaveLoop.h"</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classSampler.html">00020</a> <span class="keyword">class </span><a class="code" href="classSampler.html">Sampler</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="keyword">public</span>:
<a name="l00024"></a>00024 <a class="code" href="classSampler.html#a0">Sampler</a>();
<a name="l00025"></a>00025
<a name="l00027"></a>00027 <span class="keyword">virtual</span> <a class="code" href="classSampler.html#a1">~Sampler</a>();
<a name="l00028"></a>00028
<a name="l00030"></a>00030 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a2">clear</a>();
<a name="l00031"></a>00031
<a name="l00033"></a>00033 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a3">setFrequency</a>(StkFloat frequency) = 0;
<a name="l00034"></a>00034
<a name="l00036"></a>00036 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a4">keyOn</a>();
<a name="l00037"></a>00037
<a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a5">keyOff</a>();
<a name="l00040"></a>00040
<a name="l00042"></a>00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a6">noteOff</a>(StkFloat amplitude);
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value) = 0;
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="keyword">protected</span>:
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="keyword">virtual</span> StkFloat computeSample( <span class="keywordtype">void</span> ) = 0;
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <a class="code" href="classADSR.html">ADSR</a> adsr_;
<a name="l00052"></a>00052 std::vector&lt;FileWvIn *&gt; attacks_;
<a name="l00053"></a>00053 std::vector&lt;WaveLoop *&gt; loops_;
<a name="l00054"></a>00054 <a class="code" href="classOnePole.html">OnePole</a> filter_;
<a name="l00055"></a>00055 StkFloat baseFrequency_;
<a name="l00056"></a>00056 std::vector&lt;StkFloat&gt; attackRatios_;
<a name="l00057"></a>00057 std::vector&lt;StkFloat&gt; loopRatios_;
<a name="l00058"></a>00058 StkFloat attackGain_;
<a name="l00059"></a>00059 StkFloat loopGain_;
<a name="l00060"></a>00060
<a name="l00061"></a>00061 };
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,73 +8,71 @@
<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>Saxofony.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00036 <span class="comment">/***************************************************/</span>
00037
00038 <span class="preprocessor">#ifndef STK_SAXOFONY_H</span>
00039 <span class="preprocessor"></span><span class="preprocessor">#define STK_SAXOFONY_H</span>
00040 <span class="preprocessor"></span>
00041 <span class="preprocessor">#include "Instrmnt.h"</span>
00042 <span class="preprocessor">#include "DelayL.h"</span>
00043 <span class="preprocessor">#include "ReedTable.h"</span>
00044 <span class="preprocessor">#include "OneZero.h"</span>
00045 <span class="preprocessor">#include "Envelope.h"</span>
00046 <span class="preprocessor">#include "Noise.h"</span>
00047 <span class="preprocessor">#include "WaveLoop.h"</span>
00048
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Saxofony.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00036"></a>00036 <span class="comment">/***************************************************/</span>
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef STK_SAXOFONY_H</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define STK_SAXOFONY_H</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include "DelayL.h"</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include "ReedTable.h"</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include "OneZero.h"</span>
<a name="l00045"></a>00045 <span class="preprocessor">#include "Envelope.h"</span>
<a name="l00046"></a>00046 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00047"></a>00047 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00048"></a>00048
<a name="l00049"></a><a class="code" href="classSaxofony.html">00049</a> <span class="keyword">class </span><a class="code" href="classSaxofony.html">Saxofony</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00050 {
00051 <span class="keyword">public</span>:
00053
00056 <a class="code" href="classSaxofony.html#a0">Saxofony</a>(StkFloat lowestFrequency);
00057
00059 <a class="code" href="classSaxofony.html#a1">~Saxofony</a>();
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a2">clear</a>();
00063
00065 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a3">setFrequency</a>(StkFloat frequency);
00066
00068 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a4">setBlowPosition</a>(StkFloat aPosition);
00069
00071 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a5">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00072
00074 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a6">stopBlowing</a>(StkFloat rate);
00075
00077 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00078
00080 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a8">noteOff</a>(StkFloat amplitude);
00081
00083 StkFloat <a class="code" href="classSaxofony.html#a9">tick</a>();
00084
00086 StkFloat *<a class="code" href="classSaxofony.html#a9">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00087
00089
00095 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSaxofony.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00096
00098 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00099
00100 <span class="keyword">protected</span>:
00101 <a class="code" href="classDelayL.html">DelayL</a> delays_[2];
00102 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
00103 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00104 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00105 <a class="code" href="classNoise.html">Noise</a> noise_;
00106 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00107 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00108 StkFloat outputGain_;
00109 StkFloat noiseGain_;
00110 StkFloat vibratoGain_;
00111 StkFloat position_;
00112
00113 };
00114
00115 <span class="preprocessor">#endif</span>
<a name="l00050"></a>00050 {
<a name="l00051"></a>00051 <span class="keyword">public</span>:
<a name="l00053"></a>00053
<a name="l00056"></a>00056 <a class="code" href="classSaxofony.html#a0">Saxofony</a>(StkFloat lowestFrequency);
<a name="l00057"></a>00057
<a name="l00059"></a>00059 <a class="code" href="classSaxofony.html#a1">~Saxofony</a>();
<a name="l00060"></a>00060
<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a2">clear</a>();
<a name="l00063"></a>00063
<a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00066"></a>00066
<a name="l00068"></a>00068 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a4">setBlowPosition</a>(StkFloat aPosition);
<a name="l00069"></a>00069
<a name="l00071"></a>00071 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a5">startBlowing</a>(StkFloat amplitude, StkFloat rate);
<a name="l00072"></a>00072
<a name="l00074"></a>00074 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a6">stopBlowing</a>(StkFloat rate);
<a name="l00075"></a>00075
<a name="l00077"></a>00077 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00078"></a>00078
<a name="l00080"></a>00080 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a8">noteOff</a>(StkFloat amplitude);
<a name="l00081"></a>00081
<a name="l00083"></a>00083 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="keyword">protected</span>:
<a name="l00086"></a>00086
<a name="l00087"></a>00087 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <a class="code" href="classDelayL.html">DelayL</a> delays_[2];
<a name="l00090"></a>00090 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
<a name="l00091"></a>00091 <a class="code" href="classOneZero.html">OneZero</a> filter_;
<a name="l00092"></a>00092 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
<a name="l00093"></a>00093 <a class="code" href="classNoise.html">Noise</a> noise_;
<a name="l00094"></a>00094 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
<a name="l00095"></a>00095 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
<a name="l00096"></a>00096 StkFloat outputGain_;
<a name="l00097"></a>00097 StkFloat noiseGain_;
<a name="l00098"></a>00098 StkFloat vibratoGain_;
<a name="l00099"></a>00099 StkFloat position_;
<a name="l00100"></a>00100
<a name="l00101"></a>00101 };
<a name="l00102"></a>00102
<a name="l00103"></a>00103 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,84 +8,80 @@
<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>Shakers.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00053 <span class="comment">/***************************************************/</span>
00054
00055 <span class="preprocessor">#ifndef STK_SHAKERS_H</span>
00056 <span class="preprocessor"></span><span class="preprocessor">#define STK_SHAKERS_H</span>
00057 <span class="preprocessor"></span>
00058 <span class="preprocessor">#include "Instrmnt.h"</span>
00059
00060 <span class="keyword">const</span> <span class="keywordtype">int</span> MAX_FREQS = 8;
00061 <span class="keyword">const</span> <span class="keywordtype">int</span> NUM_INSTR = 24;
00062
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Shakers.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00053"></a>00053 <span class="comment">/***************************************************/</span>
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="preprocessor">#ifndef STK_SHAKERS_H</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor">#define STK_SHAKERS_H</span>
<a name="l00057"></a>00057 <span class="preprocessor"></span>
<a name="l00058"></a>00058 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="keyword">const</span> <span class="keywordtype">int</span> MAX_FREQS = 8;
<a name="l00061"></a>00061 <span class="keyword">const</span> <span class="keywordtype">int</span> NUM_INSTR = 24;
<a name="l00062"></a>00062
<a name="l00063"></a><a class="code" href="classShakers.html">00063</a> <span class="keyword">class </span><a class="code" href="classShakers.html">Shakers</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00064 {
00065 <span class="keyword">public</span>:
00067 <a class="code" href="classShakers.html#a0">Shakers</a>();
00068
00070 <a class="code" href="classShakers.html#a1">~Shakers</a>();
00071
00073
00077 <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a2">noteOn</a>(StkFloat instrument, StkFloat amplitude);
00078
00080 <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a3">noteOff</a>(StkFloat amplitude);
00081
00083 StkFloat <a class="code" href="classShakers.html#a4">tick</a>();
00084
00086 StkFloat *<a class="code" href="classShakers.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00087
00089
00095 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classShakers.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00096
00098 <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00099
00100 <span class="keyword">protected</span>:
00101
00102 <span class="keywordtype">int</span> setupName(<span class="keywordtype">char</span>* instr);
00103 <span class="keywordtype">int</span> setupNum(<span class="keywordtype">int</span> inst);
00104 <span class="keywordtype">int</span> setFreqAndReson(<span class="keywordtype">int</span> which, StkFloat freq, StkFloat reson);
00105 <span class="keywordtype">void</span> setDecays(StkFloat sndDecay, StkFloat sysDecay);
00106 <span class="keywordtype">void</span> setFinalZs(StkFloat z0, StkFloat z1, StkFloat z2);
00107 StkFloat wuter_tick();
00108 StkFloat tbamb_tick();
00109 StkFloat ratchet_tick();
00110
00111 <span class="keywordtype">int</span> instType_;
00112 <span class="keywordtype">int</span> ratchetPos_, lastRatchetPos_;
00113 StkFloat shakeEnergy_;
00114 StkFloat inputs_[MAX_FREQS];
00115 StkFloat outputs_[MAX_FREQS][2];
00116 StkFloat coeffs_[MAX_FREQS][2];
00117 StkFloat sndLevel_;
00118 StkFloat baseGain_;
00119 StkFloat gains_[MAX_FREQS];
00120 <span class="keywordtype">int</span> nFreqs_;
00121 StkFloat t_center_freqs_[MAX_FREQS];
00122 StkFloat center_freqs_[MAX_FREQS];
00123 StkFloat resons_[MAX_FREQS];
00124 StkFloat freq_rand_[MAX_FREQS];
00125 <span class="keywordtype">int</span> freqalloc_[MAX_FREQS];
00126 StkFloat soundDecay_;
00127 StkFloat systemDecay_;
00128 StkFloat nObjects_;
00129 StkFloat totalEnergy_;
00130 StkFloat ratchet_, ratchetDelta_;
00131 StkFloat finalZ_[3];
00132 StkFloat finalZCoeffs_[3];
00133 StkFloat defObjs_[NUM_INSTR];
00134 StkFloat defDecays_[NUM_INSTR];
00135 StkFloat decayScale_[NUM_INSTR];
00136
00137 };
00138
00139 <span class="preprocessor">#endif</span>
<a name="l00064"></a>00064 {
<a name="l00065"></a>00065 <span class="keyword">public</span>:
<a name="l00067"></a>00067 <a class="code" href="classShakers.html#a0">Shakers</a>();
<a name="l00068"></a>00068
<a name="l00070"></a>00070 <a class="code" href="classShakers.html#a1">~Shakers</a>();
<a name="l00071"></a>00071
<a name="l00073"></a>00073
<a name="l00077"></a>00077 <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a2">noteOn</a>(StkFloat instrument, StkFloat amplitude);
<a name="l00078"></a>00078
<a name="l00080"></a>00080 <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a3">noteOff</a>(StkFloat amplitude);
<a name="l00081"></a>00081
<a name="l00083"></a>00083 <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a4">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="keyword">protected</span>:
<a name="l00086"></a>00086
<a name="l00087"></a>00087 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00088"></a>00088 <span class="keywordtype">int</span> setupName(<span class="keywordtype">char</span>* instr);
<a name="l00089"></a>00089 <span class="keywordtype">int</span> setupNum(<span class="keywordtype">int</span> inst);
<a name="l00090"></a>00090 <span class="keywordtype">int</span> setFreqAndReson(<span class="keywordtype">int</span> which, StkFloat freq, StkFloat reson);
<a name="l00091"></a>00091 <span class="keywordtype">void</span> setDecays(StkFloat sndDecay, StkFloat sysDecay);
<a name="l00092"></a>00092 <span class="keywordtype">void</span> setFinalZs(StkFloat z0, StkFloat z1, StkFloat z2);
<a name="l00093"></a>00093 StkFloat wuter_tick();
<a name="l00094"></a>00094 StkFloat tbamb_tick();
<a name="l00095"></a>00095 StkFloat ratchet_tick();
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="keywordtype">int</span> instType_;
<a name="l00098"></a>00098 <span class="keywordtype">int</span> ratchetPos_, lastRatchetPos_;
<a name="l00099"></a>00099 StkFloat shakeEnergy_;
<a name="l00100"></a>00100 StkFloat inputs_[MAX_FREQS];
<a name="l00101"></a>00101 StkFloat outputs_[MAX_FREQS][2];
<a name="l00102"></a>00102 StkFloat coeffs_[MAX_FREQS][2];
<a name="l00103"></a>00103 StkFloat sndLevel_;
<a name="l00104"></a>00104 StkFloat baseGain_;
<a name="l00105"></a>00105 StkFloat gains_[MAX_FREQS];
<a name="l00106"></a>00106 <span class="keywordtype">int</span> nFreqs_;
<a name="l00107"></a>00107 StkFloat t_center_freqs_[MAX_FREQS];
<a name="l00108"></a>00108 StkFloat center_freqs_[MAX_FREQS];
<a name="l00109"></a>00109 StkFloat resons_[MAX_FREQS];
<a name="l00110"></a>00110 StkFloat freq_rand_[MAX_FREQS];
<a name="l00111"></a>00111 <span class="keywordtype">int</span> freqalloc_[MAX_FREQS];
<a name="l00112"></a>00112 StkFloat soundDecay_;
<a name="l00113"></a>00113 StkFloat systemDecay_;
<a name="l00114"></a>00114 StkFloat nObjects_;
<a name="l00115"></a>00115 StkFloat totalEnergy_;
<a name="l00116"></a>00116 StkFloat ratchet_, ratchetDelta_;
<a name="l00117"></a>00117 StkFloat finalZ_[3];
<a name="l00118"></a>00118 StkFloat finalZCoeffs_[3];
<a name="l00119"></a>00119 StkFloat defObjs_[NUM_INSTR];
<a name="l00120"></a>00120 StkFloat defDecays_[NUM_INSTR];
<a name="l00121"></a>00121 StkFloat decayScale_[NUM_INSTR];
<a name="l00122"></a>00122
<a name="l00123"></a>00123 };
<a name="l00124"></a>00124
<a name="l00125"></a>00125 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,66 +8,64 @@
<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>Simple.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span>
00019
00020 <span class="preprocessor">#ifndef STK_SIMPLE_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_SIMPLE_H</span>
00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00024 <span class="preprocessor">#include "ADSR.h"</span>
00025 <span class="preprocessor">#include "WaveLoop.h"</span>
00026 <span class="preprocessor">#include "OnePole.h"</span>
00027 <span class="preprocessor">#include "BiQuad.h"</span>
00028 <span class="preprocessor">#include "Noise.h"</span>
00029
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Simple.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00018"></a>00018 <span class="comment">/***************************************************/</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="preprocessor">#ifndef STK_SIMPLE_H</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_SIMPLE_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "WaveLoop.h"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "BiQuad.h"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00029"></a>00029
<a name="l00030"></a><a class="code" href="classSimple.html">00030</a> <span class="keyword">class </span><a class="code" href="classSimple.html">Simple</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00031 {
00032 <span class="keyword">public</span>:
00034
00037 <a class="code" href="classSimple.html#a0">Simple</a>();
00038
00040 <a class="code" href="classSimple.html#a1">~Simple</a>();
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a2">clear</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a3">setFrequency</a>(StkFloat frequency);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a4">keyOn</a>();
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a5">keyOff</a>();
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a7">noteOff</a>(StkFloat amplitude);
00059
00061 StkFloat <a class="code" href="classSimple.html#a8">tick</a>();
00062
00064 StkFloat *<a class="code" href="classSimple.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00065
00067
00073 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSimple.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00077
00078 <span class="keyword">protected</span>:
00079 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00080 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loop_;
00081 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00082 <a class="code" href="classBiQuad.html">BiQuad</a> biquad_;
00083 <a class="code" href="classNoise.html">Noise</a> noise_;
00084 StkFloat baseFrequency_;
00085 StkFloat loopGain_;
00086
00087 };
00088
00089 <span class="preprocessor">#endif</span>
<a name="l00031"></a>00031 {
<a name="l00032"></a>00032 <span class="keyword">public</span>:
<a name="l00034"></a>00034
<a name="l00037"></a>00037 <a class="code" href="classSimple.html#a0">Simple</a>();
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <a class="code" href="classSimple.html#a1">~Simple</a>();
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a2">clear</a>();
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a4">keyOn</a>();
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a5">keyOff</a>();
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a7">noteOff</a>(StkFloat amplitude);
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a8">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">protected</span>:
<a name="l00064"></a>00064
<a name="l00065"></a>00065 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <a class="code" href="classADSR.html">ADSR</a> adsr_;
<a name="l00068"></a>00068 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loop_;
<a name="l00069"></a>00069 <a class="code" href="classOnePole.html">OnePole</a> filter_;
<a name="l00070"></a>00070 <a class="code" href="classBiQuad.html">BiQuad</a> biquad_;
<a name="l00071"></a>00071 <a class="code" href="classNoise.html">Noise</a> noise_;
<a name="l00072"></a>00072 StkFloat baseFrequency_;
<a name="l00073"></a>00073 StkFloat loopGain_;
<a name="l00074"></a>00074
<a name="l00075"></a>00075 };
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -0,0 +1,67 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>SineWave.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00014"></a>00014 <span class="comment">/***************************************************/</span>
<a name="l00015"></a>00015
<a name="l00016"></a>00016 <span class="preprocessor">#ifndef STK_SINEWAVE_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_SINEWAVE_H</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> TABLE_SIZE = 2048;
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#include "Generator.h"</span>
<a name="l00022"></a>00022
<a name="l00023"></a><a class="code" href="classSineWave.html">00023</a> <span class="keyword">class </span><a class="code" href="classSineWave.html">SineWave</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="keyword">public</span>:
<a name="l00027"></a>00027 <a class="code" href="classSineWave.html#a0">SineWave</a>( <span class="keywordtype">void</span> );
<a name="l00028"></a>00028
<a name="l00030"></a>00030 <span class="keyword">virtual</span> <a class="code" href="classSineWave.html#a1">~SineWave</a>( <span class="keywordtype">void</span> );
<a name="l00031"></a>00031
<a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="classSineWave.html#a2">reset</a>( <span class="keywordtype">void</span> );
<a name="l00034"></a>00034
<a name="l00036"></a>00036
<a name="l00039"></a><a class="code" href="classSineWave.html#a3">00039</a> <span class="keywordtype">void</span> <a class="code" href="classSineWave.html#a3">setRate</a>( StkFloat rate ) { rate_ = rate; };
<a name="l00040"></a>00040
<a name="l00042"></a>00042
<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classSineWave.html#a4">setFrequency</a>( StkFloat frequency );
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classSineWave.html#a5">addTime</a>( StkFloat time );
<a name="l00052"></a>00052
<a name="l00054"></a>00054
<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classSineWave.html#a6">addPhase</a>( StkFloat angle );
<a name="l00060"></a>00060
<a name="l00062"></a>00062
<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classSineWave.html#a7">addPhaseOffset</a>( StkFloat angle );
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="keyword">protected</span>:
<a name="l00070"></a>00070
<a name="l00071"></a>00071 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="keyword">static</span> <a class="code" href="classStkFrames.html">StkFrames</a> table_;
<a name="l00074"></a>00074 StkFloat time_;
<a name="l00075"></a>00075 StkFloat rate_;
<a name="l00076"></a>00076 StkFloat phaseOffset_;
<a name="l00077"></a>00077
<a name="l00078"></a>00078 };
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -8,73 +8,70 @@
<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>SingWave.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00014 <span class="comment">/***************************************************/</span>
00015
00016 <span class="preprocessor">#ifndef STK_SINGWAVE_H</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_SINGWAVE_H</span>
00018 <span class="preprocessor"></span>
00019 <span class="preprocessor">#include "WaveLoop.h"</span>
00020 <span class="preprocessor">#include "Modulate.h"</span>
00021 <span class="preprocessor">#include "Envelope.h"</span>
00022
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>SingWave.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00014"></a>00014 <span class="comment">/***************************************************/</span>
<a name="l00015"></a>00015
<a name="l00016"></a>00016 <span class="preprocessor">#ifndef STK_SINGWAVE_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_SINGWAVE_H</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include "WaveLoop.h"</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include "Modulate.h"</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "Envelope.h"</span>
<a name="l00022"></a>00022
<a name="l00023"></a><a class="code" href="classSingWave.html">00023</a> <span class="keyword">class </span><a class="code" href="classSingWave.html">SingWave</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
00024 {
00025 <span class="keyword">public</span>:
00027
00031 <a class="code" href="classSingWave.html#a0">SingWave</a>( std::string fileName, <span class="keywordtype">bool</span> raw=<span class="keyword">false</span>);
00032
00034 <a class="code" href="classSingWave.html#a1">~SingWave</a>();
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a2">reset</a>();
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>();
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>(StkFloat peak);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a5">setFrequency</a>(StkFloat frequency);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a6">setVibratoRate</a>(StkFloat rate);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a7">setVibratoGain</a>(StkFloat gain);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a8">setRandomGain</a>(StkFloat gain);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a9">setSweepRate</a>(StkFloat rate);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a10">setGainRate</a>(StkFloat rate);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a11">setGainTarget</a>(StkFloat target);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a12">noteOn</a>();
00068
00070 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a13">noteOff</a>();
00071
00073 StkFloat <a class="code" href="classSingWave.html#a14">tick</a>();
00074
00076 StkFloat *<a class="code" href="classSingWave.html#a14">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00077
00079
00085 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSingWave.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00086
00087 <span class="keyword">protected</span>:
00088
00089 <a class="code" href="classWaveLoop.html">WaveLoop</a> *wave_;
00090 <a class="code" href="classModulate.html">Modulate</a> *modulator_;
00091 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00092 <a class="code" href="classEnvelope.html">Envelope</a> pitchEnvelope_;
00093 StkFloat rate_;
00094 StkFloat sweepRate_;
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
<a name="l00024"></a>00024 {
<a name="l00025"></a>00025 <span class="keyword">public</span>:
<a name="l00027"></a>00027
<a name="l00031"></a>00031 <a class="code" href="classSingWave.html#a0">SingWave</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>);
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <a class="code" href="classSingWave.html#a1">~SingWave</a>();
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a2">reset</a>();
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>();
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>(StkFloat peak);
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a5">setFrequency</a>(StkFloat frequency);
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a6">setVibratoRate</a>(StkFloat rate);
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a7">setVibratoGain</a>(StkFloat gain);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a8">setRandomGain</a>(StkFloat gain);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a9">setSweepRate</a>(StkFloat rate);
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a10">setGainRate</a>(StkFloat rate);
<a name="l00062"></a>00062
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a11">setGainTarget</a>(StkFloat target);
<a name="l00065"></a>00065
<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a12">noteOn</a>();
<a name="l00068"></a>00068
<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a13">noteOff</a>();
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="keyword">protected</span>:
<a name="l00073"></a>00073
<a name="l00074"></a>00074 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <a class="code" href="classWaveLoop.html">WaveLoop</a> *wave_;
<a name="l00077"></a>00077 <a class="code" href="classModulate.html">Modulate</a> modulator_;
<a name="l00078"></a>00078 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
<a name="l00079"></a>00079 <a class="code" href="classEnvelope.html">Envelope</a> pitchEnvelope_;
<a name="l00080"></a>00080 StkFloat rate_;
<a name="l00081"></a>00081 StkFloat sweepRate_;
<a name="l00082"></a>00082
<a name="l00083"></a>00083 };
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,63 +8,61 @@
<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>Sitar.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span>
00019
00020 <span class="preprocessor">#ifndef STK_SITAR_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_SITAR_H</span>
00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00024 <span class="preprocessor">#include "DelayA.h"</span>
00025 <span class="preprocessor">#include "OneZero.h"</span>
00026 <span class="preprocessor">#include "Noise.h"</span>
00027 <span class="preprocessor">#include "ADSR.h"</span>
00028
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Sitar.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00018"></a>00018 <span class="comment">/***************************************************/</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="preprocessor">#ifndef STK_SITAR_H</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_SITAR_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "DelayA.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "OneZero.h"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00028"></a>00028
<a name="l00029"></a><a class="code" href="classSitar.html">00029</a> <span class="keyword">class </span><a class="code" href="classSitar.html">Sitar</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00030 {
00031 <span class="keyword">public</span>:
00033 <a class="code" href="classSitar.html#a0">Sitar</a>( StkFloat lowestFrequency = 20 );
00034
00036 <a class="code" href="classSitar.html#a1">~Sitar</a>();
00037
00039 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a2">clear</a>();
00040
00042 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a3">setFrequency</a>(StkFloat frequency);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a4">pluck</a>(StkFloat amplitude);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a5">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a6">noteOff</a>(StkFloat amplitude);
00052
00054 StkFloat <a class="code" href="classSitar.html#a7">tick</a>();
00055
00057 StkFloat *<a class="code" href="classSitar.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00058
00060
00066 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSitar.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00067
00068 <span class="keyword">protected</span>:
00069 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00070 <a class="code" href="classOneZero.html">OneZero</a> loopFilter_;
00071 <a class="code" href="classNoise.html">Noise</a> noise_;
00072 <a class="code" href="classADSR.html">ADSR</a> envelope_;
00073
00074 StkFloat loopGain_;
00075 StkFloat amGain_;
00076 StkFloat delay_;
00077 StkFloat targetDelay_;
00078
00079 };
00080
00081 <span class="preprocessor">#endif</span>
00082 <span class="preprocessor"></span>
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 <span class="keyword">public</span>:
<a name="l00033"></a>00033 <a class="code" href="classSitar.html#a0">Sitar</a>( StkFloat lowestFrequency = 20 );
<a name="l00034"></a>00034
<a name="l00036"></a>00036 <a class="code" href="classSitar.html#a1">~Sitar</a>();
<a name="l00037"></a>00037
<a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a2">clear</a>();
<a name="l00040"></a>00040
<a name="l00042"></a>00042 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a4">pluck</a>(StkFloat amplitude);
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a5">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a6">noteOff</a>(StkFloat amplitude);
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">protected</span>:
<a name="l00054"></a>00054
<a name="l00055"></a>00055 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
<a name="l00058"></a>00058 <a class="code" href="classOneZero.html">OneZero</a> loopFilter_;
<a name="l00059"></a>00059 <a class="code" href="classNoise.html">Noise</a> noise_;
<a name="l00060"></a>00060 <a class="code" href="classADSR.html">ADSR</a> envelope_;
<a name="l00061"></a>00061
<a name="l00062"></a>00062 StkFloat loopGain_;
<a name="l00063"></a>00063 StkFloat amGain_;
<a name="l00064"></a>00064 StkFloat delay_;
<a name="l00065"></a>00065 StkFloat targetDelay_;
<a name="l00066"></a>00066
<a name="l00067"></a>00067 };
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="preprocessor">#endif</span>
<a name="l00070"></a>00070 <span class="preprocessor"></span>
</pre></div><HR>
<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>

View File

@@ -8,22 +8,24 @@
<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>Skini.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00026 <span class="comment">/***************************************************/</span>
00027
00028 <span class="preprocessor">#ifndef STK_SKINI_H</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_SKINI_H</span>
00030 <span class="preprocessor"></span>
00031 <span class="preprocessor">#include "Stk.h"</span>
00032 <span class="preprocessor">#include &lt;vector&gt;</span>
00033 <span class="preprocessor">#include &lt;string&gt;</span>
00034 <span class="preprocessor">#include &lt;fstream&gt;</span>
00035
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Skini.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00026"></a>00026 <span class="comment">/***************************************************/</span>
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="preprocessor">#ifndef STK_SKINI_H</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_SKINI_H</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;fstream&gt;</span>
<a name="l00035"></a>00035
<a name="l00036"></a><a class="code" href="classSkini.html">00036</a> <span class="keyword">class </span><a class="code" href="classSkini.html">Skini</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00037 {
00038 <span class="keyword">public</span>:
00039
<a name="l00037"></a>00037 {
<a name="l00038"></a>00038 <span class="keyword">public</span>:
<a name="l00039"></a>00039
<a name="l00041"></a><a class="code" href="structSkini_1_1Message.html">00041</a> <span class="keyword">struct </span><a class="code" href="structSkini_1_1Message.html">Message</a> {
<a name="l00042"></a><a class="code" href="structSkini_1_1Message.html#o0">00042</a> <span class="keywordtype">long</span> <a class="code" href="structSkini_1_1Message.html#o0">type</a>;
<a name="l00043"></a><a class="code" href="structSkini_1_1Message.html#o1">00043</a> <span class="keywordtype">long</span> <a class="code" href="structSkini_1_1Message.html#o1">channel</a>;
@@ -31,62 +33,62 @@
<a name="l00045"></a><a class="code" href="structSkini_1_1Message.html#o3">00045</a> std::vector&lt;StkFloat&gt; <a class="code" href="structSkini_1_1Message.html#o3">floatValues</a>;
<a name="l00046"></a><a class="code" href="structSkini_1_1Message.html#o4">00046</a> std::vector&lt;long&gt; <a class="code" href="structSkini_1_1Message.html#o4">intValues</a>;
<a name="l00047"></a><a class="code" href="structSkini_1_1Message.html#o5">00047</a> std::string <a class="code" href="structSkini_1_1Message.html#o5">remainder</a>;
00049 <span class="comment">// Default constructor.</span>
00050 <a class="code" href="structSkini_1_1Message.html">Message</a>()
00051 :<a class="code" href="structSkini_1_1Message.html#o0">type</a>(0), <a class="code" href="structSkini_1_1Message.html#o1">channel</a>(0), <a class="code" href="structSkini_1_1Message.html#o2">time</a>(0.0), <a class="code" href="structSkini_1_1Message.html#o3">floatValues</a>(2), <a class="code" href="structSkini_1_1Message.html#o4">intValues</a>(2) {}
00052 };
00053
00055 <a class="code" href="classSkini.html#a0">Skini</a>();
00056
00058 <a class="code" href="classSkini.html#a1">~Skini</a>();
00059
00061
00065 <span class="keywordtype">bool</span> <a class="code" href="classSkini.html#a2">setFile</a>( std::string fileName );
00066
00068
00074 <span class="keywordtype">long</span> <a class="code" href="classSkini.html#a3">nextMessage</a>( <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00075
00077
00081 <span class="keywordtype">long</span> <a class="code" href="classSkini.html#a4">parseString</a>( std::string&amp; line, <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00082
00084 <span class="keyword">static</span> std::string <a class="code" href="classSkini.html#e0">whatsThisType</a>(<span class="keywordtype">long</span> type);
00085
00087 <span class="keyword">static</span> std::string <a class="code" href="classSkini.html#e1">whatsThisController</a>(<span class="keywordtype">long</span> number);
00088
00089 <span class="keyword">protected</span>:
00090
00091 <span class="keywordtype">void</span> tokenize( <span class="keyword">const</span> std::string&amp; str, std::vector&lt;std::string&gt;&amp; tokens, <span class="keyword">const</span> std::string&amp; delimiters );
00092
00093 std::ifstream file_;
00094 };
00095
00096 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> Midi2Pitch[129] = {
00097 8.18,8.66,9.18,9.72,10.30,10.91,11.56,12.25,
00098 12.98,13.75,14.57,15.43,16.35,17.32,18.35,19.45,
00099 20.60,21.83,23.12,24.50,25.96,27.50,29.14,30.87,
00100 32.70,34.65,36.71,38.89,41.20,43.65,46.25,49.00,
00101 51.91,55.00,58.27,61.74,65.41,69.30,73.42,77.78,
00102 82.41,87.31,92.50,98.00,103.83,110.00,116.54,123.47,
00103 130.81,138.59,146.83,155.56,164.81,174.61,185.00,196.00,
00104 207.65,220.00,233.08,246.94,261.63,277.18,293.66,311.13,
00105 329.63,349.23,369.99,392.00,415.30,440.00,466.16,493.88,
00106 523.25,554.37,587.33,622.25,659.26,698.46,739.99,783.99,
00107 830.61,880.00,932.33,987.77,1046.50,1108.73,1174.66,1244.51,
00108 1318.51,1396.91,1479.98,1567.98,1661.22,1760.00,1864.66,1975.53,
00109 2093.00,2217.46,2349.32,2489.02,2637.02,2793.83,2959.96,3135.96,
00110 3322.44,3520.00,3729.31,3951.07,4186.01,4434.92,4698.64,4978.03,
00111 5274.04,5587.65,5919.91,6271.93,6644.88,7040.00,7458.62,7902.13,
00112 8372.02,8869.84,9397.27,9956.06,10548.08,11175.30,11839.82,12543.85,
00113 13289.75};
00114
00115 <span class="preprocessor">#endif</span>
00116 <span class="preprocessor"></span>
00117
<a name="l00049"></a>00049 <span class="comment">// Default constructor.</span>
<a name="l00050"></a>00050 <a class="code" href="structSkini_1_1Message.html">Message</a>()
<a name="l00051"></a>00051 :<a class="code" href="structSkini_1_1Message.html#o0">type</a>(0), <a class="code" href="structSkini_1_1Message.html#o1">channel</a>(0), <a class="code" href="structSkini_1_1Message.html#o2">time</a>(0.0), <a class="code" href="structSkini_1_1Message.html#o3">floatValues</a>(2), <a class="code" href="structSkini_1_1Message.html#o4">intValues</a>(2) {}
<a name="l00052"></a>00052 };
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <a class="code" href="classSkini.html#a0">Skini</a>();
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <a class="code" href="classSkini.html#a1">~Skini</a>();
<a name="l00059"></a>00059
<a name="l00061"></a>00061
<a name="l00065"></a>00065 <span class="keywordtype">bool</span> <a class="code" href="classSkini.html#a2">setFile</a>( std::string fileName );
<a name="l00066"></a>00066
<a name="l00068"></a>00068
<a name="l00074"></a>00074 <span class="keywordtype">long</span> <a class="code" href="classSkini.html#a3">nextMessage</a>( <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
<a name="l00075"></a>00075
<a name="l00077"></a>00077
<a name="l00081"></a>00081 <span class="keywordtype">long</span> <a class="code" href="classSkini.html#a4">parseString</a>( std::string&amp; line, <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
<a name="l00082"></a>00082
<a name="l00084"></a>00084 <span class="keyword">static</span> std::string <a class="code" href="classSkini.html#e0">whatsThisType</a>(<span class="keywordtype">long</span> type);
<a name="l00085"></a>00085
<a name="l00087"></a>00087 <span class="keyword">static</span> std::string <a class="code" href="classSkini.html#e1">whatsThisController</a>(<span class="keywordtype">long</span> number);
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="keyword">protected</span>:
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <span class="keywordtype">void</span> tokenize( <span class="keyword">const</span> std::string&amp; str, std::vector&lt;std::string&gt;&amp; tokens, <span class="keyword">const</span> std::string&amp; delimiters );
<a name="l00092"></a>00092
<a name="l00093"></a>00093 std::ifstream file_;
<a name="l00094"></a>00094 };
<a name="l00095"></a>00095
<a name="l00096"></a>00096 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> Midi2Pitch[129] = {
<a name="l00097"></a>00097 8.18,8.66,9.18,9.72,10.30,10.91,11.56,12.25,
<a name="l00098"></a>00098 12.98,13.75,14.57,15.43,16.35,17.32,18.35,19.45,
<a name="l00099"></a>00099 20.60,21.83,23.12,24.50,25.96,27.50,29.14,30.87,
<a name="l00100"></a>00100 32.70,34.65,36.71,38.89,41.20,43.65,46.25,49.00,
<a name="l00101"></a>00101 51.91,55.00,58.27,61.74,65.41,69.30,73.42,77.78,
<a name="l00102"></a>00102 82.41,87.31,92.50,98.00,103.83,110.00,116.54,123.47,
<a name="l00103"></a>00103 130.81,138.59,146.83,155.56,164.81,174.61,185.00,196.00,
<a name="l00104"></a>00104 207.65,220.00,233.08,246.94,261.63,277.18,293.66,311.13,
<a name="l00105"></a>00105 329.63,349.23,369.99,392.00,415.30,440.00,466.16,493.88,
<a name="l00106"></a>00106 523.25,554.37,587.33,622.25,659.26,698.46,739.99,783.99,
<a name="l00107"></a>00107 830.61,880.00,932.33,987.77,1046.50,1108.73,1174.66,1244.51,
<a name="l00108"></a>00108 1318.51,1396.91,1479.98,1567.98,1661.22,1760.00,1864.66,1975.53,
<a name="l00109"></a>00109 2093.00,2217.46,2349.32,2489.02,2637.02,2793.83,2959.96,3135.96,
<a name="l00110"></a>00110 3322.44,3520.00,3729.31,3951.07,4186.01,4434.92,4698.64,4978.03,
<a name="l00111"></a>00111 5274.04,5587.65,5919.91,6271.93,6644.88,7040.00,7458.62,7902.13,
<a name="l00112"></a>00112 8372.02,8869.84,9397.27,9956.06,10548.08,11175.30,11839.82,12543.85,
<a name="l00113"></a>00113 13289.75};
<a name="l00114"></a>00114
<a name="l00115"></a>00115 <span class="preprocessor">#endif</span>
<a name="l00116"></a>00116 <span class="preprocessor"></span>
<a name="l00117"></a>00117
</pre></div><HR>
<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>

View File

@@ -8,66 +8,78 @@
<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>Socket.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span>
00020
00021 <span class="preprocessor">#ifndef STK_SOCKET_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_SOCKET_H</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Stk.h"</span>
00025
<a name="l00026"></a><a class="code" href="classSocket.html">00026</a> <span class="keyword">class </span><a class="code" href="classSocket.html">Socket</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00027 {
00028 <span class="keyword">public</span>:
00030
00033 <a class="code" href="classSocket.html#a0">Socket</a>( <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a6">port</a> = 2006 );
00034
00036
00039 <a class="code" href="classSocket.html#a0">Socket</a>( <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a6">port</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname );
00040
00042 <a class="code" href="classSocket.html#a2">~Socket</a>();
00043
00045
00053 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a3">connect</a>( <span class="keywordtype">int</span> port, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname = <span class="stringliteral">"localhost"</span> );
00054
00056 <span class="keywordtype">void</span> <a class="code" href="classSocket.html#a4">close</a>( <span class="keywordtype">void</span> );
00057
00059 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a5">id</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00060
00062 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a6">port</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00063
00065
00071 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a7">accept</a>( <span class="keywordtype">void</span> );
00072
00074 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSocket.html#e0">setBlocking</a>( <span class="keywordtype">int</span> socket, <span class="keywordtype">bool</span> enable );
00075
00077 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSocket.html#a4">close</a>( <span class="keywordtype">int</span> socket );
00078
00080 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSocket.html#e2">isValid</a>( <span class="keywordtype">int</span> socket );
00081
00083 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a8">writeBuffer</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
00084
00086 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a8">writeBuffer</a>(<span class="keywordtype">int</span> socket, <span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags );
00087
00089 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a9">readBuffer</a>(<span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
00090
00092 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a9">readBuffer</a>(<span class="keywordtype">int</span> socket, <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags );
00093
00094 <span class="keyword">protected</span>:
00095
00096 <span class="keywordtype">int</span> soket_;
00097 <span class="keywordtype">int</span> port_;
00098 <span class="keywordtype">bool</span> server_;
00099
00100 };
00101
00102 <span class="preprocessor">#endif // defined(STK_SOCKET_H)</span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Socket.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00012"></a>00012 <span class="comment">/***************************************************/</span>
<a name="l00013"></a>00013
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef STK_SOCKET_H</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_SOCKET_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="preprocessor"> #include &lt;sys/socket.h&gt;</span>
<a name="l00022"></a>00022 <span class="preprocessor"> #include &lt;sys/types.h&gt;</span>
<a name="l00023"></a>00023 <span class="preprocessor"> #include &lt;arpa/inet.h&gt;</span>
<a name="l00024"></a>00024 <span class="preprocessor"> #include &lt;netdb.h&gt;</span>
<a name="l00025"></a>00025 <span class="preprocessor"> #include &lt;unistd.h&gt;</span>
<a name="l00026"></a>00026 <span class="preprocessor"> #include &lt;fcntl.h&gt;</span>
<a name="l00027"></a>00027 <span class="preprocessor"> #include &lt;netinet/in.h&gt;</span>
<a name="l00028"></a>00028 <span class="preprocessor"> #include &lt;netinet/tcp.h&gt;</span>
<a name="l00029"></a>00029
<a name="l00030"></a>00030 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="preprocessor"> #include &lt;winsock.h&gt;</span>
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="preprocessor">#endif</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00036"></a><a class="code" href="classSocket.html">00036</a> <span class="keyword">class </span><a class="code" href="classSocket.html">Socket</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
<a name="l00037"></a>00037 {
<a name="l00038"></a>00038 <span class="keyword">public</span>:
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="keyword">enum</span> ProtocolType {
<a name="l00041"></a>00041 PROTO_TCP,
<a name="l00042"></a>00042 PROTO_UDP
<a name="l00043"></a>00043 };
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <a class="code" href="classSocket.html#a0">Socket</a>();
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keyword">virtual</span> <a class="code" href="classSocket.html#a1">~Socket</a>();
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSocket.html#e0">close</a>( <span class="keywordtype">int</span> socket );
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a2">id</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a3">port</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSocket.html#e1">isValid</a>( <span class="keywordtype">int</span> socket );
<a name="l00062"></a>00062
<a name="l00064"></a>00064 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSocket.html#e2">setBlocking</a>( <span class="keywordtype">int</span> socket, <span class="keywordtype">bool</span> enable );
<a name="l00065"></a>00065
<a name="l00067"></a>00067 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a4">writeBuffer</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0) = 0;
<a name="l00068"></a>00068
<a name="l00070"></a>00070 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a5">readBuffer</a>(<span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0) = 0;
<a name="l00071"></a>00071
<a name="l00073"></a>00073 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a4">writeBuffer</a>(<span class="keywordtype">int</span> socket, <span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags );
<a name="l00074"></a>00074
<a name="l00076"></a>00076 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a5">readBuffer</a>(<span class="keywordtype">int</span> socket, <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags );
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="keyword">protected</span>:
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="keywordtype">int</span> soket_;
<a name="l00081"></a>00081 <span class="keywordtype">int</span> port_;
<a name="l00082"></a>00082
<a name="l00083"></a>00083 };
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="preprocessor">#endif // defined(STK_SOCKET_H)</span>
</pre></div><HR>
<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>

View File

@@ -8,61 +8,63 @@
<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>Sphere.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_SPHERE_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_SPHERE_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Stk.h"</span>
00016 <span class="preprocessor">#include "Vector3D.h"</span>
00017
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Sphere.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
<a name="l00011"></a>00011
<a name="l00012"></a>00012 <span class="preprocessor">#ifndef STK_SPHERE_H</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_SPHERE_H</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "Vector3D.h"</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classSphere.html">00018</a> <span class="keyword">class </span><a class="code" href="classSphere.html">Sphere</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00019 {
00020 <span class="keyword">public</span>:
00022 <a class="code" href="classSphere.html#a0">Sphere</a>(StkFloat radius = 1.0 );
00023
00025 <a class="code" href="classSphere.html#a1">~Sphere</a>();
00026
00028 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a2">setPosition</a>(StkFloat x, StkFloat y, StkFloat z);
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a3">setVelocity</a>(StkFloat x, StkFloat y, StkFloat z);
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a4">setRadius</a>(StkFloat radius);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a5">setMass</a>(StkFloat mass);
00038
00040 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a6">getPosition</a>();
00041
00043 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a7">getRelativePosition</a>(<a class="code" href="classVector3D.html">Vector3D</a> *position);
00044
00046 StkFloat <a class="code" href="classSphere.html#a8">getVelocity</a>(<a class="code" href="classVector3D.html">Vector3D</a>* velocity);
00047
00049 StkFloat <a class="code" href="classSphere.html#a9">isInside</a>(<a class="code" href="classVector3D.html">Vector3D</a> *position);
00050
00052 StkFloat <a class="code" href="classSphere.html#a10">getRadius</a>();
00053
00055 StkFloat <a class="code" href="classSphere.html#a11">getMass</a>();
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a12">addVelocity</a>(StkFloat x, StkFloat y, StkFloat z);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a13">tick</a>(StkFloat timeIncrement);
00062
00063 <span class="keyword">private</span>:
00064 <a class="code" href="classVector3D.html">Vector3D</a> position_;
00065 <a class="code" href="classVector3D.html">Vector3D</a> velocity_;
00066 <a class="code" href="classVector3D.html">Vector3D</a> workingVector_;
00067 StkFloat radius_;
00068 StkFloat mass_;
00069 };
00070
00071 <span class="preprocessor">#endif</span>
<a name="l00019"></a>00019 {
<a name="l00020"></a>00020 <span class="keyword">public</span>:
<a name="l00022"></a>00022 <a class="code" href="classSphere.html#a0">Sphere</a>(StkFloat radius = 1.0 );
<a name="l00023"></a>00023
<a name="l00025"></a>00025 <a class="code" href="classSphere.html#a1">~Sphere</a>();
<a name="l00026"></a>00026
<a name="l00028"></a>00028 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a2">setPosition</a>(StkFloat x, StkFloat y, StkFloat z);
<a name="l00029"></a>00029
<a name="l00031"></a>00031 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a3">setVelocity</a>(StkFloat x, StkFloat y, StkFloat z);
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a4">setRadius</a>(StkFloat radius);
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a5">setMass</a>(StkFloat mass);
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a6">getPosition</a>();
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a7">getRelativePosition</a>(<a class="code" href="classVector3D.html">Vector3D</a> *position);
<a name="l00044"></a>00044
<a name="l00046"></a>00046 StkFloat <a class="code" href="classSphere.html#a8">getVelocity</a>(<a class="code" href="classVector3D.html">Vector3D</a>* velocity);
<a name="l00047"></a>00047
<a name="l00049"></a>00049 StkFloat <a class="code" href="classSphere.html#a9">isInside</a>(<a class="code" href="classVector3D.html">Vector3D</a> *position);
<a name="l00050"></a>00050
<a name="l00052"></a>00052 StkFloat <a class="code" href="classSphere.html#a10">getRadius</a>();
<a name="l00053"></a>00053
<a name="l00055"></a>00055 StkFloat <a class="code" href="classSphere.html#a11">getMass</a>();
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a12">addVelocity</a>(StkFloat x, StkFloat y, StkFloat z);
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a13">tick</a>(StkFloat timeIncrement);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">private</span>:
<a name="l00064"></a>00064 <a class="code" href="classVector3D.html">Vector3D</a> position_;
<a name="l00065"></a>00065 <a class="code" href="classVector3D.html">Vector3D</a> velocity_;
<a name="l00066"></a>00066 <a class="code" href="classVector3D.html">Vector3D</a> workingVector_;
<a name="l00067"></a>00067 StkFloat radius_;
<a name="l00068"></a>00068 StkFloat mass_;
<a name="l00069"></a>00069 };
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,77 +8,75 @@
<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>StifKarp.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00022 <span class="comment">/***************************************************/</span>
00023
00024 <span class="preprocessor">#ifndef STK_STIFKARP_H</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_STIFKARP_H</span>
00026 <span class="preprocessor"></span>
00027 <span class="preprocessor">#include "Instrmnt.h"</span>
00028 <span class="preprocessor">#include "DelayL.h"</span>
00029 <span class="preprocessor">#include "DelayA.h"</span>
00030 <span class="preprocessor">#include "OneZero.h"</span>
00031 <span class="preprocessor">#include "Noise.h"</span>
00032 <span class="preprocessor">#include "BiQuad.h"</span>
00033
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>StifKarp.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00022"></a>00022 <span class="comment">/***************************************************/</span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="preprocessor">#ifndef STK_STIFKARP_H</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_STIFKARP_H</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "DelayL.h"</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "DelayA.h"</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include "OneZero.h"</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "BiQuad.h"</span>
<a name="l00033"></a>00033
<a name="l00034"></a><a class="code" href="classStifKarp.html">00034</a> <span class="keyword">class </span><a class="code" href="classStifKarp.html">StifKarp</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00035 {
00036 <span class="keyword">public</span>:
00038 <a class="code" href="classStifKarp.html#a0">StifKarp</a>(StkFloat lowestFrequency);
00039
00041 <a class="code" href="classStifKarp.html#a1">~StifKarp</a>();
00042
00044 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a2">clear</a>();
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a3">setFrequency</a>(StkFloat frequency);
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a4">setStretch</a>(StkFloat stretch);
00051
00053 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a5">setPickupPosition</a>(StkFloat position);
00054
00056
00061 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a6">setBaseLoopGain</a>(StkFloat aGain);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a7">pluck</a>(StkFloat amplitude);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00068
00070 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a9">noteOff</a>(StkFloat amplitude);
00071
00073 StkFloat <a class="code" href="classStifKarp.html#a10">tick</a>();
00074
00076 StkFloat *<a class="code" href="classStifKarp.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00077
00079
00085 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classStifKarp.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00086
00088 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00089
00090 <span class="keyword">protected</span>:
00091 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00092 <a class="code" href="classDelayL.html">DelayL</a> combDelay_;
00093 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00094 <a class="code" href="classNoise.html">Noise</a> noise_;
00095 <a class="code" href="classBiQuad.html">BiQuad</a> biquad_[4];
00096
00097 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00098 StkFloat loopGain_;
00099 StkFloat baseLoopGain_;
00100 StkFloat lastFrequency_;
00101 StkFloat lastLength_;
00102 StkFloat stretching_;
00103 StkFloat pluckAmplitude_;
00104 StkFloat pickupPosition_;
00105
00106 };
00107
00108 <span class="preprocessor">#endif</span>
<a name="l00035"></a>00035 {
<a name="l00036"></a>00036 <span class="keyword">public</span>:
<a name="l00038"></a>00038 <a class="code" href="classStifKarp.html#a0">StifKarp</a>(StkFloat lowestFrequency);
<a name="l00039"></a>00039
<a name="l00041"></a>00041 <a class="code" href="classStifKarp.html#a1">~StifKarp</a>();
<a name="l00042"></a>00042
<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a2">clear</a>();
<a name="l00045"></a>00045
<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00048"></a>00048
<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a4">setStretch</a>(StkFloat stretch);
<a name="l00051"></a>00051
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a5">setPickupPosition</a>(StkFloat position);
<a name="l00054"></a>00054
<a name="l00056"></a>00056
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a6">setBaseLoopGain</a>(StkFloat aGain);
<a name="l00062"></a>00062
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a7">pluck</a>(StkFloat amplitude);
<a name="l00065"></a>00065
<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00068"></a>00068
<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a9">noteOff</a>(StkFloat amplitude);
<a name="l00071"></a>00071
<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="keyword">protected</span>:
<a name="l00076"></a>00076
<a name="l00077"></a>00077 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
<a name="l00080"></a>00080 <a class="code" href="classDelayL.html">DelayL</a> combDelay_;
<a name="l00081"></a>00081 <a class="code" href="classOneZero.html">OneZero</a> filter_;
<a name="l00082"></a>00082 <a class="code" href="classNoise.html">Noise</a> noise_;
<a name="l00083"></a>00083 <a class="code" href="classBiQuad.html">BiQuad</a> biquad_[4];
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
<a name="l00086"></a>00086 StkFloat loopGain_;
<a name="l00087"></a>00087 StkFloat baseLoopGain_;
<a name="l00088"></a>00088 StkFloat lastFrequency_;
<a name="l00089"></a>00089 StkFloat lastLength_;
<a name="l00090"></a>00090 StkFloat stretching_;
<a name="l00091"></a>00091 StkFloat pluckAmplitude_;
<a name="l00092"></a>00092 StkFloat pickupPosition_;
<a name="l00093"></a>00093
<a name="l00094"></a>00094 };
<a name="l00095"></a>00095
<a name="l00096"></a>00096 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,219 +8,257 @@
<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>Stk.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_STK_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_STK_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include &lt;string&gt;</span>
00019 <span class="preprocessor">#include &lt;iostream&gt;</span>
00020 <span class="preprocessor">#include &lt;sstream&gt;</span>
00021 <span class="preprocessor">#include &lt;valarray&gt;</span>
00022
00023 <span class="comment">// Most data in STK is passed and calculated with the</span>
00024 <span class="comment">// following user-definable floating-point type. You</span>
00025 <span class="comment">// can change this to "float" if you prefer or perhaps</span>
00026 <span class="comment">// a "long double" in the future.</span>
00027 <span class="keyword">typedef</span> <span class="keywordtype">double</span> StkFloat;
00028
00029 <span class="comment">// The "MY_FLOAT" type was deprecated in STK</span>
00030 <span class="comment">// versions higher than 4.1.3 and replaced with the variable</span>
00031 <span class="comment">// "StkFloat". </span>
00032 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span>
00033 <span class="preprocessor"></span> <span class="keyword">typedef</span> StkFloat MY_FLOAT;
00034 <span class="preprocessor"> #pragma deprecated(MY_FLOAT)</span>
00035 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__GXX__) </span>
00036 <span class="preprocessor"></span> <span class="keyword">typedef</span> StkFloat MY_FLOAT __attribute__ ((deprecated));
00037 <span class="preprocessor">#else</span>
00038 <span class="preprocessor"></span> <span class="keyword">typedef</span> StkFloat MY_FLOAT; <span class="comment">// temporary</span>
00039 <span class="preprocessor">#endif</span>
00040 <span class="preprocessor"></span>
00041
00043
<a name="l00048"></a><a class="code" href="classStkError.html">00048</a> <span class="keyword">class </span><a class="code" href="classStkError.html">StkError</a>
00049 {
00050 <span class="keyword">public</span>:
00051 <span class="keyword">enum</span> Type {
00052 STATUS,
00053 WARNING,
00054 DEBUG_WARNING,
00055 FUNCTION_ARGUMENT,
00056 FILE_NOT_FOUND,
00057 FILE_UNKNOWN_FORMAT,
00058 FILE_ERROR,
00059 PROCESS_THREAD,
00060 PROCESS_SOCKET,
00061 PROCESS_SOCKET_IPADDR,
00062 AUDIO_SYSTEM,
00063 MIDI_SYSTEM,
00064 UNSPECIFIED
00065 };
00066
00067 <span class="keyword">protected</span>:
00068 std::string message_;
00069 Type type_;
00070
00071 <span class="keyword">public</span>:
<a name="l00073"></a><a class="code" href="classStkError.html#a0">00073</a> <a class="code" href="classStkError.html#a0">StkError</a>(<span class="keyword">const</span> std::string&amp; message, Type type = StkError::UNSPECIFIED) : message_(message), type_(type) {}
00074
<a name="l00076"></a><a class="code" href="classStkError.html#a1">00076</a> <span class="keyword">virtual</span> <a class="code" href="classStkError.html#a1">~StkError</a>(<span class="keywordtype">void</span>) {};
00077
<a name="l00079"></a><a class="code" href="classStkError.html#a2">00079</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classStkError.html#a2">printMessage</a>(<span class="keywordtype">void</span>) { std::cerr &lt;&lt; <span class="charliteral">'\n'</span> &lt;&lt; message_ &lt;&lt; <span class="stringliteral">"\n\n"</span>; }
00080
<a name="l00082"></a><a class="code" href="classStkError.html#a3">00082</a> <span class="keyword">virtual</span> <span class="keyword">const</span> Type&amp; <a class="code" href="classStkError.html#a3">getType</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> type_; }
00083
<a name="l00085"></a><a class="code" href="classStkError.html#a4">00085</a> <span class="keyword">virtual</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classStkError.html#a4">getMessage</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_; }
00086
<a name="l00088"></a><a class="code" href="classStkError.html#a5">00088</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classStkError.html#a5">getMessageCString</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_.c_str(); }
00089 };
00090
00091
<a name="l00092"></a><a class="code" href="classStk.html">00092</a> <span class="keyword">class </span><a class="code" href="classStk.html">Stk</a>
00093 {
00094 <span class="keyword">public</span>:
00095
00096 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> StkFormat;
<a name="l00097"></a><a class="code" href="classStk.html#s0">00097</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s0">STK_SINT8</a>;
<a name="l00098"></a><a class="code" href="classStk.html#s1">00098</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s1">STK_SINT16</a>;
<a name="l00099"></a><a class="code" href="classStk.html#s2">00099</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s2">STK_SINT24</a>;
<a name="l00100"></a><a class="code" href="classStk.html#s3">00100</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s3">STK_SINT32</a>;
<a name="l00101"></a><a class="code" href="classStk.html#s4">00101</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s4">STK_FLOAT32</a>;
<a name="l00102"></a><a class="code" href="classStk.html#s5">00102</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s5">STK_FLOAT64</a>;
00104
<a name="l00105"></a><a class="code" href="classStk.html#e0">00105</a> <span class="keyword">static</span> StkFloat <a class="code" href="classStk.html#e0">sampleRate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> srate_; }
00106
00108
<a name="l00116"></a><a class="code" href="classStk.html#e1">00116</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e1">setSampleRate</a>(StkFloat rate) { <span class="keywordflow">if</span> (rate &gt; 0.0) srate_ = rate; }
00117
<a name="l00119"></a><a class="code" href="classStk.html#e2">00119</a> <span class="keyword">static</span> std::string <a class="code" href="classStk.html#e2">rawwavePath</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> rawwavepath_; }
00120
00122 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e3">setRawwavePath</a>(std::string path);
00123
00125 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e4">swap16</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
00126
00128 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e5">swap32</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
00129
00131 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e6">swap64</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
00132
00134 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e7">sleep</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> milliseconds);
00135
00137 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e8">handleError</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *message, StkError::Type type );
00138
00140 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e8">handleError</a>( std::string message, StkError::Type type );
00141
00142 <span class="keyword">private</span>:
00143 <span class="keyword">static</span> StkFloat srate_;
00144 <span class="keyword">static</span> std::string rawwavepath_;
00145
00146 <span class="keyword">protected</span>:
00147
00148 std::ostringstream errorString_;
00149
00151 <a class="code" href="classStk.html#b0">Stk</a>(<span class="keywordtype">void</span>);
00152
00154 <span class="keyword">virtual</span> <a class="code" href="classStk.html#b1">~Stk</a>(<span class="keywordtype">void</span>);
00155
00157 <span class="keywordtype">void</span> <a class="code" href="classStk.html#e8">handleError</a>( StkError::Type type );
00158 };
00159
00160
00161 <span class="comment">/***************************************************/</span>
00175 <span class="comment">/***************************************************/</span>
00176
<a name="l00177"></a><a class="code" href="classStkFrames.html">00177</a> <span class="keyword">class </span><a class="code" href="classStkFrames.html">StkFrames</a>
00178 {
00179 <span class="keyword">public</span>:
00180
00182 <a class="code" href="classStkFrames.html#a0">StkFrames</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames = 0, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, <span class="keywordtype">bool</span> <a class="code" href="classStkFrames.html#a8">interleaved</a> = <span class="keyword">true</span> );
00183
00185 <a class="code" href="classStkFrames.html#a0">StkFrames</a>( <span class="keyword">const</span> StkFloat&amp; value, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels, <span class="keywordtype">bool</span> <a class="code" href="classStkFrames.html#a8">interleaved</a> = <span class="keyword">true</span> );
00186
00188
<a name="l00194"></a><a class="code" href="classStkFrames.html#a2">00194</a> StkFloat&amp; <a class="code" href="classStkFrames.html#a2">operator[]</a>( size_t n ) { <span class="keywordflow">return</span> data_[n]; };
00195
00197
<a name="l00201"></a><a class="code" href="classStkFrames.html#a3">00201</a> StkFloat <a class="code" href="classStkFrames.html#a2">operator[]</a>( size_t n )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data_[n]; };
00202
<a name="l00204"></a><a class="code" href="classStkFrames.html#a4">00204</a> size_t <a class="code" href="classStkFrames.html#a4">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> size_; };
00205
00207
00211 <span class="keywordtype">void</span> <a class="code" href="classStkFrames.html#a5">resize</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, StkFloat value = 0.0 );
00212
<a name="l00214"></a><a class="code" href="classStkFrames.html#a6">00214</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classStkFrames.html#a6">channels</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> nChannels_; };
00215
<a name="l00217"></a><a class="code" href="classStkFrames.html#a7">00217</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classStkFrames.html#a7">frames</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> nFrames_; };
00218
<a name="l00220"></a><a class="code" href="classStkFrames.html#a8">00220</a> <span class="keywordtype">bool</span> <a class="code" href="classStkFrames.html#a8">interleaved</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> interleaved_; };
00221
<a name="l00223"></a><a class="code" href="classStkFrames.html#a9">00223</a> <span class="keywordtype">void</span> <a class="code" href="classStkFrames.html#a9">setInterleaved</a>( <span class="keywordtype">bool</span> isInterleaved ) { interleaved_ = isInterleaved; };
00224
00225 <span class="keyword">private</span>:
00226 std::valarray&lt;StkFloat&gt; data_;
00227 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames_;
00228 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels_;
00229 size_t size_;
00230 <span class="keywordtype">bool</span> interleaved_;
00231
00232 };
00233
00234
00235 <span class="comment">// Here are a few other useful typedefs.</span>
00236 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> SINT16;
00237 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> SINT32;
00238 <span class="keyword">typedef</span> <span class="keywordtype">float</span> FLOAT32;
00239 <span class="keyword">typedef</span> <span class="keywordtype">double</span> FLOAT64;
00240
00241 <span class="comment">// The default sampling rate.</span>
00242 <span class="keyword">const</span> StkFloat SRATE = 44100.0;
00243
00244 <span class="comment">// The default real-time audio input and output buffer size. If</span>
00245 <span class="comment">// clicks are occuring in the input and/or output sound stream, a</span>
00246 <span class="comment">// larger buffer size may help. Larger buffer sizes, however, produce</span>
00247 <span class="comment">// more latency.</span>
00248 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> RT_BUFFER_SIZE = 512;
00249
00250 <span class="comment">// The default rawwave path value is set with the preprocessor</span>
00251 <span class="comment">// definition RAWWAVE_PATH. This can be specified as an argument to</span>
00252 <span class="comment">// the configure script, in an integrated development environment, or</span>
00253 <span class="comment">// below. The global STK rawwave path variable can be dynamically set</span>
00254 <span class="comment">// with the Stk::setRawwavePath() function. This value is</span>
00255 <span class="comment">// concatenated to the beginning of all references to rawwave files in</span>
00256 <span class="comment">// the various STK core classes (ex. Clarinet.cpp). If you wish to</span>
00257 <span class="comment">// move the rawwaves directory to a different location in your file</span>
00258 <span class="comment">// system, you will need to set this path definition appropriately.</span>
00259 <span class="preprocessor">#if !defined(RAWWAVE_PATH)</span>
00260 <span class="preprocessor"></span><span class="preprocessor"> #define RAWWAVE_PATH "../../rawwaves/"</span>
00261 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00262 <span class="preprocessor"></span>
00263 <span class="keyword">const</span> StkFloat PI = 3.14159265359;
00264 <span class="keyword">const</span> StkFloat TWO_PI = 2 * PI;
00265 <span class="keyword">const</span> StkFloat ONE_OVER_128 = 0.0078125;
00266
00267 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span>
00268 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_WINDOWS__</span>
00269 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00270 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__LINUX_OSS__) || defined(__LINUX_ALSA__) || defined(__LINUX_JACK__)</span>
00271 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_LINUX__</span>
00272 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00273 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__IRIX_AL__)</span>
00274 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_IRIX__</span>
00275 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00276 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__MACOSX_CORE__)</span>
00277 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_MACOSX__</span>
00278 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00279 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00280 <span class="preprocessor"></span>
00281 <span class="comment">//#define _STK_DEBUG_</span>
00282
00283 <span class="preprocessor">#endif</span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Stk.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_STK_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_STK_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;iostream&gt;</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;sstream&gt;</span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="comment">// Most data in STK is passed and calculated with the</span>
<a name="l00023"></a>00023 <span class="comment">// following user-definable floating-point type. You</span>
<a name="l00024"></a>00024 <span class="comment">// can change this to "float" if you prefer or perhaps</span>
<a name="l00025"></a>00025 <span class="comment">// a "long double" in the future.</span>
<a name="l00026"></a>00026 <span class="keyword">typedef</span> <span class="keywordtype">double</span> StkFloat;
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="comment">// The "MY_FLOAT" type was deprecated in STK</span>
<a name="l00029"></a>00029 <span class="comment">// versions higher than 4.1.3 and replaced with the variable</span>
<a name="l00030"></a>00030 <span class="comment">// "StkFloat". </span>
<a name="l00031"></a>00031 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span> <span class="keyword">typedef</span> StkFloat MY_FLOAT;
<a name="l00033"></a>00033 <span class="preprocessor"> #pragma deprecated(MY_FLOAT)</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__GXX__) </span>
<a name="l00035"></a>00035 <span class="preprocessor"></span> <span class="keyword">typedef</span> StkFloat MY_FLOAT __attribute__ ((deprecated));
<a name="l00036"></a>00036 <span class="preprocessor">#else</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span> <span class="keyword">typedef</span> StkFloat MY_FLOAT; <span class="comment">// temporary</span>
<a name="l00038"></a>00038 <span class="preprocessor">#endif</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span>
<a name="l00040"></a>00040
<a name="l00042"></a>00042
<a name="l00047"></a><a class="code" href="classStkError.html">00047</a> <span class="keyword">class </span><a class="code" href="classStkError.html">StkError</a>
<a name="l00048"></a>00048 {
<a name="l00049"></a>00049 <span class="keyword">public</span>:
<a name="l00050"></a>00050 <span class="keyword">enum</span> Type {
<a name="l00051"></a>00051 STATUS,
<a name="l00052"></a>00052 WARNING,
<a name="l00053"></a>00053 DEBUG_WARNING,
<a name="l00054"></a>00054 MEMORY_ALLOCATION,
<a name="l00055"></a>00055 MEMORY_ACCESS,
<a name="l00056"></a>00056 FUNCTION_ARGUMENT,
<a name="l00057"></a>00057 FILE_NOT_FOUND,
<a name="l00058"></a>00058 FILE_UNKNOWN_FORMAT,
<a name="l00059"></a>00059 FILE_ERROR,
<a name="l00060"></a>00060 PROCESS_THREAD,
<a name="l00061"></a>00061 PROCESS_SOCKET,
<a name="l00062"></a>00062 PROCESS_SOCKET_IPADDR,
<a name="l00063"></a>00063 AUDIO_SYSTEM,
<a name="l00064"></a>00064 MIDI_SYSTEM,
<a name="l00065"></a>00065 UNSPECIFIED
<a name="l00066"></a>00066 };
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="keyword">protected</span>:
<a name="l00069"></a>00069 std::string message_;
<a name="l00070"></a>00070 Type type_;
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="keyword">public</span>:
<a name="l00074"></a><a class="code" href="classStkError.html#a0">00074</a> <a class="code" href="classStkError.html#a0">StkError</a>(<span class="keyword">const</span> std::string&amp; message, Type type = StkError::UNSPECIFIED)
<a name="l00075"></a>00075 : message_(message), type_(type) {}
<a name="l00076"></a>00076
<a name="l00078"></a><a class="code" href="classStkError.html#a1">00078</a> <span class="keyword">virtual</span> <a class="code" href="classStkError.html#a1">~StkError</a>(<span class="keywordtype">void</span>) {};
<a name="l00079"></a>00079
<a name="l00081"></a><a class="code" href="classStkError.html#a2">00081</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classStkError.html#a2">printMessage</a>(<span class="keywordtype">void</span>) { std::cerr &lt;&lt; <span class="charliteral">'\n'</span> &lt;&lt; message_ &lt;&lt; <span class="stringliteral">"\n\n"</span>; }
<a name="l00082"></a>00082
<a name="l00084"></a><a class="code" href="classStkError.html#a3">00084</a> <span class="keyword">virtual</span> <span class="keyword">const</span> Type&amp; <a class="code" href="classStkError.html#a3">getType</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> type_; }
<a name="l00085"></a>00085
<a name="l00087"></a><a class="code" href="classStkError.html#a4">00087</a> <span class="keyword">virtual</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classStkError.html#a4">getMessage</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_; }
<a name="l00088"></a>00088
<a name="l00090"></a><a class="code" href="classStkError.html#a5">00090</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classStkError.html#a5">getMessageCString</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_.c_str(); }
<a name="l00091"></a>00091 };
<a name="l00092"></a>00092
<a name="l00093"></a>00093
<a name="l00094"></a><a class="code" href="classStk.html">00094</a> <span class="keyword">class </span><a class="code" href="classStk.html">Stk</a>
<a name="l00095"></a>00095 {
<a name="l00096"></a>00096 <span class="keyword">public</span>:
<a name="l00097"></a>00097
<a name="l00098"></a>00098 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> StkFormat;
<a name="l00099"></a><a class="code" href="classStk.html#s0">00099</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s0">STK_SINT8</a>;
<a name="l00100"></a><a class="code" href="classStk.html#s1">00100</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s1">STK_SINT16</a>;
<a name="l00101"></a><a class="code" href="classStk.html#s2">00101</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s2">STK_SINT24</a>;
<a name="l00102"></a><a class="code" href="classStk.html#s3">00102</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s3">STK_SINT32</a>;
<a name="l00103"></a><a class="code" href="classStk.html#s4">00103</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s4">STK_FLOAT32</a>;
<a name="l00104"></a><a class="code" href="classStk.html#s5">00104</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s5">STK_FLOAT64</a>;
<a name="l00106"></a>00106
<a name="l00107"></a><a class="code" href="classStk.html#e0">00107</a> <span class="keyword">static</span> StkFloat <a class="code" href="classStk.html#e0">sampleRate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> srate_; }
<a name="l00108"></a>00108
<a name="l00110"></a>00110
<a name="l00118"></a><a class="code" href="classStk.html#e1">00118</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e1">setSampleRate</a>(StkFloat rate) { <span class="keywordflow">if</span> (rate &gt; 0.0) srate_ = rate; }
<a name="l00119"></a>00119
<a name="l00121"></a><a class="code" href="classStk.html#e2">00121</a> <span class="keyword">static</span> std::string <a class="code" href="classStk.html#e2">rawwavePath</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> rawwavepath_; }
<a name="l00122"></a>00122
<a name="l00124"></a>00124 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e3">setRawwavePath</a>(std::string path);
<a name="l00125"></a>00125
<a name="l00127"></a>00127 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e4">swap16</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
<a name="l00128"></a>00128
<a name="l00130"></a>00130 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e5">swap32</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
<a name="l00131"></a>00131
<a name="l00133"></a>00133 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e6">swap64</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
<a name="l00134"></a>00134
<a name="l00136"></a>00136 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e7">sleep</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> milliseconds);
<a name="l00137"></a>00137
<a name="l00139"></a>00139 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e8">handleError</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *message, StkError::Type type );
<a name="l00140"></a>00140
<a name="l00142"></a>00142 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e8">handleError</a>( std::string message, StkError::Type type );
<a name="l00143"></a>00143
<a name="l00145"></a><a class="code" href="classStk.html#e10">00145</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e10">showWarnings</a>( <span class="keywordtype">bool</span> status ) { showWarnings_ = status; }
<a name="l00146"></a>00146
<a name="l00148"></a><a class="code" href="classStk.html#e11">00148</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e11">printErrors</a>( <span class="keywordtype">bool</span> status ) { printErrors_ = status; }
<a name="l00149"></a>00149
<a name="l00150"></a>00150 <span class="keyword">private</span>:
<a name="l00151"></a>00151 <span class="keyword">static</span> StkFloat srate_;
<a name="l00152"></a>00152 <span class="keyword">static</span> std::string rawwavepath_;
<a name="l00153"></a>00153 <span class="keyword">static</span> <span class="keywordtype">bool</span> showWarnings_;
<a name="l00154"></a>00154 <span class="keyword">static</span> <span class="keywordtype">bool</span> printErrors_;
<a name="l00155"></a>00155
<a name="l00156"></a>00156 <span class="keyword">protected</span>:
<a name="l00157"></a>00157
<a name="l00158"></a>00158 std::ostringstream errorString_;
<a name="l00159"></a>00159
<a name="l00161"></a>00161 <a class="code" href="classStk.html#b0">Stk</a>(<span class="keywordtype">void</span>);
<a name="l00162"></a>00162
<a name="l00164"></a>00164 <span class="keyword">virtual</span> <a class="code" href="classStk.html#b1">~Stk</a>(<span class="keywordtype">void</span>);
<a name="l00165"></a>00165
<a name="l00167"></a>00167 <span class="keywordtype">void</span> <a class="code" href="classStk.html#e8">handleError</a>( StkError::Type type );
<a name="l00168"></a>00168 };
<a name="l00169"></a>00169
<a name="l00170"></a>00170
<a name="l00171"></a>00171 <span class="comment">/***************************************************/</span>
<a name="l00186"></a>00186 <span class="comment">/***************************************************/</span>
<a name="l00187"></a>00187
<a name="l00188"></a><a class="code" href="classStkFrames.html">00188</a> <span class="keyword">class </span><a class="code" href="classStkFrames.html">StkFrames</a>
<a name="l00189"></a>00189 {
<a name="l00190"></a>00190 <span class="keyword">public</span>:
<a name="l00191"></a>00191
<a name="l00193"></a>00193 <a class="code" href="classStkFrames.html#a0">StkFrames</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames = 0, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 0, <span class="keywordtype">bool</span> <a class="code" href="classStkFrames.html#a16">interleaved</a> = <span class="keyword">true</span> );
<a name="l00194"></a>00194
<a name="l00196"></a>00196 <a class="code" href="classStkFrames.html#a0">StkFrames</a>( <span class="keyword">const</span> StkFloat&amp; value, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels, <span class="keywordtype">bool</span> <a class="code" href="classStkFrames.html#a16">interleaved</a> = <span class="keyword">true</span> );
<a name="l00197"></a>00197
<a name="l00199"></a>00199 <a class="code" href="classStkFrames.html#a2">~StkFrames</a>();
<a name="l00200"></a>00200
<a name="l00202"></a>00202
<a name="l00208"></a>00208 StkFloat&amp; <a class="code" href="classStkFrames.html#a3">operator[] </a>( size_t n );
<a name="l00209"></a>00209
<a name="l00211"></a>00211
<a name="l00215"></a>00215 StkFloat <a class="code" href="classStkFrames.html#a3">operator[] </a>( size_t n ) <span class="keyword">const</span>;
<a name="l00216"></a>00216
<a name="l00218"></a>00218
<a name="l00225"></a>00225 StkFloat&amp; <a class="code" href="classStkFrames.html#a5">operator() </a>( size_t frame, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel );
<a name="l00226"></a>00226
<a name="l00228"></a>00228
<a name="l00233"></a>00233 StkFloat <a class="code" href="classStkFrames.html#a5">operator() </a>( size_t frame, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel ) <span class="keyword">const</span>;
<a name="l00234"></a>00234
<a name="l00236"></a>00236
<a name="l00242"></a>00242 StkFloat <a class="code" href="classStkFrames.html#a7">interpolate</a>( StkFloat frame, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 ) <span class="keyword">const</span>;
<a name="l00243"></a>00243
<a name="l00245"></a><a class="code" href="classStkFrames.html#a8">00245</a> size_t <a class="code" href="classStkFrames.html#a8">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> size_; };
<a name="l00246"></a>00246
<a name="l00248"></a>00248 <span class="keywordtype">bool</span> <a class="code" href="classStkFrames.html#a9">empty</a>() <span class="keyword">const</span>;
<a name="l00249"></a>00249
<a name="l00251"></a>00251
<a name="l00258"></a>00258 <span class="keywordtype">void</span> <a class="code" href="classStkFrames.html#a10">resize</a>( size_t nFrames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1 );
<a name="l00259"></a>00259
<a name="l00261"></a>00261
<a name="l00268"></a>00268 <span class="keywordtype">void</span> <a class="code" href="classStkFrames.html#a10">resize</a>( size_t nFrames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels, StkFloat value );
<a name="l00269"></a>00269
<a name="l00271"></a><a class="code" href="classStkFrames.html#a12">00271</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classStkFrames.html#a12">channels</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> nChannels_; };
<a name="l00272"></a>00272
<a name="l00274"></a><a class="code" href="classStkFrames.html#a13">00274</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classStkFrames.html#a13">frames</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> nFrames_; };
<a name="l00275"></a>00275
<a name="l00277"></a>00277
<a name="l00281"></a><a class="code" href="classStkFrames.html#a14">00281</a> <span class="keywordtype">void</span> <a class="code" href="classStkFrames.html#a14">setDataRate</a>( StkFloat rate ) { dataRate_ = rate; };
<a name="l00282"></a>00282
<a name="l00284"></a>00284
<a name="l00288"></a><a class="code" href="classStkFrames.html#a15">00288</a> StkFloat <a class="code" href="classStkFrames.html#a15">dataRate</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dataRate_; };
<a name="l00289"></a>00289
<a name="l00291"></a><a class="code" href="classStkFrames.html#a16">00291</a> <span class="keywordtype">bool</span> <a class="code" href="classStkFrames.html#a16">interleaved</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> interleaved_; };
<a name="l00292"></a>00292
<a name="l00294"></a>00294
<a name="l00299"></a><a class="code" href="classStkFrames.html#a17">00299</a> <span class="keywordtype">void</span> <a class="code" href="classStkFrames.html#a17">setInterleaved</a>( <span class="keywordtype">bool</span> isInterleaved ) { interleaved_ = isInterleaved; };
<a name="l00300"></a>00300
<a name="l00301"></a>00301 <span class="keyword">private</span>:
<a name="l00302"></a>00302
<a name="l00303"></a>00303 StkFloat *data_;
<a name="l00304"></a>00304 StkFloat dataRate_;
<a name="l00305"></a>00305 size_t nFrames_;
<a name="l00306"></a>00306 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels_;
<a name="l00307"></a>00307 size_t size_;
<a name="l00308"></a>00308 size_t bufferSize_;
<a name="l00309"></a>00309 <span class="keywordtype">bool</span> interleaved_;
<a name="l00310"></a>00310
<a name="l00311"></a>00311 };
<a name="l00312"></a>00312
<a name="l00313"></a>00313
<a name="l00314"></a>00314 <span class="comment">// Here are a few other useful typedefs.</span>
<a name="l00315"></a>00315 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> UINT16;
<a name="l00316"></a>00316 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> UINT32;
<a name="l00317"></a>00317 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> SINT16;
<a name="l00318"></a>00318 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> SINT32;
<a name="l00319"></a>00319 <span class="keyword">typedef</span> <span class="keywordtype">float</span> FLOAT32;
<a name="l00320"></a>00320 <span class="keyword">typedef</span> <span class="keywordtype">double</span> FLOAT64;
<a name="l00321"></a>00321
<a name="l00322"></a>00322 <span class="comment">// The default sampling rate.</span>
<a name="l00323"></a>00323 <span class="keyword">const</span> StkFloat SRATE = 44100.0;
<a name="l00324"></a>00324
<a name="l00325"></a>00325 <span class="comment">// The default real-time audio input and output buffer size. If</span>
<a name="l00326"></a>00326 <span class="comment">// clicks are occuring in the input and/or output sound stream, a</span>
<a name="l00327"></a>00327 <span class="comment">// larger buffer size may help. Larger buffer sizes, however, produce</span>
<a name="l00328"></a>00328 <span class="comment">// more latency.</span>
<a name="l00329"></a>00329 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> RT_BUFFER_SIZE = 512;
<a name="l00330"></a>00330
<a name="l00331"></a>00331 <span class="comment">// The default rawwave path value is set with the preprocessor</span>
<a name="l00332"></a>00332 <span class="comment">// definition RAWWAVE_PATH. This can be specified as an argument to</span>
<a name="l00333"></a>00333 <span class="comment">// the configure script, in an integrated development environment, or</span>
<a name="l00334"></a>00334 <span class="comment">// below. The global STK rawwave path variable can be dynamically set</span>
<a name="l00335"></a>00335 <span class="comment">// with the Stk::setRawwavePath() function. This value is</span>
<a name="l00336"></a>00336 <span class="comment">// concatenated to the beginning of all references to rawwave files in</span>
<a name="l00337"></a>00337 <span class="comment">// the various STK core classes (ex. Clarinet.cpp). If you wish to</span>
<a name="l00338"></a>00338 <span class="comment">// move the rawwaves directory to a different location in your file</span>
<a name="l00339"></a>00339 <span class="comment">// system, you will need to set this path definition appropriately.</span>
<a name="l00340"></a>00340 <span class="preprocessor">#if !defined(RAWWAVE_PATH)</span>
<a name="l00341"></a>00341 <span class="preprocessor"></span><span class="preprocessor"> #define RAWWAVE_PATH "../../rawwaves/"</span>
<a name="l00342"></a>00342 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00343"></a>00343 <span class="preprocessor"></span>
<a name="l00344"></a>00344 <span class="keyword">const</span> StkFloat PI = 3.14159265358979;
<a name="l00345"></a>00345 <span class="keyword">const</span> StkFloat TWO_PI = 2 * PI;
<a name="l00346"></a>00346 <span class="keyword">const</span> StkFloat ONE_OVER_128 = 0.0078125;
<a name="l00347"></a>00347
<a name="l00348"></a>00348 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__) || defined(__WINDOWS_MM__)</span>
<a name="l00349"></a>00349 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_WINDOWS__</span>
<a name="l00350"></a>00350 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
<a name="l00351"></a>00351 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__LINUX_OSS__) || defined(__LINUX_ALSA__) || defined(__LINUX_JACK__)</span>
<a name="l00352"></a>00352 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_LINUX__</span>
<a name="l00353"></a>00353 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
<a name="l00354"></a>00354 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__IRIX_AL__)</span>
<a name="l00355"></a>00355 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_IRIX__</span>
<a name="l00356"></a>00356 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
<a name="l00357"></a>00357 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__MACOSX_CORE__)</span>
<a name="l00358"></a>00358 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_MACOSX__</span>
<a name="l00359"></a>00359 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
<a name="l00360"></a>00360 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00361"></a>00361 <span class="preprocessor"></span>
<a name="l00362"></a>00362 <span class="comment">//#define _STK_DEBUG_</span>
<a name="l00363"></a>00363
<a name="l00364"></a>00364 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,46 +8,44 @@
<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>SubNoise.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00011 <span class="comment">/***************************************************/</span>
00012
00013 <span class="preprocessor">#ifndef STK_SUBNOISE_H</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_SUBNOISE_H</span>
00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Noise.h"</span>
00017
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>SubNoise.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00011"></a>00011 <span class="comment">/***************************************************/</span>
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef STK_SUBNOISE_H</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_SUBNOISE_H</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classSubNoise.html">00018</a> <span class="keyword">class </span><a class="code" href="classSubNoise.html">SubNoise</a> : <span class="keyword">public</span> <a class="code" href="classNoise.html">Noise</a>
00019 {
00020 <span class="keyword">public</span>:
00021
00023 <a class="code" href="classSubNoise.html#a0">SubNoise</a>(<span class="keywordtype">int</span> <a class="code" href="classSubNoise.html#a2">subRate</a> = 16);
00024
00026 <a class="code" href="classSubNoise.html#a1">~SubNoise</a>();
00027
00029 <span class="keywordtype">int</span> <a class="code" href="classSubNoise.html#a2">subRate</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00030
00032 <span class="keywordtype">void</span> <a class="code" href="classSubNoise.html#a3">setRate</a>(<span class="keywordtype">int</span> subRate);
00033
00035 StkFloat <a class="code" href="classSubNoise.html#a4">tick</a>();
00036
00038 StkFloat *<a class="code" href="classSubNoise.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00039
00041
00047 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSubNoise.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00048
00049 <span class="keyword">protected</span>:
00050 <span class="keywordtype">int</span> counter_;
00051 <span class="keywordtype">int</span> rate_;
00052
00053 };
00054
00055 <span class="preprocessor">#endif</span>
<a name="l00019"></a>00019 {
<a name="l00020"></a>00020 <span class="keyword">public</span>:
<a name="l00021"></a>00021
<a name="l00023"></a>00023 <a class="code" href="classSubNoise.html#a0">SubNoise</a>( <span class="keywordtype">int</span> <a class="code" href="classSubNoise.html#a2">subRate</a> = 16 );
<a name="l00024"></a>00024
<a name="l00026"></a>00026 <a class="code" href="classSubNoise.html#a1">~SubNoise</a>();
<a name="l00027"></a>00027
<a name="l00029"></a><a class="code" href="classSubNoise.html#a2">00029</a> <span class="keywordtype">int</span> <a class="code" href="classSubNoise.html#a2">subRate</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rate_; };
<a name="l00030"></a>00030
<a name="l00032"></a>00032 <span class="keywordtype">void</span> <a class="code" href="classSubNoise.html#a3">setRate</a>( <span class="keywordtype">int</span> <a class="code" href="classSubNoise.html#a2">subRate</a> );
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="keyword">protected</span>:
<a name="l00035"></a>00035
<a name="l00036"></a>00036 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="keywordtype">int</span> counter_;
<a name="l00039"></a>00039 <span class="keywordtype">int</span> rate_;
<a name="l00040"></a>00040
<a name="l00041"></a>00041 };
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -0,0 +1,50 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>TcpClient.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00024"></a>00024 <span class="comment">/***************************************************/</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="preprocessor">#ifndef STK_TCPCLIENT_H</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_TCPCLIENT_H</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "Socket.h"</span>
<a name="l00030"></a>00030
<a name="l00031"></a><a class="code" href="classTcpClient.html">00031</a> <span class="keyword">class </span><a class="code" href="classTcpClient.html">TcpClient</a> : <span class="keyword">public</span> <a class="code" href="classSocket.html">Socket</a>
<a name="l00032"></a>00032 {
<a name="l00033"></a>00033 <span class="keyword">public</span>:
<a name="l00035"></a>00035
<a name="l00038"></a>00038 <a class="code" href="classTcpClient.html#a0">TcpClient</a>( <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a3">port</a>, std::string hostname = <span class="stringliteral">"localhost"</span> );
<a name="l00039"></a>00039
<a name="l00041"></a>00041 <a class="code" href="classTcpClient.html#a1">~TcpClient</a>();
<a name="l00042"></a>00042
<a name="l00044"></a>00044
<a name="l00049"></a>00049 <span class="keywordtype">int</span> <a class="code" href="classTcpClient.html#a2">connect</a>( <span class="keywordtype">int</span> port, std::string hostname = <span class="stringliteral">"localhost"</span> );
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">int</span> <a class="code" href="classTcpClient.html#a3">writeBuffer</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">int</span> <a class="code" href="classTcpClient.html#a4">readBuffer</a>(<span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keyword">protected</span>:
<a name="l00058"></a>00058
<a name="l00059"></a>00059 };
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="preprocessor">#endif // defined(STK_TCPCLIENT_H)</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,50 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>TcpServer.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00024"></a>00024 <span class="comment">/***************************************************/</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="preprocessor">#ifndef STK_TCPSERVER_H</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_TCPSERVER_H</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "Socket.h"</span>
<a name="l00030"></a>00030
<a name="l00031"></a><a class="code" href="classTcpServer.html">00031</a> <span class="keyword">class </span><a class="code" href="classTcpServer.html">TcpServer</a> : <span class="keyword">public</span> <a class="code" href="classSocket.html">Socket</a>
<a name="l00032"></a>00032 {
<a name="l00033"></a>00033 <span class="keyword">public</span>:
<a name="l00035"></a>00035
<a name="l00038"></a>00038 <a class="code" href="classTcpServer.html#a0">TcpServer</a>( <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a3">port</a> = 2006 );
<a name="l00039"></a>00039
<a name="l00041"></a>00041 <a class="code" href="classTcpServer.html#a1">~TcpServer</a>();
<a name="l00042"></a>00042
<a name="l00044"></a>00044
<a name="l00049"></a>00049 <span class="keywordtype">int</span> <a class="code" href="classTcpServer.html#a2">accept</a>( <span class="keywordtype">void</span> );
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">int</span> <a class="code" href="classTcpServer.html#a3">writeBuffer</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">int</span> <a class="code" href="classTcpServer.html#a4">readBuffer</a>(<span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keyword">protected</span>:
<a name="l00058"></a>00058
<a name="l00059"></a>00059 };
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="preprocessor">#endif // defined(STK_TCPSERVER_H)</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -8,65 +8,67 @@
<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>Thread.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00021 <span class="comment">/***************************************************/</span>
00022
00023 <span class="preprocessor">#ifndef STK_THREAD_H</span>
00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_THREAD_H</span>
00025 <span class="preprocessor"></span>
00026 <span class="preprocessor">#include "Stk.h"</span>
00027
00028 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
00029 <span class="preprocessor"></span>
00030 <span class="preprocessor"> #include &lt;pthread.h&gt;</span>
00031 <span class="preprocessor"> #define THREAD_TYPE</span>
00032 <span class="preprocessor"></span> <span class="keyword">typedef</span> pthread_t THREAD_HANDLE;
00033 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * THREAD_RETURN;
00034 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * (*THREAD_FUNCTION)(<span class="keywordtype">void</span> *);
00035
00036 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span>
00037 <span class="preprocessor"></span>
00038 <span class="preprocessor"> #include &lt;windows.h&gt;</span>
00039 <span class="preprocessor"> #include &lt;process.h&gt;</span>
00040 <span class="preprocessor"> #define THREAD_TYPE __stdcall</span>
00041 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> THREAD_HANDLE;
00042 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> THREAD_RETURN;
00043 <span class="keyword">typedef</span> unsigned (__stdcall *THREAD_FUNCTION)(<span class="keywordtype">void</span> *);
00044
00045 <span class="preprocessor">#endif</span>
00046 <span class="preprocessor"></span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Thread.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00021"></a>00021 <span class="comment">/***************************************************/</span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="preprocessor">#ifndef STK_THREAD_H</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_THREAD_H</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span>
<a name="l00030"></a>00030 <span class="preprocessor"> #include &lt;pthread.h&gt;</span>
<a name="l00031"></a>00031 <span class="preprocessor"> #define THREAD_TYPE</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span> <span class="keyword">typedef</span> pthread_t THREAD_HANDLE;
<a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * THREAD_RETURN;
<a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * (*THREAD_FUNCTION)(<span class="keywordtype">void</span> *);
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a>00038 <span class="preprocessor"> #include &lt;windows.h&gt;</span>
<a name="l00039"></a>00039 <span class="preprocessor"> #include &lt;process.h&gt;</span>
<a name="l00040"></a>00040 <span class="preprocessor"> #define THREAD_TYPE __stdcall</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> THREAD_HANDLE;
<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> THREAD_RETURN;
<a name="l00043"></a>00043 <span class="keyword">typedef</span> unsigned (__stdcall *THREAD_FUNCTION)(<span class="keywordtype">void</span> *);
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="preprocessor">#endif</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span>
<a name="l00047"></a><a class="code" href="classThread.html">00047</a> <span class="keyword">class </span><a class="code" href="classThread.html">Thread</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00048 {
00049 <span class="keyword">public</span>:
00051 <a class="code" href="classThread.html#a0">Thread</a>();
00052
00054 <a class="code" href="classThread.html#a1">~Thread</a>();
00055
00057
00062 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a2">start</a>( THREAD_FUNCTION routine, <span class="keywordtype">void</span> * ptr = NULL );
00063
00065
00072 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a3">cancel</a>(<span class="keywordtype">void</span>);
00073
00075
00078 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a4">wait</a>(<span class="keywordtype">void</span>);
00079
00081
00086 <span class="keywordtype">void</span> <a class="code" href="classThread.html#a5">testCancel</a>(<span class="keywordtype">void</span>);
00087
00088 <span class="keyword">protected</span>:
00089
00090 THREAD_HANDLE thread_;
00091
00092 };
00093
00094 <span class="preprocessor">#endif</span>
<a name="l00048"></a>00048 {
<a name="l00049"></a>00049 <span class="keyword">public</span>:
<a name="l00051"></a>00051 <a class="code" href="classThread.html#a0">Thread</a>();
<a name="l00052"></a>00052
<a name="l00054"></a>00054 <a class="code" href="classThread.html#a1">~Thread</a>();
<a name="l00055"></a>00055
<a name="l00057"></a>00057
<a name="l00062"></a>00062 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a2">start</a>( THREAD_FUNCTION routine, <span class="keywordtype">void</span> * ptr = NULL );
<a name="l00063"></a>00063
<a name="l00065"></a>00065
<a name="l00072"></a>00072 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a3">cancel</a>(<span class="keywordtype">void</span>);
<a name="l00073"></a>00073
<a name="l00075"></a>00075
<a name="l00078"></a>00078 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a4">wait</a>(<span class="keywordtype">void</span>);
<a name="l00079"></a>00079
<a name="l00081"></a>00081
<a name="l00086"></a>00086 <span class="keywordtype">void</span> <a class="code" href="classThread.html#a5">testCancel</a>(<span class="keywordtype">void</span>);
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <span class="keyword">protected</span>:
<a name="l00089"></a>00089
<a name="l00090"></a>00090 THREAD_HANDLE thread_;
<a name="l00091"></a>00091
<a name="l00092"></a>00092 };
<a name="l00093"></a>00093
<a name="l00094"></a>00094 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,39 +8,38 @@
<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>TubeBell.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00031 <span class="comment">/***************************************************/</span>
00032
00033 <span class="preprocessor">#ifndef STK_TUBEBELL_H</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_TUBEBELL_H</span>
00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span>
00037
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>TubeBell.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00031"></a>00031 <span class="comment">/***************************************************/</span>
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="preprocessor">#ifndef STK_TUBEBELL_H</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_TUBEBELL_H</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00036"></a>00036 <span class="preprocessor">#include "FM.h"</span>
<a name="l00037"></a>00037
<a name="l00038"></a><a class="code" href="classTubeBell.html">00038</a> <span class="keyword">class </span><a class="code" href="classTubeBell.html">TubeBell</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00039 {
00040 <span class="keyword">public</span>:
00042
00045 <a class="code" href="classTubeBell.html#a0">TubeBell</a>();
00046
00048 <a class="code" href="classTubeBell.html#a1">~TubeBell</a>();
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classTubeBell.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00052
00054 StkFloat <a class="code" href="classTubeBell.html#a3">tick</a>();
00055
00057 StkFloat *<a class="code" href="classTubeBell.html#a3">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00058
00060
00066 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTubeBell.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00067 };
00068
00069 <span class="preprocessor">#endif</span>
<a name="l00039"></a>00039 {
<a name="l00040"></a>00040 <span class="keyword">public</span>:
<a name="l00042"></a>00042
<a name="l00045"></a>00045 <a class="code" href="classTubeBell.html#a0">TubeBell</a>();
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <a class="code" href="classTubeBell.html#a1">~TubeBell</a>();
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classTubeBell.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="keyword">protected</span>:
<a name="l00054"></a>00054
<a name="l00055"></a>00055 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00056"></a>00056 };
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,55 +8,55 @@
<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>TwoPole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_TWOPOLE_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_TWOPOLE_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
00019
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>TwoPole.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_TWOPOLE_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_TWOPOLE_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "Filter.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classTwoPole.html">00020</a> <span class="keyword">class </span><a class="code" href="classTwoPole.html">TwoPole</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00021 {
00022 <span class="keyword">public</span>:
00023
00025 <a class="code" href="classTwoPole.html#a0">TwoPole</a>();
00026
00028 <a class="code" href="classTwoPole.html#a1">~TwoPole</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a2">clear</a>(<span class="keywordtype">void</span>);
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a3">setB0</a>(StkFloat b0);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a4">setA1</a>(StkFloat a1);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a5">setA2</a>(StkFloat a2);
00041
00043
00056 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a6">setResonance</a>(StkFloat frequency, StkFloat radius, <span class="keywordtype">bool</span> normalize = <span class="keyword">false</span>);
00057
00059
00063 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a7">setGain</a>(StkFloat gain);
00064
00066 StkFloat <a class="code" href="classTwoPole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00067
00069 StkFloat <a class="code" href="classTwoPole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00070
00072 StkFloat <a class="code" href="classTwoPole.html#a10">tick</a>(StkFloat sample);
00073
00075 StkFloat *<a class="code" href="classTwoPole.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00076
00078
00084 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTwoPole.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00085 };
00086
00087 <span class="preprocessor">#endif</span>
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="keyword">public</span>:
<a name="l00023"></a>00023
<a name="l00025"></a>00025 <a class="code" href="classTwoPole.html#a0">TwoPole</a>();
<a name="l00026"></a>00026
<a name="l00028"></a>00028 <a class="code" href="classTwoPole.html#a1">~TwoPole</a>();
<a name="l00029"></a>00029
<a name="l00031"></a>00031 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a2">clear</a>(<span class="keywordtype">void</span>);
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a3">setB0</a>(StkFloat b0);
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a4">setA1</a>(StkFloat a1);
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a5">setA2</a>(StkFloat a2);
<a name="l00041"></a>00041
<a name="l00043"></a>00043
<a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a6">setResonance</a>(StkFloat frequency, StkFloat radius, <span class="keywordtype">bool</span> normalize = <span class="keyword">false</span>);
<a name="l00057"></a>00057
<a name="l00059"></a>00059
<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a7">setGain</a>(StkFloat gain);
<a name="l00064"></a>00064
<a name="l00066"></a>00066 StkFloat <a class="code" href="classTwoPole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00067"></a>00067
<a name="l00069"></a>00069 StkFloat <a class="code" href="classTwoPole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00070"></a>00070
<a name="l00072"></a>00072 StkFloat <a class="code" href="classTwoPole.html#a10">tick</a>(StkFloat sample);
<a name="l00073"></a>00073
<a name="l00075"></a>00075
<a name="l00081"></a>00081 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTwoPole.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00082"></a>00082 };
<a name="l00083"></a>00083
<a name="l00084"></a>00084 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,54 +8,54 @@
<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.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_TWOZERO_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_TWOZERO_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
00019
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>TwoZero.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
<a name="l00014"></a>00014
<a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_TWOZERO_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_TWOZERO_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "Filter.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classTwoZero.html">00020</a> <span class="keyword">class </span><a class="code" href="classTwoZero.html">TwoZero</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00021 {
00022 <span class="keyword">public</span>:
00024 <a class="code" href="classTwoZero.html#a0">TwoZero</a>();
00025
00027 <a class="code" href="classTwoZero.html#a1">~TwoZero</a>();
00028
00030 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a2">clear</a>(<span class="keywordtype">void</span>);
00031
00033 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a3">setB0</a>(StkFloat b0);
00034
00036 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a4">setB1</a>(StkFloat b1);
00037
00039 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a5">setB2</a>(StkFloat b2);
00040
00042
00052 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a6">setNotch</a>(StkFloat frequency, StkFloat radius);
00053
00055
00059 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a7">setGain</a>(StkFloat gain);
00060
00062 StkFloat <a class="code" href="classTwoZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00063
00065 StkFloat <a class="code" href="classTwoZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00066
00068 StkFloat <a class="code" href="classTwoZero.html#a10">tick</a>(StkFloat sample);
00069
00071 StkFloat *<a class="code" href="classTwoZero.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00072
00074
00080 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTwoZero.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00081 };
00082
00083 <span class="preprocessor">#endif</span>
<a name="l00021"></a>00021 {
<a name="l00022"></a>00022 <span class="keyword">public</span>:
<a name="l00024"></a>00024 <a class="code" href="classTwoZero.html#a0">TwoZero</a>();
<a name="l00025"></a>00025
<a name="l00027"></a>00027 <a class="code" href="classTwoZero.html#a1">~TwoZero</a>();
<a name="l00028"></a>00028
<a name="l00030"></a>00030 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a2">clear</a>(<span class="keywordtype">void</span>);
<a name="l00031"></a>00031
<a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a3">setB0</a>(StkFloat b0);
<a name="l00034"></a>00034
<a name="l00036"></a>00036 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a4">setB1</a>(StkFloat b1);
<a name="l00037"></a>00037
<a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a5">setB2</a>(StkFloat b2);
<a name="l00040"></a>00040
<a name="l00042"></a>00042
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a6">setNotch</a>(StkFloat frequency, StkFloat radius);
<a name="l00053"></a>00053
<a name="l00055"></a>00055
<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a7">setGain</a>(StkFloat gain);
<a name="l00060"></a>00060
<a name="l00062"></a>00062 StkFloat <a class="code" href="classTwoZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00063"></a>00063
<a name="l00065"></a>00065 StkFloat <a class="code" href="classTwoZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00066"></a>00066
<a name="l00068"></a>00068 StkFloat <a class="code" href="classTwoZero.html#a10">tick</a>(StkFloat sample);
<a name="l00069"></a>00069
<a name="l00071"></a>00071
<a name="l00077"></a>00077 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTwoZero.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00078"></a>00078 };
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -0,0 +1,59 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<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.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>UdpSocket.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00022"></a>00022 <span class="comment">/***************************************************/</span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="preprocessor">#ifndef STK_UDPSOCKET_H</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_UDPSOCKET_H</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "Socket.h"</span>
<a name="l00028"></a>00028
<a name="l00029"></a><a class="code" href="classUdpSocket.html">00029</a> <span class="keyword">class </span><a class="code" href="classUdpSocket.html">UdpSocket</a> : <span class="keyword">public</span> <a class="code" href="classSocket.html">Socket</a>
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 <span class="keyword">public</span>:
<a name="l00033"></a>00033
<a name="l00036"></a>00036 <a class="code" href="classUdpSocket.html#a0">UdpSocket</a>( <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a3">port</a> = 2006 );
<a name="l00037"></a>00037
<a name="l00039"></a>00039 <a class="code" href="classUdpSocket.html#a1">~UdpSocket</a>();
<a name="l00040"></a>00040
<a name="l00042"></a>00042
<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classUdpSocket.html#a2">setDestination</a>( <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a3">port</a> = 2006, std::string hostname = <span class="stringliteral">"localhost"</span> );
<a name="l00046"></a>00046
<a name="l00048"></a>00048
<a name="l00051"></a>00051 <span class="keywordtype">int</span> <a class="code" href="classUdpSocket.html#a3">writeBuffer</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
<a name="l00052"></a>00052
<a name="l00054"></a>00054 <span class="keywordtype">int</span> <a class="code" href="classUdpSocket.html#a4">readBuffer</a>(<span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
<a name="l00055"></a>00055
<a name="l00057"></a>00057 <span class="keywordtype">int</span> <a class="code" href="classUdpSocket.html#a5">writeBufferTo</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a3">port</a>, std::string hostname = <span class="stringliteral">"localhost"</span>, <span class="keywordtype">int</span> flags = 0 );
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="keyword">protected</span>:
<a name="l00060"></a>00060
<a name="l00062"></a>00062
<a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="classUdpSocket.html#b0">setAddress</a>( <span class="keyword">struct</span> sockaddr_in *address, <span class="keywordtype">int</span> port = 2006, std::string hostname = <span class="stringliteral">"localhost"</span> );
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <span class="keyword">struct </span>sockaddr_in address_;
<a name="l00068"></a>00068 <span class="keywordtype">bool</span> validAddress_;
<a name="l00069"></a>00069
<a name="l00070"></a>00070 };
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="preprocessor">#endif // defined(STK_UDPSOCKET_H)</span>
</pre></div><HR>
<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-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -8,51 +8,53 @@
<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>Vector3D.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00009 <span class="comment">/***************************************************/</span>
00010
00011 <span class="preprocessor">#ifndef STK_VECTOR3D_H</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_VECTOR3D_H</span>
00013 <span class="preprocessor"></span>
00014 <span class="preprocessor">#include "Stk.h"</span>
00015
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Vector3D.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00009"></a>00009 <span class="comment">/***************************************************/</span>
<a name="l00010"></a>00010
<a name="l00011"></a>00011 <span class="preprocessor">#ifndef STK_VECTOR3D_H</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_VECTOR3D_H</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00015"></a>00015
<a name="l00016"></a><a class="code" href="classVector3D.html">00016</a> <span class="keyword">class </span><a class="code" href="classVector3D.html">Vector3D</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00017 {
00018
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classVector3D.html#a0">Vector3D</a>(StkFloat initX=0.0, StkFloat initY=0.0, StkFloat initZ=0.0);
00022
00024 <a class="code" href="classVector3D.html#a1">~Vector3D</a>();
00025
00027 StkFloat <a class="code" href="classVector3D.html#a2">getX</a>();
00028
00030 StkFloat <a class="code" href="classVector3D.html#a3">getY</a>();
00031
00033 StkFloat <a class="code" href="classVector3D.html#a4">getZ</a>();
00034
00036 StkFloat <a class="code" href="classVector3D.html#a5">getLength</a>();
00037
00039 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a6">setXYZ</a>(StkFloat x, StkFloat y, StkFloat z);
00040
00042 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a7">setX</a>(StkFloat x);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a8">setY</a>(StkFloat y);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a9">setZ</a>(StkFloat z);
00049
00050 <span class="keyword">protected</span>:
00051 StkFloat myX_;
00052 StkFloat myY_;
00053 StkFloat myZ_;
00054 };
00055
00056 <span class="preprocessor">#endif</span>
<a name="l00017"></a>00017 {
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="keyword">public</span>:
<a name="l00021"></a>00021 <a class="code" href="classVector3D.html#a0">Vector3D</a>(StkFloat initX=0.0, StkFloat initY=0.0, StkFloat initZ=0.0);
<a name="l00022"></a>00022
<a name="l00024"></a>00024 <a class="code" href="classVector3D.html#a1">~Vector3D</a>();
<a name="l00025"></a>00025
<a name="l00027"></a>00027 StkFloat <a class="code" href="classVector3D.html#a2">getX</a>();
<a name="l00028"></a>00028
<a name="l00030"></a>00030 StkFloat <a class="code" href="classVector3D.html#a3">getY</a>();
<a name="l00031"></a>00031
<a name="l00033"></a>00033 StkFloat <a class="code" href="classVector3D.html#a4">getZ</a>();
<a name="l00034"></a>00034
<a name="l00036"></a>00036 StkFloat <a class="code" href="classVector3D.html#a5">getLength</a>();
<a name="l00037"></a>00037
<a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a6">setXYZ</a>(StkFloat x, StkFloat y, StkFloat z);
<a name="l00040"></a>00040
<a name="l00042"></a>00042 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a7">setX</a>(StkFloat x);
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a8">setY</a>(StkFloat y);
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a9">setZ</a>(StkFloat z);
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keyword">protected</span>:
<a name="l00051"></a>00051 StkFloat myX_;
<a name="l00052"></a>00052 StkFloat myY_;
<a name="l00053"></a>00053 StkFloat myZ_;
<a name="l00054"></a>00054 };
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,76 +8,74 @@
<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>VoicForm.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00026 <span class="comment">/***************************************************/</span>
00027
00028 <span class="preprocessor">#ifndef STK_VOICFORM_H</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_VOICFORM_H</span>
00030 <span class="preprocessor"></span>
00031 <span class="preprocessor">#include "Instrmnt.h"</span>
00032 <span class="preprocessor">#include "Envelope.h"</span>
00033 <span class="preprocessor">#include "Noise.h"</span>
00034 <span class="preprocessor">#include "SingWave.h"</span>
00035 <span class="preprocessor">#include "FormSwep.h"</span>
00036 <span class="preprocessor">#include "OnePole.h"</span>
00037 <span class="preprocessor">#include "OneZero.h"</span>
00038
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>VoicForm.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00026"></a>00026 <span class="comment">/***************************************************/</span>
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="preprocessor">#ifndef STK_VOICFORM_H</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_VOICFORM_H</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "Envelope.h"</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include "SingWave.h"</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include "FormSwep.h"</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include "OneZero.h"</span>
<a name="l00038"></a>00038
<a name="l00039"></a><a class="code" href="classVoicForm.html">00039</a> <span class="keyword">class </span><a class="code" href="classVoicForm.html">VoicForm</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00040 {
00041 <span class="keyword">public</span>:
00043
00046 <a class="code" href="classVoicForm.html#a0">VoicForm</a>();
00047
00049 <a class="code" href="classVoicForm.html#a1">~VoicForm</a>();
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a2">clear</a>();
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a3">setFrequency</a>(StkFloat frequency);
00056
00058 <span class="keywordtype">bool</span> <a class="code" href="classVoicForm.html#a4">setPhoneme</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* phoneme);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a5">setVoiced</a>(StkFloat vGain);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a6">setUnVoiced</a>(StkFloat nGain);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a7">setFilterSweepRate</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> whichOne, StkFloat rate);
00068
00070 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a8">setPitchSweepRate</a>(StkFloat rate);
00071
00073 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a9">speak</a>();
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a10">quiet</a>();
00077
00079 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a11">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00080
00082 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a12">noteOff</a>(StkFloat amplitude);
00083
00085 StkFloat <a class="code" href="classVoicForm.html#a13">tick</a>();
00086
00088 StkFloat *<a class="code" href="classVoicForm.html#a13">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00089
00091
00097 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classVoicForm.html#a13">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00098
00100 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a16">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00101
00102 <span class="keyword">protected</span>:
00103 <a class="code" href="classSingWave.html">SingWave</a> *voiced_;
00104 <a class="code" href="classNoise.html">Noise</a> noise_;
00105 <a class="code" href="classEnvelope.html">Envelope</a> noiseEnv_;
00106 <a class="code" href="classFormSwep.html">FormSwep</a> filters_[4];
00107 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
00108 <a class="code" href="classOneZero.html">OneZero</a> onezero_;
00109
00110 };
00111
00112 <span class="preprocessor">#endif</span>
<a name="l00040"></a>00040 {
<a name="l00041"></a>00041 <span class="keyword">public</span>:
<a name="l00043"></a>00043
<a name="l00046"></a>00046 <a class="code" href="classVoicForm.html#a0">VoicForm</a>();
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <a class="code" href="classVoicForm.html#a1">~VoicForm</a>();
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a2">clear</a>();
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">bool</span> <a class="code" href="classVoicForm.html#a4">setPhoneme</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* phoneme);
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a5">setVoiced</a>(StkFloat vGain);
<a name="l00062"></a>00062
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a6">setUnVoiced</a>(StkFloat nGain);
<a name="l00065"></a>00065
<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a7">setFilterSweepRate</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> whichOne, StkFloat rate);
<a name="l00068"></a>00068
<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a8">setPitchSweepRate</a>(StkFloat rate);
<a name="l00071"></a>00071
<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a9">speak</a>();
<a name="l00074"></a>00074
<a name="l00076"></a>00076 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a10">quiet</a>();
<a name="l00077"></a>00077
<a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a11">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00080"></a>00080
<a name="l00082"></a>00082 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a12">noteOff</a>(StkFloat amplitude);
<a name="l00083"></a>00083
<a name="l00085"></a>00085 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="keyword">protected</span>:
<a name="l00088"></a>00088
<a name="l00089"></a>00089 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <a class="code" href="classSingWave.html">SingWave</a> *voiced_;
<a name="l00092"></a>00092 <a class="code" href="classNoise.html">Noise</a> noise_;
<a name="l00093"></a>00093 <a class="code" href="classEnvelope.html">Envelope</a> noiseEnv_;
<a name="l00094"></a>00094 <a class="code" href="classFormSwep.html">FormSwep</a> filters_[4];
<a name="l00095"></a>00095 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
<a name="l00096"></a>00096 <a class="code" href="classOneZero.html">OneZero</a> onezero_;
<a name="l00097"></a>00097
<a name="l00098"></a>00098 };
<a name="l00099"></a>00099
<a name="l00100"></a>00100 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,97 +8,99 @@
<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>Voicer.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00030 <span class="comment">/***************************************************/</span>
00031
00032 <span class="preprocessor">#ifndef STK_VOICER_H</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define STK_VOICER_H</span>
00034 <span class="preprocessor"></span>
00035 <span class="preprocessor">#include "Instrmnt.h"</span>
00036 <span class="preprocessor">#include &lt;vector&gt;</span>
00037
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Voicer.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00030"></a>00030 <span class="comment">/***************************************************/</span>
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="preprocessor">#ifndef STK_VOICER_H</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#define STK_VOICER_H</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span>
<a name="l00035"></a>00035 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00037"></a>00037
<a name="l00038"></a><a class="code" href="classVoicer.html">00038</a> <span class="keyword">class </span><a class="code" href="classVoicer.html">Voicer</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00039 {
00040 <span class="keyword">public</span>:
00042 <a class="code" href="classVoicer.html#a0">Voicer</a>( StkFloat decayTime=0.2 );
00043
00045 <a class="code" href="classVoicer.html#a1">~Voicer</a>();
00046
00048
00052 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a2">addInstrument</a>( <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument, <span class="keywordtype">int</span> channel=0 );
00053
00055
00060 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a3">removeInstrument</a>( <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument );
00061
00063
00071 <span class="keywordtype">long</span> <a class="code" href="classVoicer.html#a4">noteOn</a>( StkFloat noteNumber, StkFloat amplitude, <span class="keywordtype">int</span> channel=0 );
00072
00074
00077 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a5">noteOff</a>( StkFloat noteNumber, StkFloat amplitude, <span class="keywordtype">int</span> channel=0 );
00078
00080
00083 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a5">noteOff</a>( <span class="keywordtype">long</span> tag, StkFloat amplitude );
00084
00086
00089 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a7">setFrequency</a>( StkFloat noteNumber, <span class="keywordtype">int</span> channel=0 );
00090
00092
00095 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a7">setFrequency</a>( <span class="keywordtype">long</span> tag, StkFloat noteNumber );
00096
00098 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a9">pitchBend</a>( StkFloat value, <span class="keywordtype">int</span> channel=0 );
00099
00101 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a9">pitchBend</a>( <span class="keywordtype">long</span> tag, StkFloat value );
00102
00104 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a11">controlChange</a>( <span class="keywordtype">int</span> number, StkFloat value, <span class="keywordtype">int</span> channel=0 );
00105
00107 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a11">controlChange</a>( <span class="keywordtype">long</span> tag, <span class="keywordtype">int</span> number, StkFloat value );
00108
00110 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a13">silence</a>( <span class="keywordtype">void</span> );
00111
00113 StkFloat <a class="code" href="classVoicer.html#a14">tick</a>();
00114
00116 StkFloat *<a class="code" href="classVoicer.html#a14">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00117
00119
00125 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classVoicer.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00126
00128 StkFloat <a class="code" href="classVoicer.html#a17">lastOut</a>() <span class="keyword">const</span>;
00129
00131 StkFloat <a class="code" href="classVoicer.html#a18">lastOutLeft</a>() <span class="keyword">const</span>;
00132
00134 StkFloat <a class="code" href="classVoicer.html#a19">lastOutRight</a>() <span class="keyword">const</span>;
00135
00136 <span class="keyword">protected</span>:
00137
00138 <span class="keyword">struct </span>Voice {
00139 <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument;
00140 <span class="keywordtype">long</span> tag;
00141 StkFloat noteNumber;
00142 StkFloat frequency;
00143 <span class="keywordtype">int</span> sounding;
00144 <span class="keywordtype">int</span> channel;
00145
00146 <span class="comment">// Default constructor.</span>
00147 Voice()
00148 :instrument(0), tag(0), noteNumber(-1.0), frequency(0.0),
00149 sounding(0), channel(0) {}
00150 };
00151
00152 std::vector&lt;Voice&gt; voices_;
00153 <span class="keywordtype">long</span> tags_;
00154 <span class="keywordtype">int</span> muteTime_;
00155 StkFloat lastOutput_;
00156 StkFloat lastOutputLeft_;
00157 StkFloat lastOutputRight_;
00158 };
00159
00160 <span class="preprocessor">#endif</span>
<a name="l00039"></a>00039 {
<a name="l00040"></a>00040 <span class="keyword">public</span>:
<a name="l00042"></a>00042 <a class="code" href="classVoicer.html#a0">Voicer</a>( StkFloat decayTime=0.2 );
<a name="l00043"></a>00043
<a name="l00045"></a>00045 <a class="code" href="classVoicer.html#a1">~Voicer</a>();
<a name="l00046"></a>00046
<a name="l00048"></a>00048
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a2">addInstrument</a>( <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument, <span class="keywordtype">int</span> channel=0 );
<a name="l00053"></a>00053
<a name="l00055"></a>00055
<a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a3">removeInstrument</a>( <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument );
<a name="l00061"></a>00061
<a name="l00063"></a>00063
<a name="l00071"></a>00071 <span class="keywordtype">long</span> <a class="code" href="classVoicer.html#a4">noteOn</a>( StkFloat noteNumber, StkFloat amplitude, <span class="keywordtype">int</span> channel=0 );
<a name="l00072"></a>00072
<a name="l00074"></a>00074
<a name="l00077"></a>00077 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a5">noteOff</a>( StkFloat noteNumber, StkFloat amplitude, <span class="keywordtype">int</span> channel=0 );
<a name="l00078"></a>00078
<a name="l00080"></a>00080
<a name="l00083"></a>00083 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a5">noteOff</a>( <span class="keywordtype">long</span> tag, StkFloat amplitude );
<a name="l00084"></a>00084
<a name="l00086"></a>00086
<a name="l00089"></a>00089 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a7">setFrequency</a>( StkFloat noteNumber, <span class="keywordtype">int</span> channel=0 );
<a name="l00090"></a>00090
<a name="l00092"></a>00092
<a name="l00095"></a>00095 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a7">setFrequency</a>( <span class="keywordtype">long</span> tag, StkFloat noteNumber );
<a name="l00096"></a>00096
<a name="l00098"></a>00098 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a9">pitchBend</a>( StkFloat value, <span class="keywordtype">int</span> channel=0 );
<a name="l00099"></a>00099
<a name="l00101"></a>00101 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a9">pitchBend</a>( <span class="keywordtype">long</span> tag, StkFloat value );
<a name="l00102"></a>00102
<a name="l00104"></a>00104 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a11">controlChange</a>( <span class="keywordtype">int</span> number, StkFloat value, <span class="keywordtype">int</span> channel=0 );
<a name="l00105"></a>00105
<a name="l00107"></a>00107 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a11">controlChange</a>( <span class="keywordtype">long</span> tag, <span class="keywordtype">int</span> number, StkFloat value );
<a name="l00108"></a>00108
<a name="l00110"></a>00110 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a13">silence</a>( <span class="keywordtype">void</span> );
<a name="l00111"></a>00111
<a name="l00113"></a>00113 StkFloat <a class="code" href="classVoicer.html#a14">tick</a>();
<a name="l00114"></a>00114
<a name="l00116"></a>00116 StkFloat *<a class="code" href="classVoicer.html#a14">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
<a name="l00117"></a>00117
<a name="l00119"></a>00119
<a name="l00125"></a>00125 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classVoicer.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
<a name="l00126"></a>00126
<a name="l00128"></a>00128 StkFloat <a class="code" href="classVoicer.html#a17">lastOut</a>() <span class="keyword">const</span>;
<a name="l00129"></a>00129
<a name="l00131"></a>00131 StkFloat <a class="code" href="classVoicer.html#a18">lastOutLeft</a>() <span class="keyword">const</span>;
<a name="l00132"></a>00132
<a name="l00134"></a>00134 StkFloat <a class="code" href="classVoicer.html#a19">lastOutRight</a>() <span class="keyword">const</span>;
<a name="l00135"></a>00135
<a name="l00136"></a>00136 <span class="keyword">protected</span>:
<a name="l00137"></a>00137
<a name="l00138"></a>00138 <span class="keyword">struct </span>Voice {
<a name="l00139"></a>00139 <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument;
<a name="l00140"></a>00140 <span class="keywordtype">long</span> tag;
<a name="l00141"></a>00141 StkFloat noteNumber;
<a name="l00142"></a>00142 StkFloat frequency;
<a name="l00143"></a>00143 <span class="keywordtype">int</span> sounding;
<a name="l00144"></a>00144 <span class="keywordtype">int</span> channel;
<a name="l00145"></a>00145
<a name="l00146"></a>00146 <span class="comment">// Default constructor.</span>
<a name="l00147"></a>00147 Voice()
<a name="l00148"></a>00148 :instrument(0), tag(0), noteNumber(-1.0), frequency(0.0),
<a name="l00149"></a>00149 sounding(0), channel(0) {}
<a name="l00150"></a>00150 };
<a name="l00151"></a>00151
<a name="l00152"></a>00152 std::vector&lt;Voice&gt; voices_;
<a name="l00153"></a>00153 <span class="keywordtype">long</span> tags_;
<a name="l00154"></a>00154 <span class="keywordtype">int</span> muteTime_;
<a name="l00155"></a>00155 StkFloat lastOutput_;
<a name="l00156"></a>00156 StkFloat lastOutputLeft_;
<a name="l00157"></a>00157 StkFloat lastOutputRight_;
<a name="l00158"></a>00158 };
<a name="l00159"></a>00159
<a name="l00160"></a>00160 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,56 +8,59 @@
<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>WaveLoop.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span>
00020
00021 <span class="preprocessor">#ifndef STK_WAVELOOP_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_WAVELOOP_H</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "WvIn.h"</span>
00025
<a name="l00026"></a><a class="code" href="classWaveLoop.html">00026</a> <span class="keyword">class </span><a class="code" href="classWaveLoop.html">WaveLoop</a> : <span class="keyword">public</span> <a class="code" href="classWvIn.html">WvIn</a>
00027 {
00028 <span class="keyword">public</span>:
00030 <a class="code" href="classWaveLoop.html#a0">WaveLoop</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span> );
00031
00033 <span class="keyword">virtual</span> <a class="code" href="classWaveLoop.html#a1">~WaveLoop</a>();
00034
00036
00042 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a2">setFrequency</a>(StkFloat frequency);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a3">addTime</a>(StkFloat time);
00046
00048
00053 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a4">addPhase</a>(StkFloat angle);
00054
00056
00061 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a5">addPhaseOffset</a>(StkFloat angle);
00062
00064 <span class="keyword">const</span> StkFloat *<a class="code" href="classWaveLoop.html#a6">tickFrame</a>(<span class="keywordtype">void</span>);
00065
00067
00070 StkFloat *<a class="code" href="classWaveLoop.html#a6">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00071
00073
00079 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWaveLoop.html#a6">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00080
00081 <span class="keyword">protected</span>:
00082
00083 <span class="comment">// Read file data.</span>
00084 <span class="keywordtype">void</span> readData(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> index);
00085
00086 StkFloat phaseOffset_;
00087
00088 };
00089
00090 <span class="preprocessor">#endif</span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>WaveLoop.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00017"></a>00017 <span class="comment">/***************************************************/</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#ifndef STK_WAVELOOP_H</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_WAVELOOP_H</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 <span class="preprocessor">#include "FileWvIn.h"</span>
<a name="l00023"></a>00023
<a name="l00024"></a><a class="code" href="classWaveLoop.html">00024</a> <span class="keyword">class </span><a class="code" href="classWaveLoop.html">WaveLoop</a> : <span class="keyword">public</span> <a class="code" href="classFileWvIn.html">FileWvIn</a>
<a name="l00025"></a>00025 {
<a name="l00026"></a>00026 <span class="keyword">public</span>:
<a name="l00028"></a>00028 <a class="code" href="classWaveLoop.html#a0">WaveLoop</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkThreshold = 1000000, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkSize = 1024 );
<a name="l00029"></a>00029
<a name="l00031"></a>00031 <a class="code" href="classWaveLoop.html#a0">WaveLoop</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>, <span class="keywordtype">bool</span> doNormalize = <span class="keyword">true</span>,
<a name="l00032"></a>00032 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkThreshold = 1000000, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkSize = 1024 );
<a name="l00033"></a>00033
<a name="l00035"></a>00035 <span class="keyword">virtual</span> <a class="code" href="classWaveLoop.html#a2">~WaveLoop</a>();
<a name="l00036"></a>00036
<a name="l00038"></a>00038
<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a3">openFile</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>, <span class="keywordtype">bool</span> doNormalize = <span class="keyword">true</span> );
<a name="l00048"></a>00048
<a name="l00050"></a>00050
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a4">setRate</a>( StkFloat rate );
<a name="l00054"></a>00054
<a name="l00056"></a>00056
<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a5">setFrequency</a>( StkFloat frequency );
<a name="l00063"></a>00063
<a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a6">addTime</a>( StkFloat time );
<a name="l00066"></a>00066
<a name="l00068"></a>00068
<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a7">addPhase</a>( StkFloat angle );
<a name="l00074"></a>00074
<a name="l00076"></a>00076
<a name="l00081"></a>00081 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a8">addPhaseOffset</a>( StkFloat angle );
<a name="l00082"></a>00082
<a name="l00083"></a>00083 <span class="keyword">protected</span>:
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="keyword">virtual</span> <span class="keywordtype">void</span> computeFrame( <span class="keywordtype">void</span> );
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <a class="code" href="classStkFrames.html">StkFrames</a> firstFrame_;
<a name="l00088"></a>00088 StkFloat phaseOffset_;
<a name="l00089"></a>00089
<a name="l00090"></a>00090 };
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,78 +8,75 @@
<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>Whistle.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00017 <span class="comment">/***************************************************/</span>
00018
00019 <span class="preprocessor">#ifndef STK_WHISTLE_H</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_WHISTLE_H</span>
00021 <span class="preprocessor"></span>
00022 <span class="preprocessor">#include "Instrmnt.h"</span>
00023 <span class="preprocessor">#include "Sphere.h"</span>
00024 <span class="preprocessor">#include "Vector3D.h"</span>
00025 <span class="preprocessor">#include "Noise.h"</span>
00026 <span class="preprocessor">#include "WaveLoop.h"</span>
00027 <span class="preprocessor">#include "OnePole.h"</span>
00028 <span class="preprocessor">#include "Envelope.h"</span>
00029
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Whistle.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00017"></a>00017 <span class="comment">/***************************************************/</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="preprocessor">#ifndef STK_WHISTLE_H</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_WHISTLE_H</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 <span class="preprocessor">#include "Instrmnt.h"</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "Sphere.h"</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "Vector3D.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "Envelope.h"</span>
<a name="l00029"></a>00029
<a name="l00030"></a><a class="code" href="classWhistle.html">00030</a> <span class="keyword">class </span><a class="code" href="classWhistle.html">Whistle</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00031 {
00032 <span class="keyword">public</span>:
00034
00037 <a class="code" href="classWhistle.html#a0">Whistle</a>();
00038
00040 <a class="code" href="classWhistle.html#a1">~Whistle</a>();
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a2">clear</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a3">setFrequency</a>(StkFloat frequency);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a5">stopBlowing</a>(StkFloat rate);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a7">noteOff</a>(StkFloat amplitude);
00059
00061 StkFloat <a class="code" href="classWhistle.html#a8">tick</a>();
00062
00064 StkFloat *<a class="code" href="classWhistle.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00065
00067
00073 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWhistle.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00077
00078 <span class="keyword">protected</span>:
00079
00080 <a class="code" href="classVector3D.html">Vector3D</a> *tempVectorP_;
00081 <a class="code" href="classVector3D.html">Vector3D</a> tempVector_;
00082 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
00083 <a class="code" href="classNoise.html">Noise</a> noise_;
00084 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00085 <a class="code" href="classSphere.html">Sphere</a> can_; <span class="comment">// Declare a Spherical "can".</span>
00086 <a class="code" href="classSphere.html">Sphere</a> pea_, bumper_; <span class="comment">// One spherical "pea", and a spherical "bumper".</span>
00087
00088 <a class="code" href="classWaveLoop.html">WaveLoop</a> *sine_;
00089
00090 StkFloat baseFrequency_;
00091 StkFloat noiseGain_;
00092 StkFloat fippleFreqMod_;
00093 StkFloat fippleGainMod_;
00094 StkFloat blowFreqMod_;
00095 StkFloat tickSize_;
00096 StkFloat canLoss_;
00097 <span class="keywordtype">int</span> subSample_, subSampCount_;
00098 };
00099
00100 <span class="preprocessor">#endif</span>
<a name="l00031"></a>00031 {
<a name="l00032"></a>00032 <span class="keyword">public</span>:
<a name="l00034"></a>00034
<a name="l00037"></a>00037 <a class="code" href="classWhistle.html#a0">Whistle</a>();
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <a class="code" href="classWhistle.html#a1">~Whistle</a>();
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a2">clear</a>();
<a name="l00044"></a>00044
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a3">setFrequency</a>(StkFloat frequency);
<a name="l00047"></a>00047
<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a5">stopBlowing</a>(StkFloat rate);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00056"></a>00056
<a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a7">noteOff</a>(StkFloat amplitude);
<a name="l00059"></a>00059
<a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a8">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
<a name="l00062"></a>00062
<a name="l00063"></a>00063 <span class="keyword">protected</span>:
<a name="l00064"></a>00064
<a name="l00065"></a>00065 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00066"></a>00066
<a name="l00067"></a>00067 <a class="code" href="classVector3D.html">Vector3D</a> *tempVectorP_;
<a name="l00068"></a>00068 <a class="code" href="classVector3D.html">Vector3D</a> tempVector_;
<a name="l00069"></a>00069 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
<a name="l00070"></a>00070 <a class="code" href="classNoise.html">Noise</a> noise_;
<a name="l00071"></a>00071 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
<a name="l00072"></a>00072 <a class="code" href="classSphere.html">Sphere</a> can_; <span class="comment">// Declare a Spherical "can".</span>
<a name="l00073"></a>00073 <a class="code" href="classSphere.html">Sphere</a> pea_, bumper_; <span class="comment">// One spherical "pea", and a spherical "bumper".</span>
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <a class="code" href="classSineWave.html">SineWave</a> sine_;
<a name="l00076"></a>00076
<a name="l00077"></a>00077 StkFloat baseFrequency_;
<a name="l00078"></a>00078 StkFloat noiseGain_;
<a name="l00079"></a>00079 StkFloat fippleFreqMod_;
<a name="l00080"></a>00080 StkFloat fippleGainMod_;
<a name="l00081"></a>00081 StkFloat blowFreqMod_;
<a name="l00082"></a>00082 StkFloat tickSize_;
<a name="l00083"></a>00083 StkFloat canLoss_;
<a name="l00084"></a>00084 <span class="keywordtype">int</span> subSample_, subSampCount_;
<a name="l00085"></a>00085 };
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,41 +8,40 @@
<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>Wurley.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00031 <span class="comment">/***************************************************/</span>
00032
00033 <span class="preprocessor">#ifndef STK_WURLEY_H</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_WURLEY_H</span>
00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span>
00037
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>Wurley.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00031"></a>00031 <span class="comment">/***************************************************/</span>
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="preprocessor">#ifndef STK_WURLEY_H</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_WURLEY_H</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00036"></a>00036 <span class="preprocessor">#include "FM.h"</span>
<a name="l00037"></a>00037
<a name="l00038"></a><a class="code" href="classWurley.html">00038</a> <span class="keyword">class </span><a class="code" href="classWurley.html">Wurley</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00039 {
00040 <span class="keyword">public</span>:
00042
00045 <a class="code" href="classWurley.html#a0">Wurley</a>();
00046
00048 <a class="code" href="classWurley.html#a1">~Wurley</a>();
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a2">setFrequency</a>(StkFloat frequency);
00052
00054 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00055
00057 StkFloat <a class="code" href="classWurley.html#a4">tick</a>();
00058
00060 StkFloat *<a class="code" href="classWurley.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00061
00063
00069 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWurley.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00070 };
00071
00072 <span class="preprocessor">#endif</span>
<a name="l00039"></a>00039 {
<a name="l00040"></a>00040 <span class="keyword">public</span>:
<a name="l00042"></a>00042
<a name="l00045"></a>00045 <a class="code" href="classWurley.html#a0">Wurley</a>();
<a name="l00046"></a>00046
<a name="l00048"></a>00048 <a class="code" href="classWurley.html#a1">~Wurley</a>();
<a name="l00049"></a>00049
<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a2">setFrequency</a>(StkFloat frequency);
<a name="l00052"></a>00052
<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="keyword">protected</span>:
<a name="l00057"></a>00057
<a name="l00058"></a>00058 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00059"></a>00059 };
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,132 +8,60 @@
<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>WvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00043 <span class="comment">/***************************************************/</span>
00044
00045 <span class="preprocessor">#ifndef STK_WVIN_H</span>
00046 <span class="preprocessor"></span><span class="preprocessor">#define STK_WVIN_H</span>
00047 <span class="preprocessor"></span>
00048 <span class="comment">// Files larger than CHUNK_THRESHOLD will be copied into memory</span>
00049 <span class="comment">// in CHUNK_SIZE increments, rather than completely loaded into</span>
00050 <span class="comment">// a buffer at once.</span>
00051
00052 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> CHUNK_THRESHOLD = 5000000; <span class="comment">// 5 Mb</span>
00053 <span class="keyword">const</span> <span class="keywordtype">long</span> CHUNK_SIZE = 1024; <span class="comment">// sample frames</span>
00054
00055 <span class="preprocessor">#include "Stk.h"</span>
00056
<a name="l00057"></a><a class="code" href="classWvIn.html">00057</a> <span class="keyword">class </span><a class="code" href="classWvIn.html">WvIn</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00058 {
00059 <span class="keyword">public</span>:
00061 <a class="code" href="classWvIn.html#a0">WvIn</a>();
00062
00064
00068 <a class="code" href="classWvIn.html#a0">WvIn</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>, <span class="keywordtype">bool</span> doNormalize = <span class="keyword">true</span> );
00069
00071 <span class="keyword">virtual</span> <a class="code" href="classWvIn.html#a2">~WvIn</a>();
00072
00074
00078 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a3">openFile</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>, <span class="keywordtype">bool</span> doNormalize = <span class="keyword">true</span> );
00079
00081 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a4">closeFile</a>(<span class="keywordtype">void</span>);
00082
00084 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a5">reset</a>(<span class="keywordtype">void</span>);
00085
00087
00093 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a6">normalize</a>(<span class="keywordtype">void</span>);
00094
00096
00102 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a6">normalize</a>(StkFloat peak);
00103
00105 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classWvIn.html#a8">getSize</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00106
00108 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classWvIn.html#a9">getChannels</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00109
00111
00116 StkFloat <a class="code" href="classWvIn.html#a10">getFileRate</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00117
00119 <span class="keywordtype">bool</span> <a class="code" href="classWvIn.html#a11">isFinished</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00120
00122
00125 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a12">setRate</a>(StkFloat aRate);
00126
00128 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a13">addTime</a>(StkFloat aTime);
00129
00131
00137 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a14">setInterpolate</a>(<span class="keywordtype">bool</span> doInterpolate);
00138
00140 <span class="keyword">virtual</span> StkFloat <a class="code" href="classWvIn.html#a15">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00141
00143
00146 <span class="keyword">virtual</span> StkFloat <a class="code" href="classWvIn.html#a16">tick</a>(<span class="keywordtype">void</span>);
00147
00149
00152 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classWvIn.html#a16">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00153
00155
00162 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWvIn.html#a16">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00163
00165 <span class="keyword">virtual</span> <span class="keyword">const</span> StkFloat *<a class="code" href="classWvIn.html#a19">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00166
00168
00171 <span class="keyword">virtual</span> <span class="keyword">const</span> StkFloat *<a class="code" href="classWvIn.html#a20">tickFrame</a>(<span class="keywordtype">void</span>);
00172
00174
00177 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classWvIn.html#a20">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00178
00180
00186 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWvIn.html#a20">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00187
00188 <span class="keyword">protected</span>:
00189
00190 <span class="comment">// Initialize class variables.</span>
00191 <span class="keywordtype">void</span> init( <span class="keywordtype">void</span> );
00192
00193 <span class="comment">// Read file data.</span>
00194 <span class="keyword">virtual</span> <span class="keywordtype">void</span> readData(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> index);
00195
00196 <span class="comment">// Get STK RAW file information.</span>
00197 <span class="keywordtype">bool</span> getRawInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00198
00199 <span class="comment">// Get WAV file header information.</span>
00200 <span class="keywordtype">bool</span> getWavInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00201
00202 <span class="comment">// Get SND (AU) file header information.</span>
00203 <span class="keywordtype">bool</span> getSndInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00204
00205 <span class="comment">// Get AIFF file header information.</span>
00206 <span class="keywordtype">bool</span> getAifInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00207
00208 <span class="comment">// Get MAT-file header information.</span>
00209 <span class="keywordtype">bool</span> getMatInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00210
00211 FILE *fd_;
00212 StkFloat *data_;
00213 StkFloat *lastOutputs_;
00214 <span class="keywordtype">bool</span> chunking_;
00215 <span class="keywordtype">bool</span> finished_;
00216 <span class="keywordtype">bool</span> interpolate_;
00217 <span class="keywordtype">bool</span> byteswap_;
00218 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> fileSize_;
00219 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bufferSize_;
00220 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> dataOffset_;
00221 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
00222 <span class="keywordtype">long</span> chunkPointer_;
00223 StkFormat dataType_;
00224 StkFloat fileRate_;
00225 StkFloat gain_;
00226 StkFloat time_;
00227 StkFloat rate_;
00228 };
00229
00230 <span class="preprocessor">#endif</span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>WvIn.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00018"></a>00018 <span class="comment">/***************************************************/</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="preprocessor">#ifndef STK_WVIN_H</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_WVIN_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00025"></a>00025
<a name="l00026"></a><a class="code" href="classWvIn.html">00026</a> <span class="keyword">class </span><a class="code" href="classWvIn.html">WvIn</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
<a name="l00027"></a>00027 {
<a name="l00028"></a>00028 <span class="keyword">public</span>:
<a name="l00030"></a>00030 <a class="code" href="classWvIn.html#a0">WvIn</a>();
<a name="l00031"></a>00031
<a name="l00033"></a>00033 <span class="keyword">virtual</span> <a class="code" href="classWvIn.html#a1">~WvIn</a>();
<a name="l00034"></a>00034
<a name="l00036"></a><a class="code" href="classWvIn.html#a2">00036</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classWvIn.html#a2">getChannels</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data_.<a class="code" href="classStkFrames.html#a12">channels</a>(); };
<a name="l00037"></a>00037
<a name="l00039"></a>00039
<a name="l00042"></a>00042 StkFloat <a class="code" href="classWvIn.html#a3">lastOut</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
<a name="l00043"></a>00043
<a name="l00045"></a>00045
<a name="l00048"></a><a class="code" href="classWvIn.html#a4">00048</a> <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWvIn.html#a4">lastFrame</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastOutputs_; };
<a name="l00049"></a>00049
<a name="l00051"></a>00051
<a name="l00054"></a>00054 StkFloat <a class="code" href="classWvIn.html#a5">tick</a>( <span class="keywordtype">void</span> );
<a name="l00055"></a>00055
<a name="l00057"></a>00057
<a name="l00064"></a>00064 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWvIn.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00065"></a>00065
<a name="l00067"></a>00067
<a name="l00073"></a>00073 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWvIn.html#a7">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="keyword">protected</span>:
<a name="l00076"></a>00076
<a name="l00077"></a>00077 <span class="comment">// This abstract function must be implemented in all subclasses.</span>
<a name="l00078"></a>00078 <span class="comment">// It is used to get around a C++ problem with overloaded virtual</span>
<a name="l00079"></a>00079 <span class="comment">// functions.</span>
<a name="l00080"></a>00080 <span class="keyword">virtual</span> <span class="keywordtype">void</span> computeFrame( <span class="keywordtype">void</span> ) = 0;
<a name="l00081"></a>00081
<a name="l00082"></a>00082 <a class="code" href="classStkFrames.html">StkFrames</a> data_;
<a name="l00083"></a>00083 <a class="code" href="classStkFrames.html">StkFrames</a> lastOutputs_;
<a name="l00084"></a>00084
<a name="l00085"></a>00085 };
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,121 +8,67 @@
<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>WvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00034 <span class="comment">/***************************************************/</span>
00035
00036 <span class="preprocessor">#ifndef STK_WVOUT_H</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#define STK_WVOUT_H</span>
00038 <span class="preprocessor"></span>
00039 <span class="preprocessor">#include "Stk.h"</span>
00040
00041 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> BUFFER_SIZE = 1024; <span class="comment">// sample frames</span>
00042
<a name="l00043"></a><a class="code" href="classWvOut.html">00043</a> <span class="keyword">class </span><a class="code" href="classWvOut.html">WvOut</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00044 {
00045 <span class="keyword">public</span>:
00046
00047 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> FILE_TYPE;
00048
<a name="l00049"></a><a class="code" href="classWvOut.html#s0">00049</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s0">WVOUT_RAW</a>;
<a name="l00050"></a><a class="code" href="classWvOut.html#s1">00050</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s1">WVOUT_WAV</a>;
<a name="l00051"></a><a class="code" href="classWvOut.html#s2">00051</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s2">WVOUT_SND</a>;
<a name="l00052"></a><a class="code" href="classWvOut.html#s3">00052</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s3">WVOUT_AIF</a>;
<a name="l00053"></a><a class="code" href="classWvOut.html#s4">00053</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s4">WVOUT_MAT</a>;
00055
00056 <a class="code" href="classWvOut.html#a0">WvOut</a>();
00057
00059
00062 <a class="code" href="classWvOut.html#a0">WvOut</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, FILE_TYPE type = WVOUT_WAV, Stk::StkFormat format = STK_SINT16 );
00063
00065 <span class="keyword">virtual</span> <a class="code" href="classWvOut.html#a2">~WvOut</a>();
00066
00068
00071 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a3">openFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1,
00072 WvOut::FILE_TYPE type = WVOUT_WAV, Stk::StkFormat format = STK_SINT16 );
00073
00075 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a4">closeFile</a>( <span class="keywordtype">void</span> );
00076
00078 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classWvOut.html#a5">getFrames</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00079
00081 StkFloat <a class="code" href="classWvOut.html#a6">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00082
<a name="l00084"></a><a class="code" href="classWvOut.html#a7">00084</a> <span class="keywordtype">bool</span> <a class="code" href="classWvOut.html#a7">getClipStatus</a>( <span class="keywordtype">void</span> ) { <span class="keywordflow">return</span> clipping_; };
00085
<a name="l00087"></a><a class="code" href="classWvOut.html#a8">00087</a> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a8">resetClipStatus</a>( <span class="keywordtype">void</span> ) { clipping_ = <span class="keyword">false</span>; };
00088
00090
00093 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a9">tick</a>(<span class="keyword">const</span> StkFloat sample);
00094
00096
00099 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a9">tick</a>( <span class="keyword">const</span> StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00100
00102
00108 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a9">tick</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00109
00111
00114 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a12">tickFrame</a>( <span class="keyword">const</span> StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
00115
00117
00122 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a12">tickFrame</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00123
00124 <span class="keyword">protected</span>:
00125
00126 <span class="comment">// Initialize class variables.</span>
00127 <span class="keywordtype">void</span> init( <span class="keywordtype">void</span> );
00128
00129 <span class="comment">// Write data to output file;</span>
00130 <span class="keyword">virtual</span> <span class="keywordtype">void</span> writeData( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frames );
00131
00132 <span class="comment">// Check for sample clipping and clamp.</span>
00133 <span class="keywordtype">void</span> clipTest( StkFloat&amp; sample );
00134
00135 <span class="comment">// Write STK RAW file header.</span>
00136 <span class="keywordtype">bool</span> setRawFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00137
00138 <span class="comment">// Write WAV file header.</span>
00139 <span class="keywordtype">bool</span> setWavFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00140
00141 <span class="comment">// Close WAV file, updating the header.</span>
00142 <span class="keywordtype">void</span> closeWavFile( <span class="keywordtype">void</span> );
00143
00144 <span class="comment">// Write SND (AU) file header.</span>
00145 <span class="keywordtype">bool</span> setSndFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00146
00147 <span class="comment">// Close SND file, updating the header.</span>
00148 <span class="keywordtype">void</span> closeSndFile( <span class="keywordtype">void</span> );
00149
00150 <span class="comment">// Write AIFF file header.</span>
00151 <span class="keywordtype">bool</span> setAifFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00152
00153 <span class="comment">// Close AIFF file, updating the header.</span>
00154 <span class="keywordtype">void</span> closeAifFile( <span class="keywordtype">void</span> );
00155
00156 <span class="comment">// Write MAT-file header.</span>
00157 <span class="keywordtype">bool</span> setMatFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00158
00159 <span class="comment">// Close MAT-file, updating the header.</span>
00160 <span class="keywordtype">void</span> closeMatFile( <span class="keywordtype">void</span> );
00161
00162 FILE *fd_;
00163 std::valarray&lt;StkFloat&gt; data_;
00164 FILE_TYPE fileType_;
00165 StkFormat dataType_;
00166 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
00167 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> counter_;
00168 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> totalCount_;
00169 <span class="keywordtype">bool</span> byteswap_;
00170 <span class="keywordtype">bool</span> clipping_;
00171
00172 };
00173
00174 <span class="preprocessor">#endif</span>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>WvOut.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00021"></a>00021 <span class="comment">/***************************************************/</span>
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="preprocessor">#ifndef STK_WVOUT_H</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_WVOUT_H</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;vector&gt;</span>
<a name="l00028"></a>00028
<a name="l00029"></a><a class="code" href="classWvOut.html">00029</a> <span class="keyword">class </span><a class="code" href="classWvOut.html">WvOut</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 <span class="keyword">public</span>:
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <a class="code" href="classWvOut.html#a0">WvOut</a>();
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keyword">virtual</span> <a class="code" href="classWvOut.html#a1">~WvOut</a>();
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classWvOut.html#a2">getFrameCount</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
<a name="l00041"></a>00041
<a name="l00043"></a>00043 StkFloat <a class="code" href="classWvOut.html#a3">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
<a name="l00044"></a>00044
<a name="l00046"></a><a class="code" href="classWvOut.html#a4">00046</a> <span class="keywordtype">bool</span> <a class="code" href="classWvOut.html#a4">clipStatus</a>( <span class="keywordtype">void</span> ) { <span class="keywordflow">return</span> clipping_; };
<a name="l00047"></a>00047
<a name="l00049"></a><a class="code" href="classWvOut.html#a5">00049</a> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a5">resetClipStatus</a>( <span class="keywordtype">void</span> ) { clipping_ = <span class="keyword">false</span>; };
<a name="l00050"></a>00050
<a name="l00052"></a>00052
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a6">tick</a>( <span class="keyword">const</span> StkFloat sample );
<a name="l00056"></a>00056
<a name="l00058"></a>00058
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a6">tick</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
<a name="l00065"></a>00065
<a name="l00067"></a>00067
<a name="l00072"></a>00072 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a8">tickFrame</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
<a name="l00073"></a>00073
<a name="l00074"></a>00074 <span class="keyword">protected</span>:
<a name="l00075"></a>00075
<a name="l00076"></a>00076 <span class="comment">// These abstract functions must be implemented in all subclasses.</span>
<a name="l00077"></a>00077 <span class="comment">// They are used to get around a C++ problem with overloaded virtual</span>
<a name="l00078"></a>00078 <span class="comment">// functions.</span>
<a name="l00079"></a>00079 <span class="keyword">virtual</span> <span class="keywordtype">void</span> computeSample( <span class="keyword">const</span> StkFloat sample ) = 0;
<a name="l00080"></a>00080
<a name="l00081"></a>00081 <span class="keyword">virtual</span> <span class="keywordtype">void</span> computeFrames( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames ) = 0;
<a name="l00082"></a>00082
<a name="l00083"></a>00083 <span class="comment">// Check for sample clipping and clamp.</span>
<a name="l00084"></a>00084 StkFloat&amp; clipTest( StkFloat&amp; sample );
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <a class="code" href="classStkFrames.html">StkFrames</a> data_;
<a name="l00087"></a>00087 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frameCounter_;
<a name="l00088"></a>00088 <span class="keywordtype">bool</span> clipping_;
<a name="l00089"></a>00089
<a name="l00090"></a>00090 };
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="preprocessor">#endif</span>
</pre></div><HR>
<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>

View File

@@ -8,13 +8,16 @@
<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 -->
<!-- Generated by Doxygen 1.4.4 -->
<h1>STK Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="classADSR.html">ADSR</a></td><td class="indexvalue">STK ADSR envelope class </td></tr>
<tr><td class="indexkey"><a class="el" href="classAsymp.html">Asymp</a></td><td class="indexvalue">STK asymptotic curve envelope class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBandedWG.html">BandedWG</a></td><td class="indexvalue">Banded waveguide modeling class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBeeThree.html">BeeThree</a></td><td class="indexvalue">STK Hammond-oid organ <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classBiQuad.html">BiQuad</a></td><td class="indexvalue">STK biquad (two-pole, two-zero) filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBlit.html">Blit</a></td><td class="indexvalue">STK band-limited impulse train class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBlitSaw.html">BlitSaw</a></td><td class="indexvalue">STK band-limited sawtooth wave class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBlitSquare.html">BlitSquare</a></td><td class="indexvalue">STK band-limited square wave class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td class="indexvalue">STK blown bottle instrument class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBlowHole.html">BlowHole</a></td><td class="indexvalue">STK clarinet physical model with one register hole and one tonehole </td></tr>
<tr><td class="indexkey"><a class="el" href="classBowed.html">Bowed</a></td><td class="indexvalue">STK bowed string instrument class </td></tr>
@@ -29,6 +32,10 @@
<tr><td class="indexkey"><a class="el" href="classEcho.html">Echo</a></td><td class="indexvalue">STK echo effect class </td></tr>
<tr><td class="indexkey"><a class="el" href="classEffect.html">Effect</a></td><td class="indexvalue">STK abstract effects parent class </td></tr>
<tr><td class="indexkey"><a class="el" href="classEnvelope.html">Envelope</a></td><td class="indexvalue">STK envelope base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFileRead.html">FileRead</a></td><td class="indexvalue">STK audio file input class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFileWrite.html">FileWrite</a></td><td class="indexvalue">STK audio file output class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFileWvIn.html">FileWvIn</a></td><td class="indexvalue">STK audio file input class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFileWvOut.html">FileWvOut</a></td><td class="indexvalue">STK audio file output class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFilter.html">Filter</a></td><td class="indexvalue">STK filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFlute.html">Flute</a></td><td class="indexvalue">STK flute physical model class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFM.html">FM</a></td><td class="indexvalue">STK abstract FM synthesis base class </td></tr>
@@ -36,7 +43,10 @@
<tr><td class="indexkey"><a class="el" href="classFormSwep.html">FormSwep</a></td><td class="indexvalue">STK sweepable formant filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFunction.html">Function</a></td><td class="indexvalue">STK abstract function parent class </td></tr>
<tr><td class="indexkey"><a class="el" href="classGenerator.html">Generator</a></td><td class="indexvalue">STK abstract unit generator parent class </td></tr>
<tr><td class="indexkey"><a class="el" href="classGranulate.html">Granulate</a></td><td class="indexvalue">STK granular synthesis class </td></tr>
<tr><td class="indexkey"><a class="el" href="classHevyMetl.html">HevyMetl</a></td><td class="indexvalue">STK heavy metal <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classInetWvIn.html">InetWvIn</a></td><td class="indexvalue">STK internet streaming input class </td></tr>
<tr><td class="indexkey"><a class="el" href="classInetWvOut.html">InetWvOut</a></td><td class="indexvalue">STK internet streaming output class </td></tr>
<tr><td class="indexkey"><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td class="indexvalue">STK instrument abstract base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classJCRev.html">JCRev</a></td><td class="indexvalue">John Chowning's reverberator class </td></tr>
<tr><td class="indexkey"><a class="el" href="classJetTable.html">JetTable</a></td><td class="indexvalue">STK jet table class </td></tr>
@@ -76,38 +86,39 @@
<tr><td class="indexkey"><a class="el" href="classSaxofony.html">Saxofony</a></td><td class="indexvalue">STK faux conical bore reed instrument class </td></tr>
<tr><td class="indexkey"><a class="el" href="classShakers.html">Shakers</a></td><td class="indexvalue">PhISEM and PhOLIES class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSimple.html">Simple</a></td><td class="indexvalue">STK wavetable/noise instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classSineWave.html">SineWave</a></td><td class="indexvalue">STK sinusoid oscillator class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSingWave.html">SingWave</a></td><td class="indexvalue">STK "singing" looped soundfile class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSitar.html">Sitar</a></td><td class="indexvalue">STK sitar string model class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSkini.html">Skini</a></td><td class="indexvalue">STK SKINI parsing class </td></tr>
<tr><td class="indexkey"><a class="el" href="structSkini_1_1Message.html">Skini::Message</a></td><td class="indexvalue">A message structure to store and pass parsed SKINI messages </td></tr>
<tr><td class="indexkey"><a class="el" href="classSocket.html">Socket</a></td><td class="indexvalue">STK TCP socket client/server class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSocket.html">Socket</a></td><td class="indexvalue">STK internet socket abstract base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSphere.html">Sphere</a></td><td class="indexvalue">STK sphere class </td></tr>
<tr><td class="indexkey"><a class="el" href="classStifKarp.html">StifKarp</a></td><td class="indexvalue">STK plucked stiff string instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classStk.html">Stk</a></td><td class="indexvalue">STK base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classStkError.html">StkError</a></td><td class="indexvalue">STK error handling class </td></tr>
<tr><td class="indexkey"><a class="el" href="classStkFrames.html">StkFrames</a></td><td class="indexvalue">An STK class to handle vectorized audio data </td></tr>
<tr><td class="indexkey"><a class="el" href="classSubNoise.html">SubNoise</a></td><td class="indexvalue">STK sub-sampled noise generator </td></tr>
<tr><td class="indexkey"><a class="el" href="classTable.html">Table</a></td><td class="indexvalue">STK table lookup class </td></tr>
<tr><td class="indexkey"><a class="el" href="classTcpWvIn.html">TcpWvIn</a></td><td class="indexvalue">STK internet streaming input class </td></tr>
<tr><td class="indexkey"><a class="el" href="classTcpWvOut.html">TcpWvOut</a></td><td class="indexvalue">STK internet streaming output class </td></tr>
<tr><td class="indexkey"><a class="el" href="classTcpClient.html">TcpClient</a></td><td class="indexvalue">STK TCP socket client class </td></tr>
<tr><td class="indexkey"><a class="el" href="classTcpServer.html">TcpServer</a></td><td class="indexvalue">STK TCP socket server class </td></tr>
<tr><td class="indexkey"><a class="el" href="classThread.html">Thread</a></td><td class="indexvalue">STK thread class </td></tr>
<tr><td class="indexkey"><a class="el" href="classTubeBell.html">TubeBell</a></td><td class="indexvalue">STK tubular bell (orchestral chime) <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classTwoPole.html">TwoPole</a></td><td class="indexvalue">STK two-pole filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classTwoZero.html">TwoZero</a></td><td class="indexvalue">STK two-zero filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classUdpSocket.html">UdpSocket</a></td><td class="indexvalue">STK UDP socket server/client class </td></tr>
<tr><td class="indexkey"><a class="el" href="classVector3D.html">Vector3D</a></td><td class="indexvalue">STK 3D vector class </td></tr>
<tr><td class="indexkey"><a class="el" href="classVoicer.html">Voicer</a></td><td class="indexvalue">STK voice manager class </td></tr>
<tr><td class="indexkey"><a class="el" href="classVoicForm.html">VoicForm</a></td><td class="indexvalue">Four formant synthesis instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classWaveLoop.html">WaveLoop</a></td><td class="indexvalue">STK waveform oscillator class </td></tr>
<tr><td class="indexkey"><a class="el" href="classWhistle.html">Whistle</a></td><td class="indexvalue">STK police/referee whistle instrument class </td></tr>
<tr><td class="indexkey"><a class="el" href="classWurley.html">Wurley</a></td><td class="indexvalue">STK Wurlitzer electric piano <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classWvIn.html">WvIn</a></td><td class="indexvalue">STK audio data input base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classWvOut.html">WvOut</a></td><td class="indexvalue">STK audio data output base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classWvIn.html">WvIn</a></td><td class="indexvalue">STK audio input abstract base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classWvOut.html">WvOut</a></td><td class="indexvalue">STK audio output abstract base class </td></tr>
</table>
<HR>
<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>

View File

@@ -8,18 +8,21 @@
<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>ADSR Member List</h1>This is the complete list of members for <a class="el" href="classADSR.html">ADSR</a>, including all inherited members.<table>
<!-- Generated by Doxygen 1.4.4 -->
<h1>ADSR Member List</h1>This is the complete list of members for <a class="el" href="classADSR.html">ADSR</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="classADSR.html#a0">ADSR</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a0">Envelope</a>(void)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a0">Generator</a>()</td><td><a class="el" href="classGenerator.html">Generator</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a1">Envelope</a>(const Envelope &amp;e)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a0">Generator</a>(void)</td><td><a class="el" href="classGenerator.html">Generator</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a13">getState</a>(void) const </td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e8">handleError</a>(const char *message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e8">handleError</a>(const char *message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e9">handleError</a>(std::string message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b2">handleError</a>(StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a3">keyOff</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a2">keyOn</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a2">lastOut</a>() const </td><td><a class="el" href="classGenerator.html">Generator</a></td><td><code> [inline, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a2">lastOut</a>(void) const </td><td><a class="el" href="classGenerator.html">Generator</a></td><td><code> [inline, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a3">operator=</a>(const Envelope &amp;e)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e11">printErrors</a>(bool status)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e2">rawwavePath</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e0">sampleRate</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a11">setAllTimes</a>(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
@@ -27,15 +30,16 @@
<tr class="memlist"><td><a class="el" href="classADSR.html#a8">setAttackTime</a>(StkFloat time)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a5">setDecayRate</a>(StkFloat rate)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a9">setDecayTime</a>(StkFloat time)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a4">setRate</a>(StkFloat rate)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a6">setRate</a>(StkFloat rate)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e3">setRawwavePath</a>(std::string path)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a7">setReleaseRate</a>(StkFloat rate)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a10">setReleaseTime</a>(StkFloat time)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e1">setSampleRate</a>(StkFloat rate)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a6">setSustainLevel</a>(StkFloat level)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a12">setTarget</a>(StkFloat target)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a5">setTime</a>(StkFloat time)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a7">setTime</a>(StkFloat time)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a14">setValue</a>(StkFloat value)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e10">showWarnings</a>(bool status)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e7">sleep</a>(unsigned long milliseconds)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b0">Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s4">STK_FLOAT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
@@ -47,18 +51,17 @@
<tr class="memlist"><td><a class="el" href="classStk.html#e4">swap16</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e5">swap32</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e6">swap64</a>(unsigned char *ptr)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a15">tick</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a16">tick</a>(StkFloat *vector, unsigned int vectorSize)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a17">tick</a>(StkFrames &amp;frames, unsigned int channel=1)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a3">tick</a>(void)</td><td><a class="el" href="classGenerator.html">Generator</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a4">tick</a>(StkFrames &amp;frames, unsigned int channel=0)</td><td><a class="el" href="classGenerator.html">Generator</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a1">~ADSR</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a1">~Envelope</a>(void)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a1">~Generator</a>()</td><td><a class="el" href="classGenerator.html">Generator</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a2">~Envelope</a>(void)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a1">~Generator</a>(void)</td><td><a class="el" href="classGenerator.html">Generator</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b1">~Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, virtual]</code></td></tr>
</table><HR>
<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>

Some files were not shown because too many files have changed in this diff Show More