9 Commits

Author SHA1 Message Date
Gary Scavone
e11bff2fe8 Release 4.1.3 tarball 2013-09-29 23:38:16 +02:00
Stephen Sinclair
503ed3cc9f Merge 4.1.3 into releases 2013-09-29 23:37:48 +02:00
Gary Scavone
5d63b50e85 Release 4.1.2 tarball 2013-09-29 23:37:27 +02:00
Stephen Sinclair
d12ef806ac Merge 4.1.2 into releases 2013-09-29 23:37:02 +02:00
Gary Scavone
ffce5357c6 Release 4.1.1 tarball 2013-09-29 23:36:33 +02:00
Stephen Sinclair
b39c0bb101 Merge 4.1.1 into releases 2013-09-29 23:35:55 +02:00
Gary Scavone
f25eb5c3d7 Release 4.1 tarball 2013-09-29 23:35:44 +02:00
Stephen Sinclair
71e5c027fb Merge 4.1 into releases 2013-09-29 23:34:55 +02:00
Gary Scavone
43dcd5775a Release 4.0 tarball 2013-09-29 23:33:56 +02:00
359 changed files with 33436 additions and 0 deletions

5919
configure vendored Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,76 @@
<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.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">#if !defined(__ADSR_H)</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define __ADSR_H</span>
00020 <span class="preprocessor"></span>
00021 <span class="preprocessor">#include "Envelope.h"</span>
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>(MY_FLOAT aRate);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a5">setDecayRate</a>(MY_FLOAT aRate);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a6">setSustainLevel</a>(MY_FLOAT aLevel);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a7">setReleaseRate</a>(MY_FLOAT aRate);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a8">setAttackTime</a>(MY_FLOAT aTime);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a9">setDecayTime</a>(MY_FLOAT aTime);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a10">setReleaseTime</a>(MY_FLOAT aTime);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a11">setAllTimes</a>(MY_FLOAT aTime, MY_FLOAT dTime, MY_FLOAT sLevel, MY_FLOAT rTime);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a12">setTarget</a>(MY_FLOAT aTarget);
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>(MY_FLOAT aValue);
00074
00076 MY_FLOAT <a class="code" href="classADSR.html#a15">tick</a>(<span class="keywordtype">void</span>);
00077
00079 MY_FLOAT *<a class="code" href="classADSR.html#a15">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00080
00081 <span class="keyword">protected</span>:
00082 MY_FLOAT attackRate;
00083 MY_FLOAT decayRate;
00084 MY_FLOAT sustainLevel;
00085 MY_FLOAT releaseRate;
00086 };
00087
00088 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</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.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">#if !defined(__BANDEDWG_H)</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define __BANDEDWG_H</span>
00034 <span class="preprocessor"></span>
00035 <span class="preprocessor">#define MAX_BANDED_MODES 20</span>
00036 <span class="preprocessor"></span>
00037 <span class="preprocessor">#include "Instrmnt.h"</span>
00038 <span class="preprocessor">#include "DelayL.h"</span>
00039 <span class="preprocessor">#include "BowTabl.h"</span>
00040 <span class="preprocessor">#include "ADSR.h"</span>
00041 <span class="preprocessor">#include "BiQuad.h"</span>
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>(MY_FLOAT 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>(MY_FLOAT frequency);
00063
00065 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a6">startBowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
00066
00068 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a7">stopBowing</a>(MY_FLOAT rate);
00069
00071 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a8">pluck</a>(MY_FLOAT amp);
00072
00074 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a9">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00075
00077 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a10">noteOff</a>(MY_FLOAT amplitude);
00078
00080 MY_FLOAT <a class="code" href="classBandedWG.html#a11">tick</a>();
00081
00083 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00084
00085 <span class="keyword">protected</span>:
00086
00087 <span class="keywordtype">bool</span> doPluck;
00088 <span class="keywordtype">bool</span> trackVelocity;
00089 <span class="keywordtype">int</span> nModes;
00090 <span class="keywordtype">int</span> presetModes;
00091 <a class="code" href="classBowTabl.html">BowTabl</a> *bowTabl;
00092 <a class="code" href="classADSR.html">ADSR</a> *adsr;
00093 <a class="code" href="classBiQuad.html">BiQuad</a> *bandpass;
00094 <a class="code" href="classDelayL.html">DelayL</a> *delay;
00095 MY_FLOAT maxVelocity;
00096 MY_FLOAT modes[MAX_BANDED_MODES];
00097 MY_FLOAT freakency;
00098 MY_FLOAT baseGain;
00099 MY_FLOAT gains[MAX_BANDED_MODES];
00100 MY_FLOAT basegains[MAX_BANDED_MODES];
00101 MY_FLOAT excitation[MAX_BANDED_MODES];
00102 MY_FLOAT integrationConstant;
00103 MY_FLOAT velocityInput;
00104 MY_FLOAT bowVelocity;
00105 MY_FLOAT bowTarget;
00106 MY_FLOAT bowPosition;
00107 MY_FLOAT strikeAmp;
00108 <span class="keywordtype">int</span> strikePosition;
00109
00110 };
00111
00112 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,41 @@
<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.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">#if !defined(__BEETHREE_H)</span>
00036 <span class="preprocessor"></span><span class="preprocessor">#define __BEETHREE_H</span>
00037 <span class="preprocessor"></span>
00038 <span class="preprocessor">#include "FM.h"</span>
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 <a class="code" href="classBeeThree.html#a0">BeeThree</a>();
00045
00047 <a class="code" href="classBeeThree.html#a1">~BeeThree</a>();
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classBeeThree.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00051
00053 MY_FLOAT <a class="code" href="classBeeThree.html#a3">tick</a>();
00054 };
00055
00056 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,70 @@
<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.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">#if !defined(__BIQUAD_H)</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __BIQUAD_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
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>(MY_FLOAT b0);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a4">setB1</a>(MY_FLOAT b1);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a5">setB2</a>(MY_FLOAT b2);
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a6">setA1</a>(MY_FLOAT a1);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a7">setA2</a>(MY_FLOAT a2);
00047
00049
00060 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a8">setResonance</a>(MY_FLOAT frequency, MY_FLOAT radius, <span class="keywordtype">bool</span> normalize = FALSE);
00061
00063
00069 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a9">setNotch</a>(MY_FLOAT frequency, MY_FLOAT 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>(MY_FLOAT theGain);
00086
00088 MY_FLOAT <a class="code" href="classBiQuad.html#a12">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00089
00091 MY_FLOAT <a class="code" href="classBiQuad.html#a13">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00092
00094 MY_FLOAT <a class="code" href="classBiQuad.html#a14">tick</a>(MY_FLOAT sample);
00095
00097 MY_FLOAT *<a class="code" href="classBiQuad.html#a14">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00098 };
00099
00100 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</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.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">#if !defined(__BOTTLE_H)</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define __BOTTLE_H</span>
00021 <span class="preprocessor"></span>
00022 <span class="preprocessor">#include "Instrmnt.h"</span>
00023 <span class="preprocessor">#include "JetTabl.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
<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 <a class="code" href="classBlowBotl.html#a0">BlowBotl</a>();
00035
00037 <a class="code" href="classBlowBotl.html#a1">~BlowBotl</a>();
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a2">clear</a>();
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a3">setFrequency</a>(MY_FLOAT frequency);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a4">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a5">stopBlowing</a>(MY_FLOAT rate);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a6">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a7">noteOff</a>(MY_FLOAT amplitude);
00056
00058 MY_FLOAT <a class="code" href="classBlowBotl.html#a8">tick</a>();
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00062
00063 <span class="keyword">protected</span>:
00064 <a class="code" href="classJetTabl.html">JetTabl</a> *jetTable;
00065 <a class="code" href="classBiQuad.html">BiQuad</a> *resonator;
00066 <a class="code" href="classPoleZero.html">PoleZero</a> *dcBlock;
00067 <a class="code" href="classNoise.html">Noise</a> *noise;
00068 <a class="code" href="classADSR.html">ADSR</a> *adsr;
00069 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00070 MY_FLOAT maxPressure;
00071 MY_FLOAT noiseGain;
00072 MY_FLOAT vibratoGain;
00073 MY_FLOAT outputGain;
00074
00075 };
00076
00077 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,84 @@
<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.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">#if !defined(__BLOWHOLE_H)</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#define __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 "ReedTabl.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
<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 <a class="code" href="classBlowHole.html#a0">BlowHole</a>(MY_FLOAT lowestFrequency);
00053
00055 <a class="code" href="classBlowHole.html#a1">~BlowHole</a>();
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a2">clear</a>();
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a3">setFrequency</a>(MY_FLOAT frequency);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a4">setTonehole</a>(MY_FLOAT newValue);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a5">setVent</a>(MY_FLOAT newValue);
00068
00070 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a6">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
00071
00073 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a7">stopBlowing</a>(MY_FLOAT rate);
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a8">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00077
00079 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a9">noteOff</a>(MY_FLOAT amplitude);
00080
00082 MY_FLOAT <a class="code" href="classBlowHole.html#a10">tick</a>();
00083
00085 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00086
00087 <span class="keyword">protected</span>:
00088 <a class="code" href="classDelayL.html">DelayL</a> *delays[3];
00089 <a class="code" href="classReedTabl.html">ReedTabl</a> *reedTable;
00090 <a class="code" href="classOneZero.html">OneZero</a> *filter;
00091 <a class="code" href="classPoleZero.html">PoleZero</a> *tonehole;
00092 <a class="code" href="classPoleZero.html">PoleZero</a> *vent;
00093 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
00094 <a class="code" href="classNoise.html">Noise</a> *noise;
00095 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00096 <span class="keywordtype">long</span> length;
00097 MY_FLOAT scatter;
00098 MY_FLOAT th_coeff;
00099 MY_FLOAT r_th;
00100 MY_FLOAT rh_coeff;
00101 MY_FLOAT rh_gain;
00102 MY_FLOAT outputGain;
00103 MY_FLOAT noiseGain;
00104 MY_FLOAT vibratoGain;
00105
00106 };
00107
00108 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,56 @@
<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.3.4 -->
<h1>BowTabl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#if !defined(__BOWTABL_H)</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define __BOWTABL_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Stk.h"</span>
00016
<a name="l00017"></a><a class="code" href="classBowTabl.html">00017</a> <span class="keyword">class </span><a class="code" href="classBowTabl.html">BowTabl</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="classBowTabl.html#a0">BowTabl</a>();
00022
00024 <a class="code" href="classBowTabl.html#a1">~BowTabl</a>();
00025
00027
00033 <span class="keywordtype">void</span> <a class="code" href="classBowTabl.html#a2">setOffset</a>(MY_FLOAT aValue);
00034
00036
00040 <span class="keywordtype">void</span> <a class="code" href="classBowTabl.html#a3">setSlope</a>(MY_FLOAT aValue);
00041
00043 MY_FLOAT <a class="code" href="classBowTabl.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00044
00046
00050 MY_FLOAT <a class="code" href="classBowTabl.html#a5">tick</a>(<span class="keyword">const</span> MY_FLOAT input);
00051
00053 MY_FLOAT *<a class="code" href="classBowTabl.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00054
00055 <span class="keyword">protected</span>:
00056 MY_FLOAT offSet;
00057 MY_FLOAT slope;
00058 MY_FLOAT lastOutput;
00059
00060 };
00061
00062 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,75 @@
<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.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">#if !defined(__BOWED_H)</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define __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 "BowTabl.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
<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>(MY_FLOAT 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>(MY_FLOAT frequency);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a4">setVibrato</a>(MY_FLOAT gain);
00052
00054 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a5">startBowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
00055
00057 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a6">stopBowing</a>(MY_FLOAT rate);
00058
00060 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a7">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00061
00063 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a8">noteOff</a>(MY_FLOAT amplitude);
00064
00066 MY_FLOAT <a class="code" href="classBowed.html#a9">tick</a>();
00067
00069 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00070
00071 <span class="keyword">protected</span>:
00072 <a class="code" href="classDelayL.html">DelayL</a> *neckDelay;
00073 <a class="code" href="classDelayL.html">DelayL</a> *bridgeDelay;
00074 <a class="code" href="classBowTabl.html">BowTabl</a> *bowTable;
00075 <a class="code" href="classOnePole.html">OnePole</a> *stringFilter;
00076 <a class="code" href="classBiQuad.html">BiQuad</a> *bodyFilter;
00077 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00078 <a class="code" href="classADSR.html">ADSR</a> *adsr;
00079 MY_FLOAT maxVelocity;
00080 MY_FLOAT baseDelay;
00081 MY_FLOAT vibratoGain;
00082 MY_FLOAT betaRatio;
00083
00084 };
00085
00086 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,73 @@
<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.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">#if !defined(__BRASS_H)</span>
00024 <span class="preprocessor"></span><span class="preprocessor">#define __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
<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 <a class="code" href="classBrass.html#a0">Brass</a>(MY_FLOAT lowestFrequency);
00038
00040 <a class="code" href="classBrass.html#a1">~Brass</a>();
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a2">clear</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a3">setFrequency</a>(MY_FLOAT frequency);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a4">setLip</a>(MY_FLOAT frequency);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a5">startBlowing</a>(MY_FLOAT amplitude,MY_FLOAT rate);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a6">stopBlowing</a>(MY_FLOAT rate);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a7">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a8">noteOff</a>(MY_FLOAT amplitude);
00062
00064 MY_FLOAT <a class="code" href="classBrass.html#a9">tick</a>();
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00068
00069 <span class="keyword">protected</span>:
00070 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
00071 <a class="code" href="classBiQuad.html">BiQuad</a> *lipFilter;
00072 <a class="code" href="classPoleZero.html">PoleZero</a> *dcBlock;
00073 <a class="code" href="classADSR.html">ADSR</a> *adsr;
00074 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00075 <span class="keywordtype">long</span> length;
00076 MY_FLOAT lipTarget;
00077 MY_FLOAT slideTarget;
00078 MY_FLOAT vibratoGain;
00079 MY_FLOAT maxPressure;
00080
00081 };
00082
00083 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

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.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">#if !defined(__CHORUS_H)</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define __CHORUS_H</span>
00013 <span class="preprocessor"></span>
00014 <span class="preprocessor">#include "Stk.h"</span>
00015 <span class="preprocessor">#include "DelayL.h"</span>
00016 <span class="preprocessor">#include "WaveLoop.h"</span>
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="classStk.html">Stk</a>
00019 {
00020 <span class="keyword">public</span>:
00022 <a class="code" href="classChorus.html#a0">Chorus</a>(MY_FLOAT baseDelay);
00023
00025 <a class="code" href="classChorus.html#a1">~Chorus</a>();
00026
00028 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a2">clear</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a3">setModDepth</a>(MY_FLOAT depth);
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a4">setModFrequency</a>(MY_FLOAT frequency);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a5">setEffectMix</a>(MY_FLOAT mix);
00038
00040 MY_FLOAT <a class="code" href="classChorus.html#a6">lastOut</a>() <span class="keyword">const</span>;
00041
00043 MY_FLOAT <a class="code" href="classChorus.html#a7">lastOutLeft</a>() <span class="keyword">const</span>;
00044
00046 MY_FLOAT <a class="code" href="classChorus.html#a8">lastOutRight</a>() <span class="keyword">const</span>;
00047
00049 MY_FLOAT <a class="code" href="classChorus.html#a9">tick</a>(MY_FLOAT input);
00050
00052 MY_FLOAT *<a class="code" href="classChorus.html#a9">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
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 MY_FLOAT baseLength;
00058 MY_FLOAT modDepth;
00059 MY_FLOAT lastOutput[2];
00060 MY_FLOAT effectMix;
00061
00062 };
00063
00064 <span class="preprocessor">#endif</span>
00065 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</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.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">#if !defined(__CLARINET_H)</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define __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 "ReedTabl.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
<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 <a class="code" href="classClarinet.html#a0">Clarinet</a>(MY_FLOAT lowestFrequency);
00041
00043 <a class="code" href="classClarinet.html#a1">~Clarinet</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a2">clear</a>();
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a3">setFrequency</a>(MY_FLOAT frequency);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a4">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a5">stopBlowing</a>(MY_FLOAT rate);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a6">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a7">noteOff</a>(MY_FLOAT amplitude);
00062
00064 MY_FLOAT <a class="code" href="classClarinet.html#a8">tick</a>();
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00068
00069 <span class="keyword">protected</span>:
00070 <a class="code" href="classDelayL.html">DelayL</a> *delayLine;
00071 <a class="code" href="classReedTabl.html">ReedTabl</a> *reedTable;
00072 <a class="code" href="classOneZero.html">OneZero</a> *filter;
00073 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
00074 <a class="code" href="classNoise.html">Noise</a> *noise;
00075 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00076 <span class="keywordtype">long</span> length;
00077 MY_FLOAT outputGain;
00078 MY_FLOAT noiseGain;
00079 MY_FLOAT vibratoGain;
00080
00081 };
00082
00083 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,60 @@
<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.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">#if !defined(__DelayA_h)</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define __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
00039 <a class="code" href="classDelayA.html#a0">DelayA</a>(MY_FLOAT theDelay, <span class="keywordtype">long</span> maxDelay);
00040
00042 <a class="code" href="classDelayA.html#a2">~DelayA</a>();
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a3">clear</a>();
00046
00048
00051 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a4">setDelay</a>(MY_FLOAT theDelay);
00052
00054 MY_FLOAT <a class="code" href="classDelayA.html#a5">getDelay</a>(<span class="keywordtype">void</span>);
00055
00057
00060 MY_FLOAT <a class="code" href="classDelayA.html#a6">nextOut</a>(<span class="keywordtype">void</span>);
00061
00063 MY_FLOAT <a class="code" href="classDelayA.html#a7">tick</a>(MY_FLOAT sample);
00064
00065 <span class="keyword">protected</span>:
00066 MY_FLOAT alpha;
00067 MY_FLOAT coeff;
00068 MY_FLOAT apInput;
00069 MY_FLOAT nextOutput;
00070 <span class="keywordtype">bool</span> doNextOut;
00071 };
00072
00073 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,57 @@
<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.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">#if !defined(__DELAYL_H)</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define __DELAYL_H</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Delay.h"</span>
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
00039 <a class="code" href="classDelayL.html#a0">DelayL</a>(MY_FLOAT theDelay, <span class="keywordtype">long</span> maxDelay);
00040
00042 <a class="code" href="classDelayL.html#a2">~DelayL</a>();
00043
00045
00048 <span class="keywordtype">void</span> <a class="code" href="classDelayL.html#a3">setDelay</a>(MY_FLOAT theDelay);
00049
00051 MY_FLOAT <a class="code" href="classDelayL.html#a4">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00052
00054
00057 MY_FLOAT <a class="code" href="classDelayL.html#a5">nextOut</a>(<span class="keywordtype">void</span>);
00058
00060 MY_FLOAT <a class="code" href="classDelayL.html#a6">tick</a>(MY_FLOAT sample);
00061
00062 <span class="keyword">protected</span>:
00063 MY_FLOAT alpha;
00064 MY_FLOAT omAlpha;
00065 MY_FLOAT nextOutput;
00066 <span class="keywordtype">bool</span> doNextOut;
00067 };
00068
00069 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,68 @@
<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.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">#if !defined(__DELAY_H)</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define __DELAY_H</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Filter.h"</span>
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 <a class="code" href="classDelay.html#a0">Delay</a>(<span class="keywordtype">long</span> theDelay, <span class="keywordtype">long</span> maxDelay);
00035
00037 <span class="keyword">virtual</span> <a class="code" href="classDelay.html#a2">~Delay</a>();
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a3">clear</a>();
00041
00043
00046 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a4">setDelay</a>(<span class="keywordtype">long</span> theDelay);
00047
00049 <span class="keywordtype">long</span> <a class="code" href="classDelay.html#a5">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00050
00052 MY_FLOAT <a class="code" href="classDelay.html#a6">energy</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00053
00055
00060 MY_FLOAT <a class="code" href="classDelay.html#a7">contentsAt</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> tapDelay) <span class="keyword">const</span>;
00061
00063 MY_FLOAT <a class="code" href="classDelay.html#a8">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064
00066
00069 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classDelay.html#a9">nextOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00070
00072 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classDelay.html#a10">tick</a>(MY_FLOAT sample);
00073
00075 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classDelay.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00076
00077 <span class="keyword">protected</span>:
00078 <span class="keywordtype">long</span> inPoint;
00079 <span class="keywordtype">long</span> outPoint;
00080 <span class="keywordtype">long</span> length;
00081 MY_FLOAT delay;
00082 };
00083
00084 <span class="preprocessor">#endif</span>
00085 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,56 @@
<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.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">#if !defined(__DRUMMER_H)</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define __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="preprocessor">#define DRUM_NUMWAVES 11</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define DRUM_POLYPHONY 4</span>
00027 <span class="preprocessor"></span>
<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 <a class="code" href="classDrummer.html#a0">Drummer</a>();
00033
00035 <a class="code" href="classDrummer.html#a1">~Drummer</a>();
00036
00038
00043 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a2">noteOn</a>(MY_FLOAT instrument, MY_FLOAT amplitude);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a3">noteOff</a>(MY_FLOAT amplitude);
00047
00049 MY_FLOAT <a class="code" href="classDrummer.html#a4">tick</a>();
00050
00051 <span class="keyword">protected</span>:
00052 <a class="code" href="classWvIn.html">WvIn</a> *waves[DRUM_POLYPHONY];
00053 <a class="code" href="classOnePole.html">OnePole</a> *filters[DRUM_POLYPHONY];
00054 <span class="keywordtype">int</span> sounding[DRUM_POLYPHONY];
00055 <span class="keywordtype">int</span> nSounding;
00056
00057 };
00058
00059 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,58 @@
<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.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">#if !defined(__ECHO_H)</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define __ECHO_H</span>
00013 <span class="preprocessor"></span>
00014 <span class="preprocessor">#include "Stk.h"</span>
00015 <span class="preprocessor">#include "Delay.h"</span>
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="classStk.html">Stk</a>
00018 {
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classEcho.html#a0">Echo</a>(MY_FLOAT longestDelay);
00022
00024 <a class="code" href="classEcho.html#a1">~Echo</a>();
00025
00027 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a2">clear</a>();
00028
00030 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a3">setDelay</a>(MY_FLOAT delay);
00031
00033 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a4">setEffectMix</a>(MY_FLOAT mix);
00034
00036 MY_FLOAT <a class="code" href="classEcho.html#a5">lastOut</a>() <span class="keyword">const</span>;
00037
00039 MY_FLOAT <a class="code" href="classEcho.html#a6">tick</a>(MY_FLOAT input);
00040
00042 MY_FLOAT *<a class="code" href="classEcho.html#a6">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00043
00044 <span class="keyword">protected</span>:
00045 <a class="code" href="classDelay.html">Delay</a> *delayLine;
00046 <span class="keywordtype">long</span> length;
00047 MY_FLOAT lastOutput;
00048 MY_FLOAT effectMix;
00049
00050 };
00051
00052 <span class="preprocessor">#endif</span>
00053 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</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.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">#if !defined(__ENVELOPE_H)</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define __ENVELOPE_H</span>
00018 <span class="preprocessor"></span>
00019 <span class="preprocessor">#include "Stk.h"</span>
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="classStk.html">Stk</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>(MY_FLOAT aRate);
00039
00041 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a5">setTime</a>(MY_FLOAT aTime);
00042
00044 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a6">setTarget</a>(MY_FLOAT aTarget);
00045
00047 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a7">setValue</a>(MY_FLOAT aValue);
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> MY_FLOAT <a class="code" href="classEnvelope.html#a9">tick</a>(<span class="keywordtype">void</span>);
00054
00056 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classEnvelope.html#a9">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00057
00059 MY_FLOAT <a class="code" href="classEnvelope.html#a11">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00060
00061 <span class="keyword">protected</span>:
00062 MY_FLOAT value;
00063 MY_FLOAT target;
00064 MY_FLOAT rate;
00065 <span class="keywordtype">int</span> state;
00066 };
00067
00068 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</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.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">#if !defined(__FMVOICES_H)</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define __FMVOICES_H</span>
00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span>
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 <a class="code" href="classFMVoices.html#a0">FMVoices</a>();
00043
00045 <a class="code" href="classFMVoices.html#a1">~FMVoices</a>();
00046
00048 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a2">setFrequency</a>(MY_FLOAT frequency);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00052
00054 MY_FLOAT <a class="code" href="classFMVoices.html#a4">tick</a>();
00055
00057 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a5">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00058
00059 <span class="keyword">protected</span>:
00060 <span class="keywordtype">int</span> currentVowel;
00061 MY_FLOAT tilt[3];
00062 MY_FLOAT mods[3];
00063 };
00064
00065 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

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.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">#if !defined(__FM_H)</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define __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 <a class="code" href="classFM.html#a0">FM</a>( <span class="keywordtype">int</span> operators = 4 );
00039
00041 <span class="keyword">virtual</span> <a class="code" href="classFM.html#a1">~FM</a>();
00042
00044 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a2">clear</a>();
00045
00047 <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);
00048
00050 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a4">setFrequency</a>(MY_FLOAT frequency);
00051
00053 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a5">setRatio</a>(<span class="keywordtype">int</span> waveIndex, MY_FLOAT ratio);
00054
00056 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a6">setGain</a>(<span class="keywordtype">int</span> waveIndex, MY_FLOAT gain);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a7">setModulationSpeed</a>(MY_FLOAT mSpeed);
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a8">setModulationDepth</a>(MY_FLOAT mDepth);
00063
00065 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a9">setControl1</a>(MY_FLOAT cVal);
00066
00068 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a10">setControl2</a>(MY_FLOAT cVal);
00069
00071 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a11">keyOn</a>();
00072
00074 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a12">keyOff</a>();
00075
00077 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a13">noteOff</a>(MY_FLOAT amplitude);
00078
00080 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classFM.html#a14">tick</a>() = 0;
00081
00083 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a15">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00084
00085 <span class="keyword">protected</span>:
00086 <a class="code" href="classADSR.html">ADSR</a> **adsr;
00087 <a class="code" href="classWaveLoop.html">WaveLoop</a> **waves;
00088 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00089 <a class="code" href="classTwoZero.html">TwoZero</a> *twozero;
00090 <span class="keywordtype">int</span> nOperators;
00091 MY_FLOAT baseFrequency;
00092 MY_FLOAT *ratios;
00093 MY_FLOAT *gains;
00094 MY_FLOAT modDepth;
00095 MY_FLOAT control1;
00096 MY_FLOAT control2;
00097 MY_FLOAT __FM_gains[100];
00098 MY_FLOAT __FM_susLevels[16];
00099 MY_FLOAT __FM_attTimes[32];
00100
00101 };
00102
00103 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</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.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">#if !defined(__FILTER_H)</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define __FILTER_H</span>
00032 <span class="preprocessor"></span>
00033 <span class="preprocessor">#include "Stk.h"</span>
00034
<a name="l00035"></a><a class="code" href="classFilter.html">00035</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>
00036 {
00037 <span class="keyword">public</span>:
00039 <a class="code" href="classFilter.html#a0">Filter</a>(<span class="keywordtype">void</span>);
00040
00042
00046 <a class="code" href="classFilter.html#a0">Filter</a>(<span class="keywordtype">int</span> nb, MY_FLOAT *bCoefficients, <span class="keywordtype">int</span> na, MY_FLOAT *aCoefficients);
00047
00049 <span class="keyword">virtual</span> <a class="code" href="classFilter.html#a2">~Filter</a>(<span class="keywordtype">void</span>);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a3">clear</a>(<span class="keywordtype">void</span>);
00053
00055
00060 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a4">setCoefficients</a>(<span class="keywordtype">int</span> nb, MY_FLOAT *bCoefficients, <span class="keywordtype">int</span> na, MY_FLOAT *aCoefficients);
00061
00063
00069 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a5">setNumerator</a>(<span class="keywordtype">int</span> nb, MY_FLOAT *bCoefficients);
00070
00072
00080 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a6">setDenominator</a>(<span class="keywordtype">int</span> na, MY_FLOAT *aCoefficients);
00081
00083
00087 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a7">setGain</a>(MY_FLOAT theGain);
00088
00090 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classFilter.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00091
00093 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classFilter.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00094
00096 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT sample);
00097
00099 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classFilter.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00100
00101 <span class="keyword">protected</span>:
00102 MY_FLOAT gain;
00103 <span class="keywordtype">int</span> nB;
00104 <span class="keywordtype">int</span> nA;
00105 MY_FLOAT *b;
00106 MY_FLOAT *a;
00107 MY_FLOAT *outputs;
00108 MY_FLOAT *inputs;
00109
00110 };
00111
00112 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,86 @@
<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.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">#if !defined(__FLUTE_H)</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define __FLUTE_H</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Instrmnt.h"</span>
00029 <span class="preprocessor">#include "JetTabl.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
<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 <a class="code" href="classFlute.html#a0">Flute</a>(MY_FLOAT lowestFrequency);
00042
00044 <a class="code" href="classFlute.html#a1">~Flute</a>();
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a2">clear</a>();
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a3">setFrequency</a>(MY_FLOAT frequency);
00051
00053 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a4">setJetReflection</a>(MY_FLOAT coefficient);
00054
00056 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a5">setEndReflection</a>(MY_FLOAT coefficient);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a6">setJetDelay</a>(MY_FLOAT aRatio);
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a7">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
00063
00065 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a8">stopBlowing</a>(MY_FLOAT rate);
00066
00068 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a9">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00069
00071 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a10">noteOff</a>(MY_FLOAT amplitude);
00072
00074 MY_FLOAT <a class="code" href="classFlute.html#a11">tick</a>();
00075
00077 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00078
00079 <span class="keyword">protected</span>:
00080 <a class="code" href="classDelayL.html">DelayL</a> *jetDelay;
00081 <a class="code" href="classDelayL.html">DelayL</a> *boreDelay;
00082 <a class="code" href="classJetTabl.html">JetTabl</a> *jetTable;
00083 <a class="code" href="classOnePole.html">OnePole</a> *filter;
00084 <a class="code" href="classPoleZero.html">PoleZero</a> *dcBlock;
00085 <a class="code" href="classNoise.html">Noise</a> *noise;
00086 <a class="code" href="classADSR.html">ADSR</a> *adsr;
00087 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00088 <span class="keywordtype">long</span> length;
00089 MY_FLOAT lastFrequency;
00090 MY_FLOAT maxPressure;
00091 MY_FLOAT jetReflection;
00092 MY_FLOAT endReflection;
00093 MY_FLOAT noiseGain;
00094 MY_FLOAT vibratoGain;
00095 MY_FLOAT outputGain;
00096 MY_FLOAT jetRatio;
00097
00098 };
00099
00100 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</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.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">#if !defined(__FORMSWEP_H)</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __FORMSWEP_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "BiQuad.h"</span>
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>(MY_FLOAT aFrequency, MY_FLOAT aRadius);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a3">setStates</a>(MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain = 1.0);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a4">setTargets</a>(MY_FLOAT aFrequency, MY_FLOAT aRadius, MY_FLOAT aGain = 1.0);
00049
00051
00059 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a5">setSweepRate</a>(MY_FLOAT aRate);
00060
00062
00067 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a6">setSweepTime</a>(MY_FLOAT aTime);
00068
00070 MY_FLOAT <a class="code" href="classFormSwep.html#a7">tick</a>(MY_FLOAT sample);
00071
00073 MY_FLOAT *<a class="code" href="classFormSwep.html#a7">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00074
00075 <span class="keyword">protected</span>:
00076 <span class="keywordtype">bool</span> dirty;
00077 MY_FLOAT frequency;
00078 MY_FLOAT radius;
00079 MY_FLOAT startFrequency;
00080 MY_FLOAT startRadius;
00081 MY_FLOAT startGain;
00082 MY_FLOAT targetFrequency;
00083 MY_FLOAT targetRadius;
00084 MY_FLOAT targetGain;
00085 MY_FLOAT deltaFrequency;
00086 MY_FLOAT deltaRadius;
00087 MY_FLOAT deltaGain;
00088 MY_FLOAT sweepState;
00089 MY_FLOAT sweepRate;
00090
00091 };
00092
00093 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,41 @@
<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.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">#if !defined(__HEVYMETL_H)</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define __HEVYMETL_H</span>
00033 <span class="preprocessor"></span>
00034 <span class="preprocessor">#include "FM.h"</span>
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 <a class="code" href="classHevyMetl.html#a0">HevyMetl</a>();
00041
00043 <a class="code" href="classHevyMetl.html#a1">~HevyMetl</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classHevyMetl.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00047
00049 MY_FLOAT <a class="code" href="classHevyMetl.html#a3">tick</a>();
00050 };
00051
00052 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,60 @@
<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.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">#if !defined(__INSTRMNT_H)</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define __INSTRMNT_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Stk.h"</span>
00016 <span class="preprocessor">#include &lt;iostream&gt;</span>
00017
<a name="l00018"></a><a class="code" href="classInstrmnt.html">00018</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>
00019 {
00020 <span class="keyword">public</span>:
00022 <a class="code" href="classInstrmnt.html#a0">Instrmnt</a>();
00023
00025 <span class="keyword">virtual</span> <a class="code" href="classInstrmnt.html#a1">~Instrmnt</a>();
00026
00028 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude) = 0;
00029
00031 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(MY_FLOAT amplitude) = 0;
00032
00034 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(MY_FLOAT frequency);
00035
00037 MY_FLOAT <a class="code" href="classInstrmnt.html#a5">lastOut</a>() <span class="keyword">const</span>;
00038
00040 MY_FLOAT <a class="code" href="classInstrmnt.html#a6">lastOutLeft</a>() <span class="keyword">const</span>;
00041
00043 MY_FLOAT <a class="code" href="classInstrmnt.html#a7">lastOutRight</a>() <span class="keyword">const</span>;
00044
00046 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classInstrmnt.html#a8">tick</a>() = 0;
00047
00049 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classInstrmnt.html#a8">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00050
00052 <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, MY_FLOAT value);
00053
00054 <span class="keyword">protected</span>:
00055 MY_FLOAT lastOutput;
00056
00057 };
00058
00059 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,52 @@
<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.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">#if !defined(__JCREV_H)</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define __JCREV_H</span>
00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#include "Reverb.h"</span>
00021 <span class="preprocessor">#include "Delay.h"</span>
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="classReverb.html">Reverb</a>
00024 {
00025 <span class="keyword">public</span>:
00027 <a class="code" href="classJCRev.html#a0">JCRev</a>(MY_FLOAT T60);
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 MY_FLOAT <a class="code" href="classJCRev.html#a3">tick</a>(MY_FLOAT input);
00037
00038 <span class="keyword">protected</span>:
00039 <a class="code" href="classDelay.html">Delay</a> *allpassDelays[3];
00040 <a class="code" href="classDelay.html">Delay</a> *combDelays[4];
00041 <a class="code" href="classDelay.html">Delay</a> *outLeftDelay;
00042 <a class="code" href="classDelay.html">Delay</a> *outRightDelay;
00043 MY_FLOAT allpassCoefficient;
00044 MY_FLOAT combCoefficient[4];
00045
00046 };
00047
00048 <span class="preprocessor">#endif</span>
00049 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,47 @@
<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.3.4 -->
<h1>JetTabl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00014 <span class="comment">/***************************************************/</span>
00015
00016 <span class="preprocessor">#if !defined(__JETTABL_H)</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define __JETTABL_H</span>
00018 <span class="preprocessor"></span>
00019 <span class="preprocessor">#include "Stk.h"</span>
00020
<a name="l00021"></a><a class="code" href="classJetTabl.html">00021</a> <span class="keyword">class </span><a class="code" href="classJetTabl.html">JetTabl</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00022 {
00023 <span class="keyword">public</span>:
00025 <a class="code" href="classJetTabl.html#a0">JetTabl</a>();
00026
00028 <a class="code" href="classJetTabl.html#a1">~JetTabl</a>();
00029
00031 MY_FLOAT <a class="code" href="classJetTabl.html#a2">lastOut</a>() <span class="keyword">const</span>;
00032
00034 MY_FLOAT <a class="code" href="classJetTabl.html#a3">tick</a>(MY_FLOAT input);
00035
00037 MY_FLOAT *<a class="code" href="classJetTabl.html#a3">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00038
00039 <span class="keyword">protected</span>:
00040 MY_FLOAT lastOutput;
00041
00042 };
00043
00044 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,57 @@
<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.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">#if !defined(__MANDOLIN_H)</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define __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
<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>(MY_FLOAT lowestFrequency);
00041
00043 <span class="keyword">virtual</span> <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>(MY_FLOAT amplitude);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(MY_FLOAT amplitude,MY_FLOAT position);
00050
00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a4">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a5">setBodySize</a>(MY_FLOAT size);
00056
00058 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classMandolin.html#a6">tick</a>();
00059
00061 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00062
00063 <span class="keyword">protected</span>:
00064 <a class="code" href="classWvIn.html">WvIn</a> *soundfile[12];
00065 MY_FLOAT directBody;
00066 <span class="keywordtype">int</span> mic;
00067 <span class="keywordtype">long</span> dampTime;
00068 <span class="keywordtype">bool</span> waveDone;
00069 };
00070
00071 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,89 @@
<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.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">#if !defined(__MESH2D_H)</span>
00028 <span class="preprocessor"></span><span class="preprocessor">#define __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="preprocessor">#define NXMAX ((short)(12))</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define NYMAX ((short)(12))</span>
00035 <span class="preprocessor"></span>
<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>(MY_FLOAT xFactor, MY_FLOAT yFactor);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a6">setDecay</a>(MY_FLOAT decayFactor);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a7">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a8">noteOff</a>(MY_FLOAT amplitude);
00065
00067 MY_FLOAT <a class="code" href="classMesh2D.html#a9">energy</a>();
00068
00070 MY_FLOAT <a class="code" href="classMesh2D.html#a10">tick</a>();
00071
00073 MY_FLOAT <a class="code" href="classMesh2D.html#a10">tick</a>(MY_FLOAT input);
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00077
00078 <span class="keyword">protected</span>:
00079
00080 MY_FLOAT tick0();
00081 MY_FLOAT tick1();
00082 <span class="keywordtype">void</span> clearMesh();
00083
00084 <span class="keywordtype">short</span> NX, NY;
00085 <span class="keywordtype">short</span> xInput, yInput;
00086 <a class="code" href="classOnePole.html">OnePole</a> *filterX[NXMAX];
00087 <a class="code" href="classOnePole.html">OnePole</a> *filterY[NYMAX];
00088 MY_FLOAT v[NXMAX-1][NYMAX-1]; <span class="comment">// junction velocities</span>
00089 MY_FLOAT vxp[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
00090 MY_FLOAT vxm[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
00091 MY_FLOAT vyp[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
00092 MY_FLOAT vym[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
00093
00094 <span class="comment">// Alternate buffers</span>
00095 MY_FLOAT vxp1[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
00096 MY_FLOAT vxm1[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
00097 MY_FLOAT vyp1[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
00098 MY_FLOAT vym1[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
00099
00100 <span class="keywordtype">int</span> counter; <span class="comment">// time in samples</span>
00101
00102
00103 };
00104
00105 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,114 @@
<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.3.4 -->
<h1>Messager.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00034 <span class="comment">/***************************************************/</span>
00035
00036 <span class="preprocessor">#if !defined(__MESSAGER_H)</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#define __MESSSAGER_H</span>
00038 <span class="preprocessor"></span>
00039 <span class="preprocessor">#include "Stk.h"</span>
00040 <span class="preprocessor">#include "SKINI.h"</span>
00041
00042 <span class="preprocessor">#define MESSAGE_LENGTH 128</span>
00043 <span class="preprocessor"></span><span class="preprocessor">#define MAX_MESSAGES 25</span>
00044 <span class="preprocessor"></span><span class="preprocessor">#define STK_MIDI 0x0001</span>
00045 <span class="preprocessor"></span><span class="preprocessor">#define STK_PIPE 0x0002</span>
00046 <span class="preprocessor"></span><span class="preprocessor">#define STK_SOCKET 0x0004</span>
00047 <span class="preprocessor"></span>
00048 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00049 <span class="preprocessor"></span>
00050 <span class="preprocessor">#include "Thread.h"</span>
00051 <span class="preprocessor">#include "Socket.h"</span>
00052 <span class="preprocessor">#include "RtMidi.h"</span>
00053
00054 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> THREAD_RETURN THREAD_TYPE stdinHandler(<span class="keywordtype">void</span> * ptr);
00055
00056 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
00057 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;sys/types.h&gt;</span>
00058 <span class="preprocessor"> #include &lt;sys/time.h&gt;</span>
00059 <span class="preprocessor">#endif</span>
00060 <span class="preprocessor"></span>
00061 <span class="preprocessor">#endif // __STK_REALTIME__</span>
00062 <span class="preprocessor"></span>
<a name="l00063"></a><a class="code" href="classMessager.html">00063</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>
00064 {
00065 <span class="keyword">public</span>:
00067
00075 <a class="code" href="classMessager.html#a0">Messager</a>(<span class="keywordtype">int</span> inputMask = 0, <span class="keywordtype">int</span> port = 2001);
00076
00078 <a class="code" href="classMessager.html#a1">~Messager</a>();
00079
00081
00087 <span class="keywordtype">long</span> <a class="code" href="classMessager.html#a2">nextMessage</a>(<span class="keywordtype">void</span>);
00088
00090 <span class="keywordtype">void</span> <a class="code" href="classMessager.html#a3">setRtDelta</a>(<span class="keywordtype">long</span> nSamples);
00091
00093 <span class="keywordtype">long</span> <a class="code" href="classMessager.html#a4">getDelta</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00094
00096 <span class="keywordtype">long</span> <a class="code" href="classMessager.html#a5">getType</a>() <span class="keyword">const</span>;
00097
00099 MY_FLOAT <a class="code" href="classMessager.html#a6">getByteTwo</a>() <span class="keyword">const</span>;
00100
00102 MY_FLOAT <a class="code" href="classMessager.html#a7">getByteThree</a>() <span class="keyword">const</span>;
00103
00105 <span class="keywordtype">long</span> <a class="code" href="classMessager.html#a8">getChannel</a>() <span class="keyword">const</span>;
00106
00107 <span class="keyword">protected</span>:
00108
00109 <a class="code" href="classSKINI.html">SKINI</a> *skini;
00110 <span class="keywordtype">long</span> type;
00111 <span class="keywordtype">long</span> channel;
00112 MY_FLOAT byte2;
00113 MY_FLOAT byte3;
00114 <span class="keywordtype">int</span> sources;
00115 <span class="keywordtype">long</span> delta;
00116 <span class="keywordtype">long</span> rtDelta;
00117 <span class="keywordtype">char</span> message[MAX_MESSAGES][MESSAGE_LENGTH];
00118 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> messageIndex;
00119 <span class="keywordtype">int</span> nMessages;
00120
00121 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00122 <span class="preprocessor"></span>
00123 <span class="comment">// Check MIDI source for new messages.</span>
00124 <span class="keywordtype">bool</span> midiMessage(<span class="keywordtype">void</span>);
00125
00126 <span class="comment">// Check socket sources for new messages.</span>
00127 <span class="keywordtype">bool</span> socketMessage(<span class="keywordtype">void</span>);
00128
00129 <span class="comment">// Receive and parse socket data.</span>
00130 <span class="keywordtype">bool</span> readSocket(<span class="keywordtype">int</span> fd);
00131
00132 <a class="code" href="classRtMidi.html">RtMidi</a> *midi;
00133 <a class="code" href="classThread.html">Thread</a> *thread;
00134 <a class="code" href="classSocket.html">Socket</a> *soket;
00135
00136 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nSockets;
00137 fd_set mask;
00138 <span class="keywordtype">int</span> maxfd;
00139 <span class="keywordtype">int</span> pipefd;
00140 <span class="keywordtype">int</span> fd[16];
00141 <span class="keywordtype">char</span> error[256];
00142
00143 <span class="preprocessor">#endif // __STK_REALTIME__</span>
00144 <span class="preprocessor"></span>
00145 };
00146
00147 <span class="preprocessor">#endif // defined(__MESSAGER_H)</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,47 @@
<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.3.4 -->
<h1>ModalBar.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00028 <span class="comment">/***************************************************/</span>
00029
00030 <span class="preprocessor">#if !defined(__MODALBAR_H)</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define __MODALBAR_H</span>
00032 <span class="preprocessor"></span>
00033 <span class="preprocessor">#include "Modal.h"</span>
00034
<a name="l00035"></a><a class="code" href="classModalBar.html">00035</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>
00036 {
00037 <span class="keyword">public</span>:
00039 <a class="code" href="classModalBar.html#a0">ModalBar</a>();
00040
00042 <a class="code" href="classModalBar.html#a1">~ModalBar</a>();
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a2">setStickHardness</a>(MY_FLOAT hardness);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a3">setStrikePosition</a>(MY_FLOAT position);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset);
00052
00054 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a5">setModulationDepth</a>(MY_FLOAT mDepth);
00055
00057 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a6">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00058 };
00059
00060 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,82 @@
<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.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">#if !defined(__MODAL_H)</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define __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 <a class="code" href="classModal.html#a0">Modal</a>( <span class="keywordtype">int</span> modes = 4 );
00028
00030 <span class="keyword">virtual</span> <a class="code" href="classModal.html#a1">~Modal</a>();
00031
00033 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a2">clear</a>();
00034
00036 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a3">setFrequency</a>(MY_FLOAT frequency);
00037
00039 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a4">setRatioAndRadius</a>(<span class="keywordtype">int</span> modeIndex, MY_FLOAT ratio, MY_FLOAT radius);
00040
00042 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a5">setMasterGain</a>(MY_FLOAT aGain);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a6">setDirectGain</a>(MY_FLOAT aGain);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a7">setModeGain</a>(<span class="keywordtype">int</span> modeIndex, MY_FLOAT gain);
00049
00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a8">strike</a>(MY_FLOAT amplitude);
00052
00054 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a9">damp</a>(MY_FLOAT amplitude);
00055
00057 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a10">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00058
00060 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a11">noteOff</a>(MY_FLOAT amplitude);
00061
00063 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classModal.html#a12">tick</a>();
00064
00066 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value) = 0;
00067
00068 <span class="keyword">protected</span>:
00069 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
00070 <a class="code" href="classWvIn.html">WvIn</a> *wave;
00071 <a class="code" href="classBiQuad.html">BiQuad</a> **filters;
00072 <a class="code" href="classOnePole.html">OnePole</a> *onepole;
00073 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00074 <span class="keywordtype">int</span> nModes;
00075 MY_FLOAT vibratoGain;
00076 MY_FLOAT masterGain;
00077 MY_FLOAT directGain;
00078 MY_FLOAT stickHardness;
00079 MY_FLOAT strikePosition;
00080 MY_FLOAT baseFrequency;
00081 MY_FLOAT *ratios;
00082 MY_FLOAT *radii;
00083
00084 };
00085
00086 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,63 @@
<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.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">#if !defined(__MODULATE_H)</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define __MODULATE_H</span>
00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Stk.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
<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="classStk.html">Stk</a>
00022 {
00023 <span class="keyword">public</span>:
00025 <a class="code" href="classModulate.html#a0">Modulate</a>();
00026
00028 <a class="code" href="classModulate.html#a1">~Modulate</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a2">reset</a>();
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a3">setVibratoRate</a>(MY_FLOAT aRate);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a4">setVibratoGain</a>(MY_FLOAT aGain);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a5">setRandomGain</a>(MY_FLOAT aGain);
00041
00043 MY_FLOAT <a class="code" href="classModulate.html#a6">tick</a>();
00044
00046 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classModulate.html#a6">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00047
00049 MY_FLOAT <a class="code" href="classModulate.html#a8">lastOut</a>() <span class="keyword">const</span>;
00050
00051 <span class="keyword">protected</span>:
00052 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00053 <a class="code" href="classSubNoise.html">SubNoise</a> *noise;
00054 <a class="code" href="classOnePole.html">OnePole</a> *filter;
00055 MY_FLOAT vibratoGain;
00056 MY_FLOAT randomGain;
00057 MY_FLOAT lastOutput;
00058
00059 };
00060
00061 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,57 @@
<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.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">#if !defined(__MOOG_H)</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define __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
<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 <a class="code" href="classMoog.html#a0">Moog</a>();
00032
00034 <a class="code" href="classMoog.html#a1">~Moog</a>();
00035
00037 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a2">setFrequency</a>(MY_FLOAT frequency);
00038
00040 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a4">setModulationSpeed</a>(MY_FLOAT mSpeed);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a5">setModulationDepth</a>(MY_FLOAT mDepth);
00047
00049 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classMoog.html#a6">tick</a>();
00050
00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00053
00054 <span class="keyword">protected</span>:
00055 <a class="code" href="classFormSwep.html">FormSwep</a> *filters[2];
00056 MY_FLOAT modDepth;
00057 MY_FLOAT filterQ;
00058 MY_FLOAT filterRate;
00059
00060 };
00061
00062 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,51 @@
<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.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">#if !defined(__NREV_H)</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define __NREV_H</span>
00021 <span class="preprocessor"></span>
00022 <span class="preprocessor">#include "Reverb.h"</span>
00023 <span class="preprocessor">#include "Delay.h"</span>
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="classReverb.html">Reverb</a>
00026 {
00027 <span class="keyword">public</span>:
00029 <a class="code" href="classNRev.html#a0">NRev</a>(MY_FLOAT T60);
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 MY_FLOAT <a class="code" href="classNRev.html#a3">tick</a>(MY_FLOAT input);
00039
00040 <span class="keyword">protected</span>:
00041 <a class="code" href="classDelay.html">Delay</a> *allpassDelays[8];
00042 <a class="code" href="classDelay.html">Delay</a> *combDelays[6];
00043 MY_FLOAT allpassCoefficient;
00044 MY_FLOAT combCoefficient[6];
00045 MY_FLOAT lowpassState;
00046
00047 };
00048
00049 <span class="preprocessor">#endif</span>
00050 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,55 @@
<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.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">#if !defined(__NOISE_H)</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define __NOISE_H</span>
00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Stk.h"</span>
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="classStk.html">Stk</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> MY_FLOAT <a class="code" href="classNoise.html#a4">tick</a>();
00044
00046 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classNoise.html#a4">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00047
00049 MY_FLOAT <a class="code" href="classNoise.html#a6">lastOut</a>() <span class="keyword">const</span>;
00050
00051 <span class="keyword">protected</span>:
00052
00053 MY_FLOAT lastOutput;
00054
00055 };
00056
00057 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,60 @@
<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.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">#if !defined(__ONEPOLE_H)</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __ONEPOLE_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
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>(MY_FLOAT 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>(MY_FLOAT b0);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a5">setA1</a>(MY_FLOAT a1);
00041
00043
00050 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a6">setPole</a>(MY_FLOAT thePole);
00051
00053
00057 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a7">setGain</a>(MY_FLOAT theGain);
00058
00060 MY_FLOAT <a class="code" href="classOnePole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00061
00063 MY_FLOAT <a class="code" href="classOnePole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064
00066 MY_FLOAT <a class="code" href="classOnePole.html#a10">tick</a>(MY_FLOAT sample);
00067
00069 MY_FLOAT *<a class="code" href="classOnePole.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070 };
00071
00072 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,60 @@
<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.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">#if !defined(__ONEZERO_H)</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __ONEZERO_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
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>(MY_FLOAT 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>(MY_FLOAT b0);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a5">setB1</a>(MY_FLOAT b1);
00041
00043
00050 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a6">setZero</a>(MY_FLOAT theZero);
00051
00053
00057 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a7">setGain</a>(MY_FLOAT theGain);
00058
00060 MY_FLOAT <a class="code" href="classOneZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00061
00063 MY_FLOAT <a class="code" href="classOneZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064
00066 MY_FLOAT <a class="code" href="classOneZero.html#a10">tick</a>(MY_FLOAT sample);
00067
00069 MY_FLOAT *<a class="code" href="classOneZero.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070 };
00071
00072 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</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.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">#if !defined(__PRCREV_H)</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define __PRCREV_H</span>
00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#include "Reverb.h"</span>
00021 <span class="preprocessor">#include "Delay.h"</span>
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="classReverb.html">Reverb</a>
00024 {
00025 <span class="keyword">public</span>:
00027 <a class="code" href="classPRCRev.html#a0">PRCRev</a>(MY_FLOAT T60);
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 MY_FLOAT <a class="code" href="classPRCRev.html#a3">tick</a>(MY_FLOAT input);
00037
00038 <span class="keyword">protected</span>:
00039 <a class="code" href="classDelay.html">Delay</a> *allpassDelays[2];
00040 <a class="code" href="classDelay.html">Delay</a> *combDelays[2];
00041 MY_FLOAT allpassCoefficient;
00042 MY_FLOAT combCoefficient[2];
00043
00044 };
00045
00046 <span class="preprocessor">#endif</span>
00047 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,43 @@
<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.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">#if !defined(__PERCFLUT_H)</span>
00030 <span class="preprocessor"></span><span class="preprocessor">#define __PERCFLUT_H</span>
00031 <span class="preprocessor"></span>
00032 <span class="preprocessor">#include "FM.h"</span>
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 <a class="code" href="classPercFlut.html#a0">PercFlut</a>();
00039
00041 <a class="code" href="classPercFlut.html#a1">~PercFlut</a>();
00042
00044 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a2">setFrequency</a>(MY_FLOAT frequency);
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00048
00050 MY_FLOAT <a class="code" href="classPercFlut.html#a4">tick</a>();
00051 };
00052
00053 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,56 @@
<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.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">#if !defined(__PHONEMES_H)</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define __PHONEMES_H</span>
00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Stk.h"</span>
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>
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> MY_FLOAT <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> MY_FLOAT <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> MY_FLOAT <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> MY_FLOAT <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> MY_FLOAT <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> MY_FLOAT phonemeGains[][2];
00047 <span class="keyword">static</span> <span class="keyword">const</span> MY_FLOAT phonemeParameters[][4][3];
00048
00049 };
00050
00051 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,60 @@
<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.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">#if !defined(__PITSHIFT_H)</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define __PITSHIFT_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Stk.h"</span>
00016 <span class="preprocessor">#include "DelayL.h"</span>
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="classStk.html">Stk</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>(MY_FLOAT shift);
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a4">setEffectMix</a>(MY_FLOAT mix);
00035
00037 MY_FLOAT <a class="code" href="classPitShift.html#a5">lastOut</a>() <span class="keyword">const</span>;
00038
00040 MY_FLOAT <a class="code" href="classPitShift.html#a6">tick</a>(MY_FLOAT input);
00041
00043 MY_FLOAT *<a class="code" href="classPitShift.html#a6">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00044
00045 <span class="keyword">protected</span>:
00046 <a class="code" href="classDelayL.html">DelayL</a> *delayLine[2];
00047 MY_FLOAT lastOutput;
00048 MY_FLOAT delay[2];
00049 MY_FLOAT env[2];
00050 MY_FLOAT effectMix;
00051 MY_FLOAT rate;
00052
00053 };
00054
00055 <span class="preprocessor">#endif</span>
00056 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,73 @@
<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.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">#if !defined(__PLUCKTWO_H)</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define __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
<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>(MY_FLOAT 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>(MY_FLOAT frequency);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a4">setDetune</a>(MY_FLOAT detune);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a5">setFreqAndDetune</a>(MY_FLOAT frequency, MY_FLOAT detune);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a6">setPluckPosition</a>(MY_FLOAT position);
00052
00054
00059 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a7">setBaseLoopGain</a>(MY_FLOAT aGain);
00060
00062 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a8">noteOff</a>(MY_FLOAT amplitude);
00063
00065 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classPluckTwo.html#a9">tick</a>() = 0;
00066
00067 <span class="keyword">protected</span>:
00068 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
00069 <a class="code" href="classDelayA.html">DelayA</a> *delayLine2;
00070 <a class="code" href="classDelayL.html">DelayL</a> *combDelay;
00071 <a class="code" href="classOneZero.html">OneZero</a> *filter;
00072 <a class="code" href="classOneZero.html">OneZero</a> *filter2;
00073 <span class="keywordtype">long</span> length;
00074 MY_FLOAT loopGain;
00075 MY_FLOAT baseLoopGain;
00076 MY_FLOAT lastFrequency;
00077 MY_FLOAT lastLength;
00078 MY_FLOAT detuning;
00079 MY_FLOAT pluckAmplitude;
00080 MY_FLOAT pluckPosition;
00081
00082 };
00083
00084 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,63 @@
<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.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">#if !defined(__PLUCKED_H)</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define __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
<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>(MY_FLOAT 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>(MY_FLOAT frequency);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a4">pluck</a>(MY_FLOAT amplitude);
00046
00048 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a5">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00049
00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a6">noteOff</a>(MY_FLOAT amplitude);
00052
00054 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classPlucked.html#a7">tick</a>();
00055
00056 <span class="keyword">protected</span>:
00057 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
00058 <a class="code" href="classOneZero.html">OneZero</a> *loopFilter;
00059 <a class="code" href="classOnePole.html">OnePole</a> *pickFilter;
00060 <a class="code" href="classNoise.html">Noise</a> *noise;
00061 <span class="keywordtype">long</span> length;
00062 MY_FLOAT loopGain;
00063
00064 };
00065
00066 <span class="preprocessor">#endif</span>
00067 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,63 @@
<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.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">#if !defined(__POLEZERO_H)</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __POLEZERO_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
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>(MY_FLOAT b0);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a4">setB1</a>(MY_FLOAT b1);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a5">setA1</a>(MY_FLOAT a1);
00041
00043
00048 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a6">setAllpass</a>(MY_FLOAT coefficient);
00049
00051
00057 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a7">setBlockZero</a>(MY_FLOAT thePole = 0.99);
00058
00060
00064 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a8">setGain</a>(MY_FLOAT theGain);
00065
00067 MY_FLOAT <a class="code" href="classPoleZero.html#a9">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00068
00070 MY_FLOAT <a class="code" href="classPoleZero.html#a10">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00071
00073 MY_FLOAT <a class="code" href="classPoleZero.html#a11">tick</a>(MY_FLOAT sample);
00074
00076 MY_FLOAT *<a class="code" href="classPoleZero.html#a11">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00077 };
00078
00079 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,56 @@
<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.3.4 -->
<h1>ReedTabl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span>
00019
00020 <span class="preprocessor">#if !defined(__REEDTABL_H)</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define __REEDTABL_H</span>
00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Stk.h"</span>
00024
<a name="l00025"></a><a class="code" href="classReedTabl.html">00025</a> <span class="keyword">class </span><a class="code" href="classReedTabl.html">ReedTabl</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00026 {
00027 <span class="keyword">public</span>:
00029 <a class="code" href="classReedTabl.html#a0">ReedTabl</a>();
00030
00032 <a class="code" href="classReedTabl.html#a1">~ReedTabl</a>();
00033
00035
00040 <span class="keywordtype">void</span> <a class="code" href="classReedTabl.html#a2">setOffset</a>(MY_FLOAT aValue);
00041
00043
00048 <span class="keywordtype">void</span> <a class="code" href="classReedTabl.html#a3">setSlope</a>(MY_FLOAT aValue);
00049
00051 MY_FLOAT <a class="code" href="classReedTabl.html#a4">lastOut</a>() <span class="keyword">const</span>;
00052
00054
00058 MY_FLOAT <a class="code" href="classReedTabl.html#a5">tick</a>(MY_FLOAT input);
00059
00061 MY_FLOAT *<a class="code" href="classReedTabl.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00062
00063 <span class="keyword">protected</span>:
00064 MY_FLOAT offSet;
00065 MY_FLOAT slope;
00066 MY_FLOAT lastOutput;
00067
00068 };
00069
00070 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,70 @@
<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.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">#if !defined(__RESONATE_H)</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define __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
<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>(MY_FLOAT frequency, MY_FLOAT radius);
00042
00044 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a4">setNotch</a>(MY_FLOAT frequency, MY_FLOAT 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>(MY_FLOAT frequency, MY_FLOAT amplitude);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a9">noteOff</a>(MY_FLOAT amplitude);
00060
00062 MY_FLOAT <a class="code" href="classResonate.html#a10">tick</a>();
00063
00065 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00066
00067 <span class="keyword">protected</span>:
00068 <a class="code" href="classADSR.html">ADSR</a> *adsr;
00069 <a class="code" href="classBiQuad.html">BiQuad</a> *filter;
00070 <a class="code" href="classNoise.html">Noise</a> *noise;
00071 MY_FLOAT poleFrequency;
00072 MY_FLOAT poleRadius;
00073 MY_FLOAT zeroFrequency;
00074 MY_FLOAT zeroRadius;
00075
00076 };
00077
00078 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

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.3.4 -->
<h1>Reverb.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">#if !defined(__REVERB_H)</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define __REVERB_H</span>
00016 <span class="preprocessor"></span>
<a name="l00017"></a><a class="code" href="classReverb.html">00017</a> <span class="keyword">class </span><a class="code" href="classReverb.html">Reverb</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="classReverb.html#a0">Reverb</a>();
00022
00024 <span class="keyword">virtual</span> <a class="code" href="classReverb.html#a1">~Reverb</a>();
00025
00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classReverb.html#a2">clear</a>() = 0;
00028
00030 <span class="keywordtype">void</span> <a class="code" href="classReverb.html#a3">setEffectMix</a>(MY_FLOAT mix);
00031
00033 MY_FLOAT <a class="code" href="classReverb.html#a4">lastOut</a>() <span class="keyword">const</span>;
00034
00036 MY_FLOAT <a class="code" href="classReverb.html#a5">lastOutLeft</a>() <span class="keyword">const</span>;
00037
00039 MY_FLOAT <a class="code" href="classReverb.html#a6">lastOutRight</a>() <span class="keyword">const</span>;
00040
00042 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classReverb.html#a7">tick</a>(MY_FLOAT input) = 0;
00043
00045 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classReverb.html#a7">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00046
00047 <span class="keyword">protected</span>:
00048
00049 <span class="comment">// Returns true if argument value is prime.</span>
00050 <span class="keywordtype">bool</span> isPrime(<span class="keywordtype">int</span> number);
00051
00052 MY_FLOAT lastOutput[2];
00053 MY_FLOAT effectMix;
00054
00055 };
00056
00057 <span class="preprocessor">#endif // defined(__REVERB_H)</span>
00058 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,43 @@
<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.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">#if !defined(__RHODEY_H)</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define __RHODEY_H</span>
00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span>
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 <a class="code" href="classRhodey.html#a0">Rhodey</a>();
00043
00045 <a class="code" href="classRhodey.html#a1">~Rhodey</a>();
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a2">setFrequency</a>(MY_FLOAT frequency);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00052
00054 MY_FLOAT <a class="code" href="classRhodey.html#a4">tick</a>();
00055 };
00056
00057 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,540 @@
<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.3.4 -->
<h1>RtAudio.h</h1><div class="fragment"><pre>00001 <span class="comment">/************************************************************************/</span>
00038 <span class="comment">/************************************************************************/</span>
00039
00040 <span class="comment">// RtAudio: Version 3.0.1, 22 March 2004</span>
00041
00042 <span class="preprocessor">#ifndef __RTAUDIO_H</span>
00043 <span class="preprocessor"></span><span class="preprocessor">#define __RTAUDIO_H</span>
00044 <span class="preprocessor"></span>
00045 <span class="preprocessor">#include "RtError.h"</span>
00046 <span class="preprocessor">#include &lt;string&gt;</span>
00047 <span class="preprocessor">#include &lt;vector&gt;</span>
00048
00049 <span class="comment">// Operating system dependent thread functionality.</span>
00050 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span>
00051 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;windows.h&gt;</span>
00052 <span class="preprocessor"> #include &lt;process.h&gt;</span>
00053
00054 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> ThreadHandle;
00055 <span class="keyword">typedef</span> CRITICAL_SECTION StreamMutex;
00056
00057 <span class="preprocessor">#else // Various unix flavors with pthread support.</span>
00058 <span class="preprocessor"></span><span class="preprocessor"> #include &lt;pthread.h&gt;</span>
00059
00060 <span class="keyword">typedef</span> pthread_t ThreadHandle;
00061 <span class="keyword">typedef</span> pthread_mutex_t StreamMutex;
00062
00063 <span class="preprocessor">#endif</span>
00064 <span class="preprocessor"></span>
00065 <span class="comment">// This global structure type is used to pass callback information</span>
00066 <span class="comment">// between the private RtAudio stream structure and global callback</span>
00067 <span class="comment">// handling functions.</span>
00068 <span class="keyword">struct </span>CallbackInfo {
00069 <span class="keywordtype">void</span> *object; <span class="comment">// Used as a "this" pointer.</span>
00070 ThreadHandle thread;
00071 <span class="keywordtype">bool</span> usingCallback;
00072 <span class="keywordtype">void</span> *callback;
00073 <span class="keywordtype">void</span> *userData;
00074 <span class="keywordtype">void</span> *apiInfo; <span class="comment">// void pointer for API specific callback information</span>
00075
00076 <span class="comment">// Default constructor.</span>
00077 CallbackInfo()
00078 :object(0), usingCallback(false), callback(0),
00079 userData(0), apiInfo(0) {}
00080 };
00081
00082 <span class="comment">// Support for signed integers and floats. Audio data fed to/from</span>
00083 <span class="comment">// the tickStream() routine is assumed to ALWAYS be in host</span>
00084 <span class="comment">// byte order. The internal routines will automatically take care of</span>
00085 <span class="comment">// any necessary byte-swapping between the host format and the</span>
00086 <span class="comment">// soundcard. Thus, endian-ness is not a concern in the following</span>
00087 <span class="comment">// format definitions.</span>
00088 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> RtAudioFormat;
00089 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_SINT8 = 0x1;
00090 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_SINT16 = 0x2;
00091 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_SINT24 = 0x4;
00092 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_SINT32 = 0x8;
00093 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_FLOAT32 = 0x10;
00094 <span class="keyword">static</span> <span class="keyword">const</span> RtAudioFormat RTAUDIO_FLOAT64 = 0x20;
00096 <span class="keyword">typedef</span> int (*RtAudioCallback)(<span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> bufferSize, <span class="keywordtype">void</span> *userData);
00097
<a name="l00099"></a><a class="code" href="structRtAudioDeviceInfo.html">00099</a> <span class="keyword">struct </span><a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> {
<a name="l00100"></a><a class="code" href="structRtAudioDeviceInfo.html#o0">00100</a> std::string <a class="code" href="structRtAudioDeviceInfo.html#o0">name</a>;
<a name="l00101"></a><a class="code" href="structRtAudioDeviceInfo.html#o1">00101</a> <span class="keywordtype">bool</span> <a class="code" href="structRtAudioDeviceInfo.html#o1">probed</a>;
<a name="l00102"></a><a class="code" href="structRtAudioDeviceInfo.html#o2">00102</a> <span class="keywordtype">int</span> <a class="code" href="structRtAudioDeviceInfo.html#o2">outputChannels</a>;
<a name="l00103"></a><a class="code" href="structRtAudioDeviceInfo.html#o3">00103</a> <span class="keywordtype">int</span> <a class="code" href="structRtAudioDeviceInfo.html#o3">inputChannels</a>;
<a name="l00104"></a><a class="code" href="structRtAudioDeviceInfo.html#o4">00104</a> <span class="keywordtype">int</span> <a class="code" href="structRtAudioDeviceInfo.html#o4">duplexChannels</a>;
<a name="l00105"></a><a class="code" href="structRtAudioDeviceInfo.html#o5">00105</a> <span class="keywordtype">bool</span> <a class="code" href="structRtAudioDeviceInfo.html#o5">isDefault</a>;
<a name="l00106"></a><a class="code" href="structRtAudioDeviceInfo.html#o6">00106</a> std::vector&lt;int&gt; <a class="code" href="structRtAudioDeviceInfo.html#o6">sampleRates</a>;
<a name="l00107"></a><a class="code" href="structRtAudioDeviceInfo.html#o7">00107</a> RtAudioFormat <a class="code" href="structRtAudioDeviceInfo.html#o7">nativeFormats</a>;
00109 <span class="comment">// Default constructor.</span>
00110 <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a>()
00111 :<a class="code" href="structRtAudioDeviceInfo.html#o1">probed</a>(false), <a class="code" href="structRtAudioDeviceInfo.html#o2">outputChannels</a>(0), <a class="code" href="structRtAudioDeviceInfo.html#o3">inputChannels</a>(0),
00112 <a class="code" href="structRtAudioDeviceInfo.html#o4">duplexChannels</a>(0), <a class="code" href="structRtAudioDeviceInfo.html#o5">isDefault</a>(false), <a class="code" href="structRtAudioDeviceInfo.html#o7">nativeFormats</a>(0) {}
00113 };
00114
00115 <span class="comment">// **************************************************************** //</span>
00116 <span class="comment">//</span>
00117 <span class="comment">// RtApi class declaration.</span>
00118 <span class="comment">//</span>
00119 <span class="comment">// Note that RtApi is an abstract base class and cannot be</span>
00120 <span class="comment">// explicitly instantiated. The class RtAudio will create an</span>
00121 <span class="comment">// instance of an RtApi subclass (RtApiOss, RtApiAlsa,</span>
00122 <span class="comment">// RtApiJack, RtApiCore, RtApiAl, RtApiDs, or RtApiAsio).</span>
00123 <span class="comment">//</span>
00124 <span class="comment">// **************************************************************** //</span>
00125
00126 <span class="keyword">class </span>RtApi
00127 {
00128 <span class="keyword">public</span>:
00129
00130 RtApi();
00131 <span class="keyword">virtual</span> ~RtApi();
00132 <span class="keywordtype">void</span> openStream( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00133 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
00134 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00135 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00136 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ) = 0;
00137 <span class="keyword">virtual</span> <span class="keywordtype">void</span> cancelStreamCallback() = 0;
00138 <span class="keywordtype">int</span> getDeviceCount(<span class="keywordtype">void</span>);
00139 <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> getDeviceInfo( <span class="keywordtype">int</span> device );
00140 <span class="keywordtype">char</span> * <span class="keyword">const</span> getStreamBuffer();
00141 <span class="keyword">virtual</span> <span class="keywordtype">void</span> tickStream() = 0;
00142 <span class="keyword">virtual</span> <span class="keywordtype">void</span> closeStream();
00143 <span class="keyword">virtual</span> <span class="keywordtype">void</span> startStream() = 0;
00144 <span class="keyword">virtual</span> <span class="keywordtype">void</span> stopStream() = 0;
00145 <span class="keyword">virtual</span> <span class="keywordtype">void</span> abortStream() = 0;
00146
00147 <span class="keyword">protected</span>:
00148
00149 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> MAX_SAMPLE_RATES;
00150 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> SAMPLE_RATES[];
00151
00152 <span class="keyword">enum</span> { FAILURE, SUCCESS };
00153
00154 <span class="keyword">enum</span> StreamMode {
00155 OUTPUT,
00156 INPUT,
00157 DUPLEX,
00158 UNINITIALIZED = -75
00159 };
00160
00161 <span class="keyword">enum</span> StreamState {
00162 STREAM_STOPPED,
00163 STREAM_RUNNING
00164 };
00165
00166 <span class="comment">// A protected structure for audio streams.</span>
00167 <span class="keyword">struct </span>RtApiStream {
00168 <span class="keywordtype">int</span> device[2]; <span class="comment">// Playback and record, respectively.</span>
00169 <span class="keywordtype">void</span> *apiHandle; <span class="comment">// void pointer for API specific stream handle information</span>
00170 StreamMode mode; <span class="comment">// OUTPUT, INPUT, or DUPLEX.</span>
00171 StreamState state; <span class="comment">// STOPPED or RUNNING</span>
00172 <span class="keywordtype">char</span> *userBuffer;
00173 <span class="keywordtype">char</span> *deviceBuffer;
00174 <span class="keywordtype">bool</span> doConvertBuffer[2]; <span class="comment">// Playback and record, respectively.</span>
00175 <span class="keywordtype">bool</span> deInterleave[2]; <span class="comment">// Playback and record, respectively.</span>
00176 <span class="keywordtype">bool</span> doByteSwap[2]; <span class="comment">// Playback and record, respectively.</span>
00177 <span class="keywordtype">int</span> sampleRate;
00178 <span class="keywordtype">int</span> bufferSize;
00179 <span class="keywordtype">int</span> nBuffers;
00180 <span class="keywordtype">int</span> nUserChannels[2]; <span class="comment">// Playback and record, respectively.</span>
00181 <span class="keywordtype">int</span> nDeviceChannels[2]; <span class="comment">// Playback and record channels, respectively.</span>
00182 RtAudioFormat userFormat;
00183 RtAudioFormat deviceFormat[2]; <span class="comment">// Playback and record, respectively.</span>
00184 StreamMutex mutex;
00185 CallbackInfo callbackInfo;
00186
00187 RtApiStream()
00188 :apiHandle(0), userBuffer(0), deviceBuffer(0) {}
00189 <span class="comment">// mode(UNINITIALIZED), state(STREAM_STOPPED),</span>
00190 };
00191
00192 <span class="comment">// A protected device structure for audio devices.</span>
00193 <span class="keyword">struct </span>RtApiDevice {
00194 std::string name;
00195 <span class="keywordtype">bool</span> probed;
00196 <span class="keywordtype">void</span> *apiDeviceId; <span class="comment">// void pointer for API specific device information</span>
00197 <span class="keywordtype">int</span> maxOutputChannels;
00198 <span class="keywordtype">int</span> maxInputChannels;
00199 <span class="keywordtype">int</span> maxDuplexChannels;
00200 <span class="keywordtype">int</span> minOutputChannels;
00201 <span class="keywordtype">int</span> minInputChannels;
00202 <span class="keywordtype">int</span> minDuplexChannels;
00203 <span class="keywordtype">bool</span> hasDuplexSupport;
00204 <span class="keywordtype">bool</span> isDefault;
00205 std::vector&lt;int&gt; sampleRates;
00206 RtAudioFormat nativeFormats;
00208 <span class="comment">// Default constructor.</span>
00209 RtApiDevice()
00210 :probed(false), apiDeviceId(0), maxOutputChannels(0), maxInputChannels(0),
00211 maxDuplexChannels(0), minOutputChannels(0), minInputChannels(0),
00212 minDuplexChannels(0), isDefault(false), nativeFormats(0) {}
00213 };
00214
00215 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> Int16;
00216 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> Int32;
00217 <span class="keyword">typedef</span> <span class="keywordtype">float</span> Float32;
00218 <span class="keyword">typedef</span> <span class="keywordtype">double</span> Float64;
00219
00220 <span class="keywordtype">char</span> message_[256];
00221 <span class="keywordtype">int</span> nDevices_;
00222 std::vector&lt;RtApiDevice&gt; devices_;
00223 RtApiStream stream_;
00224
00229 <span class="keyword">virtual</span> <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>) = 0;
00230
00239 <span class="keyword">virtual</span> <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00240
00249 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00250 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00251 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00252
00257 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
00258
00263 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
00264
00266 <span class="keywordtype">void</span> clearDeviceInfo( RtApiDevice *info );
00267
00269 <span class="keywordtype">void</span> clearStreamInfo();
00270
00272 <span class="keywordtype">void</span> error( RtError::Type type );
00273
00278 <span class="keywordtype">void</span> verifyStream();
00279
00284 <span class="keywordtype">void</span> convertStreamBuffer( StreamMode mode );
00285
00287 <span class="keywordtype">void</span> byteSwapBuffer( <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> samples, RtAudioFormat format );
00288
00290 <span class="keywordtype">int</span> formatBytes( RtAudioFormat format );
00291 };
00292
00293
00294 <span class="comment">// **************************************************************** //</span>
00295 <span class="comment">//</span>
00296 <span class="comment">// RtAudio class declaration.</span>
00297 <span class="comment">//</span>
00298 <span class="comment">// RtAudio is a "controller" used to select an available audio i/o</span>
00299 <span class="comment">// interface. It presents a common API for the user to call but all</span>
00300 <span class="comment">// functionality is implemented by the class RtAudioApi and its</span>
00301 <span class="comment">// subclasses. RtAudio creates an instance of an RtAudioApi subclass</span>
00302 <span class="comment">// based on the user's API choice. If no choice is made, RtAudio</span>
00303 <span class="comment">// attempts to make a "logical" API selection.</span>
00304 <span class="comment">//</span>
00305 <span class="comment">// **************************************************************** //</span>
00306
<a name="l00307"></a><a class="code" href="classRtAudio.html">00307</a> <span class="keyword">class </span><a class="code" href="classRtAudio.html">RtAudio</a>
00308 {
00309 <span class="keyword">public</span>:
00310
<a name="l00312"></a><a class="code" href="classRtAudio.html#w8">00312</a> <span class="keyword">enum</span> <a class="code" href="classRtAudio.html#w8">RtAudioApi</a> {
00313 <a class="code" href="classRtAudio.html#w8w0">UNSPECIFIED</a>,
00314 <a class="code" href="classRtAudio.html#w8w1">LINUX_ALSA</a>,
00315 <a class="code" href="classRtAudio.html#w8w2">LINUX_OSS</a>,
00316 <a class="code" href="classRtAudio.html#w8w3">LINUX_JACK</a>,
00317 <a class="code" href="classRtAudio.html#w8w4">MACOSX_CORE</a>,
00318 <a class="code" href="classRtAudio.html#w8w5">IRIX_AL</a>,
00319 <a class="code" href="classRtAudio.html#w8w6">WINDOWS_ASIO</a>,
00320 <a class="code" href="classRtAudio.html#w8w7">WINDOWS_DS</a>
00321 };
00322
00324
00334 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( RtAudioApi api=UNSPECIFIED );
00335
00337
00348 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00349 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
00350 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00351 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers, RtAudioApi api=UNSPECIFIED );
00352
00354
00358 <a class="code" href="classRtAudio.html#a2">~RtAudio</a>();
00359
00361
00387 <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a3">openStream</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00388 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
00389 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00390 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00391
00393
<a name="l00412"></a><a class="code" href="classRtAudio.html#a4">00412</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a4">setStreamCallback</a>(RtAudioCallback callback, <span class="keywordtype">void</span> *userData) { rtapi_-&gt;setStreamCallback( callback, userData ); };
00413
00415
<a name="l00422"></a><a class="code" href="classRtAudio.html#a5">00422</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a5">cancelStreamCallback</a>() { rtapi_-&gt;cancelStreamCallback(); };
00423
<a name="l00425"></a><a class="code" href="classRtAudio.html#a6">00425</a> <span class="keywordtype">int</span> <a class="code" href="classRtAudio.html#a6">getDeviceCount</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> rtapi_-&gt;getDeviceCount(); };
00426
00428
<a name="l00436"></a><a class="code" href="classRtAudio.html#a7">00436</a> <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> <a class="code" href="classRtAudio.html#a7">getDeviceInfo</a>(<span class="keywordtype">int</span> device) { <span class="keywordflow">return</span> rtapi_-&gt;getDeviceInfo( device ); };
00437
00439
<a name="l00444"></a><a class="code" href="classRtAudio.html#a8">00444</a> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classRtAudio.html#a8">getStreamBuffer</a>() { <span class="keywordflow">return</span> rtapi_-&gt;getStreamBuffer(); };
00445
00447
<a name="l00452"></a><a class="code" href="classRtAudio.html#a9">00452</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a9">tickStream</a>() { rtapi_-&gt;tickStream(); };
00453
00455
<a name="l00459"></a><a class="code" href="classRtAudio.html#a10">00459</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a10">closeStream</a>() { rtapi_-&gt;closeStream(); };
00460
00462
<a name="l00466"></a><a class="code" href="classRtAudio.html#a11">00466</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a11">startStream</a>() { rtapi_-&gt;startStream(); };
00467
00469
<a name="l00473"></a><a class="code" href="classRtAudio.html#a12">00473</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a12">stopStream</a>() { rtapi_-&gt;stopStream(); };
00474
00476
<a name="l00480"></a><a class="code" href="classRtAudio.html#a13">00480</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a13">abortStream</a>() { rtapi_-&gt;abortStream(); };
00481
00482
00483 <span class="keyword">protected</span>:
00484
00485 <span class="keywordtype">void</span> initialize( RtAudioApi api );
00486
00487 RtApi *rtapi_;
00488 };
00489
00490
00491 <span class="comment">// RtApi Subclass prototypes.</span>
00492
00493 <span class="preprocessor">#if defined(__LINUX_ALSA__)</span>
00494 <span class="preprocessor"></span>
00495 <span class="keyword">class </span>RtApiAlsa: <span class="keyword">public</span> RtApi
00496 {
00497 <span class="keyword">public</span>:
00498
00499 RtApiAlsa();
00500 ~RtApiAlsa();
00501 <span class="keywordtype">void</span> tickStream();
00502 <span class="keywordtype">void</span> closeStream();
00503 <span class="keywordtype">void</span> startStream();
00504 <span class="keywordtype">void</span> stopStream();
00505 <span class="keywordtype">void</span> abortStream();
00506 <span class="keywordtype">int</span> streamWillBlock();
00507 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00508 <span class="keywordtype">void</span> cancelStreamCallback();
00509
00510 <span class="keyword">private</span>:
00511
00512 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00513 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00514 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00515 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00516 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00517 };
00518
00519 <span class="preprocessor">#endif</span>
00520 <span class="preprocessor"></span>
00521 <span class="preprocessor">#if defined(__LINUX_JACK__)</span>
00522 <span class="preprocessor"></span>
00523 <span class="keyword">class </span>RtApiJack: <span class="keyword">public</span> RtApi
00524 {
00525 <span class="keyword">public</span>:
00526
00527 RtApiJack();
00528 ~RtApiJack();
00529 <span class="keywordtype">void</span> tickStream();
00530 <span class="keywordtype">void</span> closeStream();
00531 <span class="keywordtype">void</span> startStream();
00532 <span class="keywordtype">void</span> stopStream();
00533 <span class="keywordtype">void</span> abortStream();
00534 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00535 <span class="keywordtype">void</span> cancelStreamCallback();
00536 <span class="comment">// This function is intended for internal use only. It must be</span>
00537 <span class="comment">// public because it is called by the internal callback handler,</span>
00538 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
00539 <span class="comment">// will most likely produce highly undesireable results!</span>
00540 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nframes );
00541
00542 <span class="keyword">private</span>:
00543
00544 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00545 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00546 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00547 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00548 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00549 };
00550
00551 <span class="preprocessor">#endif</span>
00552 <span class="preprocessor"></span>
00553 <span class="preprocessor">#if defined(__LINUX_OSS__)</span>
00554 <span class="preprocessor"></span>
00555 <span class="keyword">class </span>RtApiOss: <span class="keyword">public</span> RtApi
00556 {
00557 <span class="keyword">public</span>:
00558
00559 RtApiOss();
00560 ~RtApiOss();
00561 <span class="keywordtype">void</span> tickStream();
00562 <span class="keywordtype">void</span> closeStream();
00563 <span class="keywordtype">void</span> startStream();
00564 <span class="keywordtype">void</span> stopStream();
00565 <span class="keywordtype">void</span> abortStream();
00566 <span class="keywordtype">int</span> streamWillBlock();
00567 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00568 <span class="keywordtype">void</span> cancelStreamCallback();
00569
00570 <span class="keyword">private</span>:
00571
00572 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00573 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00574 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00575 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00576 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00577 };
00578
00579 <span class="preprocessor">#endif</span>
00580 <span class="preprocessor"></span>
00581 <span class="preprocessor">#if defined(__MACOSX_CORE__)</span>
00582 <span class="preprocessor"></span>
00583 <span class="preprocessor">#include &lt;CoreAudio/AudioHardware.h&gt;</span>
00584
00585 <span class="keyword">class </span>RtApiCore: <span class="keyword">public</span> RtApi
00586 {
00587 <span class="keyword">public</span>:
00588
00589 RtApiCore();
00590 ~RtApiCore();
00591 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
00592 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
00593 <span class="keywordtype">void</span> tickStream();
00594 <span class="keywordtype">void</span> closeStream();
00595 <span class="keywordtype">void</span> startStream();
00596 <span class="keywordtype">void</span> stopStream();
00597 <span class="keywordtype">void</span> abortStream();
00598 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00599 <span class="keywordtype">void</span> cancelStreamCallback();
00600
00601 <span class="comment">// This function is intended for internal use only. It must be</span>
00602 <span class="comment">// public because it is called by the internal callback handler,</span>
00603 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
00604 <span class="comment">// will most likely produce highly undesireable results!</span>
00605 <span class="keywordtype">void</span> callbackEvent( AudioDeviceID deviceId, <span class="keywordtype">void</span> *inData, <span class="keywordtype">void</span> *outData );
00606
00607 <span class="keyword">private</span>:
00608
00609 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00610 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00611 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00612 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00613 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00614 };
00615
00616 <span class="preprocessor">#endif</span>
00617 <span class="preprocessor"></span>
00618 <span class="preprocessor">#if defined(__WINDOWS_DS__)</span>
00619 <span class="preprocessor"></span>
00620 <span class="keyword">class </span>RtApiDs: <span class="keyword">public</span> RtApi
00621 {
00622 <span class="keyword">public</span>:
00623
00624 RtApiDs();
00625 ~RtApiDs();
00626 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
00627 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
00628 <span class="keywordtype">void</span> tickStream();
00629 <span class="keywordtype">void</span> closeStream();
00630 <span class="keywordtype">void</span> startStream();
00631 <span class="keywordtype">void</span> stopStream();
00632 <span class="keywordtype">void</span> abortStream();
00633 <span class="keywordtype">int</span> streamWillBlock();
00634 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00635 <span class="keywordtype">void</span> cancelStreamCallback();
00636
00637 <span class="keyword">private</span>:
00638
00639 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00640 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00641 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00642 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00643 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00644 };
00645
00646 <span class="preprocessor">#endif</span>
00647 <span class="preprocessor"></span>
00648 <span class="preprocessor">#if defined(__WINDOWS_ASIO__)</span>
00649 <span class="preprocessor"></span>
00650 <span class="keyword">class </span>RtApiAsio: <span class="keyword">public</span> RtApi
00651 {
00652 <span class="keyword">public</span>:
00653
00654 RtApiAsio();
00655 ~RtApiAsio();
00656 <span class="keywordtype">void</span> tickStream();
00657 <span class="keywordtype">void</span> closeStream();
00658 <span class="keywordtype">void</span> startStream();
00659 <span class="keywordtype">void</span> stopStream();
00660 <span class="keywordtype">void</span> abortStream();
00661 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00662 <span class="keywordtype">void</span> cancelStreamCallback();
00663
00664 <span class="comment">// This function is intended for internal use only. It must be</span>
00665 <span class="comment">// public because it is called by the internal callback handler,</span>
00666 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
00667 <span class="comment">// will most likely produce highly undesireable results!</span>
00668 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">long</span> bufferIndex );
00669
00670 <span class="keyword">private</span>:
00671
00672 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00673 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00674 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00675 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00676 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00677 };
00678
00679 <span class="preprocessor">#endif</span>
00680 <span class="preprocessor"></span>
00681 <span class="preprocessor">#if defined(__IRIX_AL__)</span>
00682 <span class="preprocessor"></span>
00683 <span class="keyword">class </span>RtApiAl: <span class="keyword">public</span> RtApi
00684 {
00685 <span class="keyword">public</span>:
00686
00687 RtApiAl();
00688 ~RtApiAl();
00689 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
00690 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
00691 <span class="keywordtype">void</span> tickStream();
00692 <span class="keywordtype">void</span> closeStream();
00693 <span class="keywordtype">void</span> startStream();
00694 <span class="keywordtype">void</span> stopStream();
00695 <span class="keywordtype">void</span> abortStream();
00696 <span class="keywordtype">int</span> streamWillBlock();
00697 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00698 <span class="keywordtype">void</span> cancelStreamCallback();
00699
00700 <span class="keyword">private</span>:
00701
00702 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00703 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00704 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00705 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00706 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00707 };
00708
00709 <span class="preprocessor">#endif</span>
00710 <span class="preprocessor"></span>
00711 <span class="comment">// Define the following flag to have extra information spewed to stderr.</span>
00712 <span class="comment">//#define __RTAUDIO_DEBUG__</span>
00713
00714 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,69 @@
<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.3.4 -->
<h1>RtDuplex.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00022 <span class="comment">/***************************************************/</span>
00023
00024 <span class="preprocessor">#if !defined(__RTDUPLEX_H)</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define __RTDUPLEX_H</span>
00026 <span class="preprocessor"></span>
00027 <span class="preprocessor">#include "Stk.h"</span>
00028 <span class="preprocessor">#include "RtAudio.h"</span>
00029
<a name="l00030"></a><a class="code" href="classRtDuplex.html">00030</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>
00031 {
00032 <span class="keyword">public</span>:
00034
00045 <a class="code" href="classRtDuplex.html#a0">RtDuplex</a>(<span class="keywordtype">int</span> nChannels = 1, MY_FLOAT <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);
00046
00048 <a class="code" href="classRtDuplex.html#a1">~RtDuplex</a>();
00049
00051
00054 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a2">start</a>(<span class="keywordtype">void</span>);
00055
00057
00060 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a3">stop</a>(<span class="keywordtype">void</span>);
00061
00063 MY_FLOAT <a class="code" href="classRtDuplex.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064
00066
00069 MY_FLOAT <a class="code" href="classRtDuplex.html#a5">tick</a>(<span class="keyword">const</span> MY_FLOAT sample);
00070
00072
00075 MY_FLOAT *<a class="code" href="classRtDuplex.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00076
00078 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classRtDuplex.html#a7">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00079
00081
00084 MY_FLOAT *<a class="code" href="classRtDuplex.html#a8">tickFrame</a>(MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
00085
00086 <span class="keyword">protected</span>:
00087
00088 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00089 MY_FLOAT *data_;
00090 MY_FLOAT *lastOutput_;
00091 <span class="keywordtype">int</span> bufferSize_;
00092 <span class="keywordtype">bool</span> stopped_;
00093 <span class="keywordtype">long</span> counter_;
00094 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,65 @@
<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.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
<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="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="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="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="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="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="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>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

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.3.4 -->
<h1>RtMidi.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00030 <span class="comment">/***************************************************/</span>
00031
00032 <span class="preprocessor">#if !defined(__RTMIDI_H)</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define __RTMIDI_H</span>
00034 <span class="preprocessor"></span>
00035 <span class="preprocessor">#include "Stk.h"</span>
00036
<a name="l00037"></a><a class="code" href="classRtMidi.html">00037</a> <span class="keyword">class </span><a class="code" href="classRtMidi.html">RtMidi</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="classRtMidi.html#a0">RtMidi</a>(<span class="keywordtype">int</span> device = 0);
00042
00044 <a class="code" href="classRtMidi.html#a1">~RtMidi</a>();
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classRtMidi.html#a2">printMessage</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00048
00050
00053 <span class="keywordtype">int</span> <a class="code" href="classRtMidi.html#a3">nextMessage</a>(<span class="keywordtype">void</span>);
00054
00056 <span class="keywordtype">int</span> <a class="code" href="classRtMidi.html#a4">getType</a>() <span class="keyword">const</span>;
00057
00059 <span class="keywordtype">int</span> <a class="code" href="classRtMidi.html#a5">getChannel</a>() <span class="keyword">const</span>;
00060
00062 MY_FLOAT <a class="code" href="classRtMidi.html#a6">getByteTwo</a>() <span class="keyword">const</span>;
00063
00065 MY_FLOAT <a class="code" href="classRtMidi.html#a7">getByteThree</a>() <span class="keyword">const</span>;
00066
00068 MY_FLOAT <a class="code" href="classRtMidi.html#a8">getDeltaTime</a>() <span class="keyword">const</span>;
00069
00070 <span class="keyword">protected</span>:
00071 <span class="keywordtype">int</span> messageType;
00072 <span class="keywordtype">int</span> channel;
00073 <span class="keywordtype">float</span> byteTwo;
00074 <span class="keywordtype">float</span> byteThree;
00075 MY_FLOAT deltaTime;
00076 <span class="keywordtype">int</span> readIndex;
00077
00078 };
00079
00080 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,69 @@
<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.3.4 -->
<h1>RtWvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00020 <span class="comment">/***************************************************/</span>
00021
00022 <span class="preprocessor">#if !defined(__RTWVIN_H)</span>
00023 <span class="preprocessor"></span><span class="preprocessor">#define __RTWVIN_H</span>
00024 <span class="preprocessor"></span>
00025 <span class="preprocessor">#include "Stk.h"</span>
00026 <span class="preprocessor">#include "WvIn.h"</span>
00027 <span class="preprocessor">#include "RtAudio.h"</span>
00028
<a name="l00029"></a><a class="code" href="classRtWvIn.html">00029</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>
00030 {
00031 <span class="keyword">public</span>:
00033
00044 <a class="code" href="classRtWvIn.html#a0">RtWvIn</a>(<span class="keywordtype">int</span> nChannels = 1, MY_FLOAT <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);
00045
00047 <a class="code" href="classRtWvIn.html#a1">~RtWvIn</a>();
00048
00050
00053 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a2">start</a>(<span class="keywordtype">void</span>);
00054
00056
00059 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a3">stop</a>(<span class="keywordtype">void</span>);
00060
00062 MY_FLOAT <a class="code" href="classRtWvIn.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00063
00065
00068 MY_FLOAT <a class="code" href="classRtWvIn.html#a5">tick</a>(<span class="keywordtype">void</span>);
00069
00071
00074 MY_FLOAT *<a class="code" href="classRtWvIn.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00075
00077 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classRtWvIn.html#a7">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00078
00080
00083 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classRtWvIn.html#a8">tickFrame</a>(<span class="keywordtype">void</span>);
00084
00086
00089 MY_FLOAT *<a class="code" href="classRtWvIn.html#a8">tickFrame</a>(MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00090
00091 <span class="keyword">protected</span>:
00092
00093 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00094 <span class="keywordtype">bool</span> stopped_;
00095 <span class="keywordtype">long</span> counter_;
00096
00097 };
00098
00099 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

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.3.4 -->
<h1>RtWvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span>
00020
00021 <span class="preprocessor">#if !defined(__RTWVOUT_H)</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define __RTWVOUT_H</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "WvOut.h"</span>
00025 <span class="preprocessor">#include "RtAudio.h"</span>
00026 <span class="preprocessor">#include "Thread.h"</span>
00027
<a name="l00028"></a><a class="code" href="classRtWvOut.html">00028</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>
00029 {
00030 <span class="keyword">public</span>:
00031
00033
00044 <a class="code" href="classRtWvOut.html#a0">RtWvOut</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, MY_FLOAT <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 );
00045
00047 <a class="code" href="classRtWvOut.html#a1">~RtWvOut</a>();
00048
00050
00053 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a2">start</a>(<span class="keywordtype">void</span>);
00054
00056
00059 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a3">stop</a>(<span class="keywordtype">void</span>);
00060
00062 <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>;
00063
00065 MY_FLOAT <a class="code" href="classRtWvOut.html#a5">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00066
00068
00071 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>(<span class="keyword">const</span> MY_FLOAT sample);
00072
00074
00077 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>(<span class="keyword">const</span> MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00078
00080
00083 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a8">tickFrame</a>(<span class="keyword">const</span> MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
00084
00085 <span class="keyword">protected</span>:
00086
00087 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00088 <span class="keywordtype">bool</span> stopped_;
00089 <span class="keywordtype">int</span> bufferSize_;
00090
00091 };
00092
00093 <span class="preprocessor">#endif // defined(__RTWVOUT_H)</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,103 @@
<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.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">#if !defined(__SKINI_H)</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define __SKINI_H</span>
00030 <span class="preprocessor"></span>
00031 <span class="preprocessor">#include "Stk.h"</span>
00032 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
00033
<a name="l00034"></a><a class="code" href="classSKINI.html">00034</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>
00035 {
00036 <span class="keyword">public</span>:
00038 <a class="code" href="classSKINI.html#a0">SKINI</a>();
00039
00041 <a class="code" href="classSKINI.html#a0">SKINI</a>(<span class="keywordtype">char</span> *fileName);
00042
00044 <a class="code" href="classSKINI.html#a2">~SKINI</a>();
00045
00047
00050 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a3">parseThis</a>(<span class="keywordtype">char</span>* aString);
00051
00053
00056 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a4">nextMessage</a>();
00057
00059 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a5">getType</a>() <span class="keyword">const</span>;
00060
00062 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a6">getChannel</a>() <span class="keyword">const</span>;
00063
00065 MY_FLOAT <a class="code" href="classSKINI.html#a7">getDelta</a>() <span class="keyword">const</span>;
00066
00068 MY_FLOAT <a class="code" href="classSKINI.html#a8">getByteTwo</a>() <span class="keyword">const</span>;
00069
00071 MY_FLOAT <a class="code" href="classSKINI.html#a9">getByteThree</a>() <span class="keyword">const</span>;
00072
00074 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a10">getByteTwoInt</a>() <span class="keyword">const</span>;
00075
00077 <span class="keywordtype">long</span> <a class="code" href="classSKINI.html#a11">getByteThreeInt</a>() <span class="keyword">const</span>;
00078
00080 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSKINI.html#a12">getRemainderString</a>();
00081
00083 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSKINI.html#a13">getMessageTypeString</a>();
00084
00086 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSKINI.html#a14">whatsThisType</a>(<span class="keywordtype">long</span> type);
00087
00089 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classSKINI.html#a15">whatsThisController</a>(<span class="keywordtype">long</span> number);
00090
00091 <span class="keyword">protected</span>:
00092
00093 FILE *myFile;
00094 <span class="keywordtype">long</span> messageType;
00095 <span class="keywordtype">char</span> msgTypeString[64];
00096 <span class="keywordtype">long</span> channel;
00097 MY_FLOAT deltaTime;
00098 MY_FLOAT byteTwo;
00099 MY_FLOAT byteThree;
00100 <span class="keywordtype">long</span> byteTwoInt;
00101 <span class="keywordtype">long</span> byteThreeInt;
00102 <span class="keywordtype">char</span> remainderString[1024];
00103 <span class="keywordtype">char</span> whatString[1024];
00104 };
00105
00106 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> Midi2Pitch[129] = {
00107 8.18,8.66,9.18,9.72,10.30,10.91,11.56,12.25,
00108 12.98,13.75,14.57,15.43,16.35,17.32,18.35,19.45,
00109 20.60,21.83,23.12,24.50,25.96,27.50,29.14,30.87,
00110 32.70,34.65,36.71,38.89,41.20,43.65,46.25,49.00,
00111 51.91,55.00,58.27,61.74,65.41,69.30,73.42,77.78,
00112 82.41,87.31,92.50,98.00,103.83,110.00,116.54,123.47,
00113 130.81,138.59,146.83,155.56,164.81,174.61,185.00,196.00,
00114 207.65,220.00,233.08,246.94,261.63,277.18,293.66,311.13,
00115 329.63,349.23,369.99,392.00,415.30,440.00,466.16,493.88,
00116 523.25,554.37,587.33,622.25,659.26,698.46,739.99,783.99,
00117 830.61,880.00,932.33,987.77,1046.50,1108.73,1174.66,1244.51,
00118 1318.51,1396.91,1479.98,1567.98,1661.22,1760.00,1864.66,1975.53,
00119 2093.00,2217.46,2349.32,2489.02,2637.02,2793.83,2959.96,3135.96,
00120 3322.44,3520.00,3729.31,3951.07,4186.01,4434.92,4698.64,4978.03,
00121 5274.04,5587.65,5919.91,6271.93,6644.88,7040.00,7458.62,7902.13,
00122 8372.02,8869.84,9397.27,9956.06,10548.08,11175.30,11839.82,12543.85,
00123 13289.75};
00124
00125 <span class="preprocessor">#endif</span>
00126 <span class="preprocessor"></span>
00127
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,68 @@
<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.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">#if !defined(__SAMPLER_H)</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define __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>(MY_FLOAT 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>(MY_FLOAT amplitude);
00044
00046 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classSampler.html#a7">tick</a>();
00047
00049 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a8">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value) = 0;
00050
00051 <span class="keyword">protected</span>:
00052 <a class="code" href="classADSR.html">ADSR</a> *adsr;
00053 <a class="code" href="classWvIn.html">WvIn</a> *attacks[5];
00054 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loops[5];
00055 <a class="code" href="classOnePole.html">OnePole</a> *filter;
00056 MY_FLOAT baseFrequency;
00057 MY_FLOAT attackRatios[5];
00058 MY_FLOAT loopRatios[5];
00059 MY_FLOAT attackGain;
00060 MY_FLOAT loopGain;
00061 <span class="keywordtype">int</span> whichOne;
00062
00063 };
00064
00065 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,75 @@
<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.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">#if !defined(__SAXOFONY_H)</span>
00039 <span class="preprocessor"></span><span class="preprocessor">#define __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 "ReedTabl.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
<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 <a class="code" href="classSaxofony.html#a0">Saxofony</a>(MY_FLOAT lowestFrequency);
00054
00056 <a class="code" href="classSaxofony.html#a1">~Saxofony</a>();
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a2">clear</a>();
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a3">setFrequency</a>(MY_FLOAT frequency);
00063
00065 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a4">setBlowPosition</a>(MY_FLOAT aPosition);
00066
00068 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a5">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
00069
00071 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a6">stopBlowing</a>(MY_FLOAT rate);
00072
00074 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a7">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00075
00077 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a8">noteOff</a>(MY_FLOAT amplitude);
00078
00080 MY_FLOAT <a class="code" href="classSaxofony.html#a9">tick</a>();
00081
00083 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00084
00085 <span class="keyword">protected</span>:
00086 <a class="code" href="classDelayL.html">DelayL</a> *delays[2];
00087 <a class="code" href="classReedTabl.html">ReedTabl</a> *reedTable;
00088 <a class="code" href="classOneZero.html">OneZero</a> *filter;
00089 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
00090 <a class="code" href="classNoise.html">Noise</a> *noise;
00091 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato;
00092 <span class="keywordtype">long</span> length;
00093 MY_FLOAT outputGain;
00094 MY_FLOAT noiseGain;
00095 MY_FLOAT vibratoGain;
00096 MY_FLOAT position;
00097
00098 };
00099
00100 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,88 @@
<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.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">#if !defined(__SHAKERS_H)</span>
00056 <span class="preprocessor"></span><span class="preprocessor">#define __SHAKERS_H</span>
00057 <span class="preprocessor"></span>
00058 <span class="preprocessor">#include "Instrmnt.h"</span>
00059
00060 <span class="preprocessor">#define MAX_FREQS 8</span>
00061 <span class="preprocessor"></span><span class="preprocessor">#define NUM_INSTR 24</span>
00062 <span class="preprocessor"></span>
<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="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a2">noteOn</a>(MY_FLOAT instrument, MY_FLOAT amplitude);
00078
00080 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a3">noteOff</a>(MY_FLOAT amplitude);
00081
00083 MY_FLOAT <a class="code" href="classShakers.html#a4">tick</a>();
00084
00086 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a5">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00087
00088 <span class="keyword">protected</span>:
00089
00090 <span class="keywordtype">int</span> setupName(<span class="keywordtype">char</span>* instr);
00091 <span class="keywordtype">int</span> setupNum(<span class="keywordtype">int</span> inst);
00092 <span class="keywordtype">int</span> setFreqAndReson(<span class="keywordtype">int</span> which, MY_FLOAT freq, MY_FLOAT reson);
00093 <span class="keywordtype">void</span> setDecays(MY_FLOAT sndDecay, MY_FLOAT sysDecay);
00094 <span class="keywordtype">void</span> setFinalZs(MY_FLOAT z0, MY_FLOAT z1, MY_FLOAT z2);
00095 MY_FLOAT wuter_tick();
00096 MY_FLOAT tbamb_tick();
00097 MY_FLOAT ratchet_tick();
00098
00099 <span class="keywordtype">int</span> instType;
00100 <span class="keywordtype">int</span> ratchetPos, lastRatchetPos;
00101 MY_FLOAT shakeEnergy;
00102 MY_FLOAT inputs[MAX_FREQS];
00103 MY_FLOAT outputs[MAX_FREQS][2];
00104 MY_FLOAT coeffs[MAX_FREQS][2];
00105 MY_FLOAT sndLevel;
00106 MY_FLOAT baseGain;
00107 MY_FLOAT gains[MAX_FREQS];
00108 <span class="keywordtype">int</span> nFreqs;
00109 MY_FLOAT t_center_freqs[MAX_FREQS];
00110 MY_FLOAT center_freqs[MAX_FREQS];
00111 MY_FLOAT resons[MAX_FREQS];
00112 MY_FLOAT freq_rand[MAX_FREQS];
00113 <span class="keywordtype">int</span> freqalloc[MAX_FREQS];
00114 MY_FLOAT soundDecay;
00115 MY_FLOAT systemDecay;
00116 MY_FLOAT nObjects;
00117 MY_FLOAT collLikely;
00118 MY_FLOAT totalEnergy;
00119 MY_FLOAT ratchet,ratchetDelta;
00120 MY_FLOAT finalZ[3];
00121 MY_FLOAT finalZCoeffs[3];
00122 MY_FLOAT defObjs[NUM_INSTR];
00123 MY_FLOAT defDecays[NUM_INSTR];
00124 MY_FLOAT decayScale[NUM_INSTR];
00125
00126 };
00127
00128 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,68 @@
<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.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">#if !defined(__SIMPLE_H)</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define __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
<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 <a class="code" href="classSimple.html#a0">Simple</a>();
00035
00037 <span class="keyword">virtual</span> <a class="code" href="classSimple.html#a1">~Simple</a>();
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a2">clear</a>();
00041
00043 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a3">setFrequency</a>(MY_FLOAT frequency);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a4">keyOn</a>();
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a5">keyOff</a>();
00050
00052 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a6">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00053
00055 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a7">noteOff</a>(MY_FLOAT amplitude);
00056
00058 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classSimple.html#a8">tick</a>();
00059
00061 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00062
00063 <span class="keyword">protected</span>:
00064 <a class="code" href="classADSR.html">ADSR</a> *adsr;
00065 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loop;
00066 <a class="code" href="classOnePole.html">OnePole</a> *filter;
00067 <a class="code" href="classBiQuad.html">BiQuad</a> *biquad;
00068 <a class="code" href="classNoise.html">Noise</a> *noise;
00069 MY_FLOAT baseFrequency;
00070 MY_FLOAT loopGain;
00071
00072 };
00073
00074 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,79 @@
<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.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">#if !defined(__SINGWAVE_H)</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define __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
<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="classStk.html">Stk</a>
00024 {
00025 <span class="keyword">public</span>:
00027
00031 <a class="code" href="classSingWave.html#a0">SingWave</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">bool</span> raw=FALSE);
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>(MY_FLOAT peak);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a5">setFrequency</a>(MY_FLOAT frequency);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a6">setVibratoRate</a>(MY_FLOAT aRate);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a7">setVibratoGain</a>(MY_FLOAT gain);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a8">setRandomGain</a>(MY_FLOAT gain);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a9">setSweepRate</a>(MY_FLOAT aRate);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a10">setGainRate</a>(MY_FLOAT aRate);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a11">setGainTarget</a>(MY_FLOAT 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 MY_FLOAT <a class="code" href="classSingWave.html#a14">lastOut</a>();
00074
00076 MY_FLOAT <a class="code" href="classSingWave.html#a15">tick</a>();
00077
00078 <span class="keyword">protected</span>:
00079
00080 <a class="code" href="classWaveLoop.html">WaveLoop</a> *wave;
00081 <a class="code" href="classModulate.html">Modulate</a> *modulator;
00082 <a class="code" href="classEnvelope.html">Envelope</a> *envelope;
00083 <a class="code" href="classEnvelope.html">Envelope</a> *pitchEnvelope;
00084 MY_FLOAT rate;
00085 MY_FLOAT sweepRate;
00086 MY_FLOAT lastOutput;
00087
00088 };
00089
00090 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,66 @@
<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.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">#if !defined(__SITAR_H)</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define __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
<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>(MY_FLOAT lowestFrequency);
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>(MY_FLOAT frequency);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a4">pluck</a>(MY_FLOAT amplitude);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a5">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a6">noteOff</a>(MY_FLOAT amplitude);
00052
00054 MY_FLOAT <a class="code" href="classSitar.html#a7">tick</a>();
00055
00056 <span class="keyword">protected</span>:
00057 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
00058 <a class="code" href="classOneZero.html">OneZero</a> *loopFilter;
00059 <a class="code" href="classNoise.html">Noise</a> *noise;
00060 <a class="code" href="classADSR.html">ADSR</a> *envelope;
00061 <span class="keywordtype">long</span> length;
00062 MY_FLOAT loopGain;
00063 MY_FLOAT amGain;
00064 MY_FLOAT delay;
00065 MY_FLOAT targetDelay;
00066
00067 };
00068
00069 <span class="preprocessor">#endif</span>
00070 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,75 @@
<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.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">#if !defined(__SOCKET_H)</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define __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">socket</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">char</span> msg[256];
00097 <span class="keywordtype">int</span> soket;
00098 <span class="keywordtype">int</span> poort;
00099 <span class="keywordtype">bool</span> server;
00100
00101 };
00102
00103 <span class="preprocessor">#endif // defined(__SOCKET_H)</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,68 @@
<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.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">#if !defined(__SPHERE_H)</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define __SPHERE_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Vector3D.h"</span>
00016
<a name="l00017"></a><a class="code" href="classSphere.html">00017</a> <span class="keyword">class </span><a class="code" href="classSphere.html">Sphere</a>
00018 {
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classSphere.html#a0">Sphere</a>(<span class="keywordtype">double</span> initRadius);
00022
00024 <a class="code" href="classSphere.html#a1">~Sphere</a>();
00025
00027 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a2">setPosition</a>(<span class="keywordtype">double</span> anX, <span class="keywordtype">double</span> aY, <span class="keywordtype">double</span> aZ);
00028
00030 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a3">setVelocity</a>(<span class="keywordtype">double</span> anX, <span class="keywordtype">double</span> aY, <span class="keywordtype">double</span> aZ);
00031
00033 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a4">setRadius</a>(<span class="keywordtype">double</span> aRadius);
00034
00036 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a5">setMass</a>(<span class="keywordtype">double</span> aMass);
00037
00039 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a6">getPosition</a>();
00040
00042 <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> *aPosition);
00043
00045 <span class="keywordtype">double</span> <a class="code" href="classSphere.html#a8">getVelocity</a>(<a class="code" href="classVector3D.html">Vector3D</a>* aVelocity);
00046
00048 <span class="keywordtype">double</span> <a class="code" href="classSphere.html#a9">isInside</a>(<a class="code" href="classVector3D.html">Vector3D</a> *aPosition);
00049
00051 <span class="keywordtype">double</span> <a class="code" href="classSphere.html#a10">getRadius</a>();
00052
00054 <span class="keywordtype">double</span> <a class="code" href="classSphere.html#a11">getMass</a>();
00055
00057 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a12">addVelocity</a>(<span class="keywordtype">double</span> anX, <span class="keywordtype">double</span> aY, <span class="keywordtype">double</span> aZ);
00058
00060 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a13">tick</a>(<span class="keywordtype">double</span> timeIncrement);
00061
00062 <span class="keyword">private</span>:
00063 <a class="code" href="classVector3D.html">Vector3D</a> *myPosition;
00064 <a class="code" href="classVector3D.html">Vector3D</a> *myVelocity;
00065 <a class="code" href="classVector3D.html">Vector3D</a> workingVector;
00066 <span class="keywordtype">double</span> myRadius;
00067 <span class="keywordtype">double</span> myMass;
00068 };
00069
00070 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,79 @@
<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.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">#if !defined(__StifKarp_h)</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define __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
<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>(MY_FLOAT 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>(MY_FLOAT frequency);
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a4">setStretch</a>(MY_FLOAT stretch);
00051
00053 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a5">setPickupPosition</a>(MY_FLOAT position);
00054
00056
00061 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a6">setBaseLoopGain</a>(MY_FLOAT aGain);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a7">pluck</a>(MY_FLOAT amplitude);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a8">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00068
00070 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a9">noteOff</a>(MY_FLOAT amplitude);
00071
00073 MY_FLOAT <a class="code" href="classStifKarp.html#a10">tick</a>();
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00077
00078 <span class="keyword">protected</span>:
00079 <a class="code" href="classDelayA.html">DelayA</a> *delayLine;
00080 <a class="code" href="classDelayL.html">DelayL</a> *combDelay;
00081 <a class="code" href="classOneZero.html">OneZero</a> *filter;
00082 <a class="code" href="classNoise.html">Noise</a> *noise;
00083 <a class="code" href="classBiQuad.html">BiQuad</a> *biQuad[4];
00084 <span class="keywordtype">long</span> length;
00085 MY_FLOAT loopGain;
00086 MY_FLOAT baseLoopGain;
00087 MY_FLOAT lastFrequency;
00088 MY_FLOAT lastLength;
00089 MY_FLOAT stretching;
00090 MY_FLOAT pluckAmplitude;
00091 MY_FLOAT pickupPosition;
00092
00093 };
00094
00095 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

176
doc/html/Stk_8h-source.html Normal file
View File

@@ -0,0 +1,176 @@
<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.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">#if !defined(__STK_H)</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __STK_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include &lt;string&gt;</span>
00019
00020 <span class="comment">// Most data in STK is passed and calculated with the</span>
00021 <span class="comment">// following user-definable floating-point type. You</span>
00022 <span class="comment">// can change this to "float" if you prefer or perhaps</span>
00023 <span class="comment">// a "long double" in the future.</span>
00024 <span class="keyword">typedef</span> <span class="keywordtype">double</span> MY_FLOAT;
00025
00026 <span class="comment">// The "MY_FLOAT" type will be deprecated in STK</span>
00027 <span class="comment">// versions higher than 4.1.2 and replaced with the variable</span>
00028 <span class="comment">// "StkFloat".</span>
00029 <span class="comment">//typedef double StkFloat;</span>
00030 <span class="comment">//#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span>
00031 <span class="comment">// #pragma deprecated(MY_FLOAT)</span>
00032 <span class="comment">//#else</span>
00033 <span class="comment">// typedef StkFloat MY_FLOAT __attribute__ ((deprecated));</span>
00034 <span class="comment">//#endif</span>
00035
00037
<a name="l00042"></a><a class="code" href="classStkError.html">00042</a> <span class="keyword">class </span><a class="code" href="classStkError.html">StkError</a>
00043 {
00044 <span class="keyword">public</span>:
00045 <span class="keyword">enum</span> TYPE {
00046 WARNING,
00047 DEBUG_WARNING,
00048 FUNCTION_ARGUMENT,
00049 FILE_NOT_FOUND,
00050 FILE_UNKNOWN_FORMAT,
00051 FILE_ERROR,
00052 PROCESS_THREAD,
00053 PROCESS_SOCKET,
00054 PROCESS_SOCKET_IPADDR,
00055 AUDIO_SYSTEM,
00056 MIDI_SYSTEM,
00057 UNSPECIFIED
00058 };
00059
00060 <span class="keyword">protected</span>:
00061 <span class="keywordtype">char</span> message[256];
00062 TYPE type;
00063
00064 <span class="keyword">public</span>:
00066 <a class="code" href="classStkError.html#a0">StkError</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *p, TYPE tipe = StkError::UNSPECIFIED);
00067
00069 <span class="keyword">virtual</span> <a class="code" href="classStkError.html#a1">~StkError</a>(<span class="keywordtype">void</span>);
00070
00072 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classStkError.html#a2">printMessage</a>(<span class="keywordtype">void</span>);
00073
<a name="l00075"></a><a class="code" href="classStkError.html#a3">00075</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; }
00076
<a name="l00078"></a><a class="code" href="classStkError.html#a4">00078</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classStkError.html#a4">getMessage</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> message; }
00079 };
00080
00081
<a name="l00082"></a><a class="code" href="classStk.html">00082</a> <span class="keyword">class </span><a class="code" href="classStk.html">Stk</a>
00083 {
00084 <span class="keyword">public</span>:
00085
00086 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> STK_FORMAT;
<a name="l00087"></a><a class="code" href="classStk.html#s0">00087</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s0">STK_SINT8</a>;
<a name="l00088"></a><a class="code" href="classStk.html#s1">00088</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s1">STK_SINT16</a>;
<a name="l00089"></a><a class="code" href="classStk.html#s2">00089</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s2">STK_SINT32</a>;
<a name="l00090"></a><a class="code" href="classStk.html#s3">00090</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s3">MY_FLOAT32</a>;
<a name="l00091"></a><a class="code" href="classStk.html#s4">00091</a> <span class="keyword">static</span> <span class="keyword">const</span> STK_FORMAT <a class="code" href="classStk.html#s4">MY_FLOAT64</a>;
00093
00094 <span class="keyword">static</span> MY_FLOAT <a class="code" href="classStk.html#e0">sampleRate</a>(<span class="keywordtype">void</span>);
00095
00097
00105 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e1">setSampleRate</a>(MY_FLOAT newRate);
00106
00108 <span class="keyword">static</span> std::string <a class="code" href="classStk.html#e2">rawwavePath</a>(<span class="keywordtype">void</span>);
00109
00111 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e3">setRawwavePath</a>(std::string newPath);
00112
00114 <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);
00115
00117 <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);
00118
00120 <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);
00121
00123 <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);
00124
00125 <span class="keyword">private</span>:
00126 <span class="keyword">static</span> MY_FLOAT srate;
00127 <span class="keyword">static</span> std::string rawwavepath;
00128
00129 <span class="keyword">protected</span>:
00130
00132 <a class="code" href="classStk.html#b0">Stk</a>(<span class="keywordtype">void</span>);
00133
00135 <span class="keyword">virtual</span> <a class="code" href="classStk.html#b1">~Stk</a>(<span class="keywordtype">void</span>);
00136
00138 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#f0">handleError</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *message, StkError::TYPE type );
00139
00140 };
00141
00142 <span class="comment">// Here are a few other useful typedefs.</span>
00143 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> SINT16;
00144 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> SINT32;
00145 <span class="keyword">typedef</span> <span class="keywordtype">float</span> FLOAT32;
00146 <span class="keyword">typedef</span> <span class="keywordtype">double</span> FLOAT64;
00147
00148 <span class="comment">// Boolean values</span>
00149 <span class="preprocessor">#define FALSE 0</span>
00150 <span class="preprocessor"></span><span class="preprocessor">#define TRUE 1</span>
00151 <span class="preprocessor"></span>
00152 <span class="comment">// The default sampling rate.</span>
00153 <span class="preprocessor">#define SRATE (MY_FLOAT) 44100.0</span>
00154 <span class="preprocessor"></span>
00155 <span class="comment">// The default real-time audio input and output buffer size. If</span>
00156 <span class="comment">// clicks are occuring in the input and/or output sound stream, a</span>
00157 <span class="comment">// larger buffer size may help. Larger buffer sizes, however, produce</span>
00158 <span class="comment">// more latency.</span>
00159 <span class="preprocessor">#define RT_BUFFER_SIZE 512</span>
00160 <span class="preprocessor"></span>
00161 <span class="comment">// The default rawwave path value is set with the preprocessor</span>
00162 <span class="comment">// definition RAWWAVE_PATH. This can be specified as an argument to</span>
00163 <span class="comment">// the configure script, in an integrated development environment, or</span>
00164 <span class="comment">// below. The global STK rawwave path variable can be dynamically set</span>
00165 <span class="comment">// with the Stk::setRawwavePath() function. This value is</span>
00166 <span class="comment">// concatenated to the beginning of all references to rawwave files in</span>
00167 <span class="comment">// the various STK core classes (ex. Clarinet.cpp). If you wish to</span>
00168 <span class="comment">// move the rawwaves directory to a different location in your file</span>
00169 <span class="comment">// system, you will need to set this path definition appropriately.</span>
00170 <span class="preprocessor">#if !defined(RAWWAVE_PATH)</span>
00171 <span class="preprocessor"></span><span class="preprocessor"> #define RAWWAVE_PATH "../../rawwaves/"</span>
00172 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00173 <span class="preprocessor"></span>
00174 <span class="preprocessor">#define PI (MY_FLOAT) 3.14159265359</span>
00175 <span class="preprocessor"></span><span class="preprocessor">#define TWO_PI (MY_FLOAT) (MY_FLOAT) (2 * PI)</span>
00176 <span class="preprocessor"></span>
00177 <span class="preprocessor">#define ONE_OVER_128 (MY_FLOAT) 0.0078125</span>
00178 <span class="preprocessor"></span>
00179 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span>
00180 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_WINDOWS__</span>
00181 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00182 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__LINUX_OSS__) || defined(__LINUX_ALSA__) || defined(__LINUX_JACK__)</span>
00183 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_LINUX__</span>
00184 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00185 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__IRIX_AL__)</span>
00186 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_IRIX__</span>
00187 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00188 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__MACOSX_CORE__)</span>
00189 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_MACOSX__</span>
00190 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00191 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00192 <span class="preprocessor"></span>
00193 <span class="comment">//#define _STK_DEBUG_</span>
00194
00195 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,49 @@
<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.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">#if !defined(__SUBNOISE_H)</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define __SUBNOISE_H</span>
00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Noise.h"</span>
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 MY_FLOAT <a class="code" href="classSubNoise.html#a4">tick</a>();
00036
00037 <span class="keyword">protected</span>:
00038 <span class="keywordtype">int</span> counter;
00039 <span class="keywordtype">int</span> rate;
00040
00041 };
00042
00043 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,52 @@
<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.3.4 -->
<h1>Table.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00015 <span class="comment">/***************************************************/</span>
00016
00017 <span class="preprocessor">#if !defined(__TABLE_H)</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define __TABLE_H</span>
00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#include "Stk.h"</span>
00021
<a name="l00022"></a><a class="code" href="classTable.html">00022</a> <span class="keyword">class </span><a class="code" href="classTable.html">Table</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00023 {
00024 <span class="keyword">public</span>:
00026 <a class="code" href="classTable.html#a0">Table</a>(<span class="keywordtype">char</span> *fileName);
00027
00029 <a class="code" href="classTable.html#a1">~Table</a>();
00030
00032 <span class="keywordtype">long</span> <a class="code" href="classTable.html#a2">getLength</a>() <span class="keyword">const</span>;
00033
00035 MY_FLOAT <a class="code" href="classTable.html#a3">lastOut</a>() <span class="keyword">const</span>;
00036
00038
00042 MY_FLOAT <a class="code" href="classTable.html#a4">tick</a>(MY_FLOAT index);
00043
00045 MY_FLOAT *<a class="code" href="classTable.html#a4">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00046
00047 <span class="keyword">protected</span>:
00048 <span class="keywordtype">long</span> length;
00049 MY_FLOAT *data;
00050 MY_FLOAT lastOutput;
00051
00052 };
00053
00054 <span class="preprocessor">#endif // defined(__TABLE_H)</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</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.3.4 -->
<h1>TcpWvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00027 <span class="comment">/***************************************************/</span>
00028
00029 <span class="preprocessor">#if !defined(__TCPWVIN_H)</span>
00030 <span class="preprocessor"></span><span class="preprocessor">#define __TCPWVIN_H</span>
00031 <span class="preprocessor"></span>
00032 <span class="preprocessor">#include "WvIn.h"</span>
00033 <span class="preprocessor">#include "Socket.h"</span>
00034 <span class="preprocessor">#include "Thread.h"</span>
00035
00036 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00037 <span class="keywordtype">bool</span> finished;
00038 <span class="keywordtype">void</span> *object;
00039 } thread_info;
00040
<a name="l00041"></a><a class="code" href="classTcpWvIn.html">00041</a> <span class="keyword">class </span><a class="code" href="classTcpWvIn.html">TcpWvIn</a> : <span class="keyword">protected</span> <a class="code" href="classWvIn.html">WvIn</a>
00042 {
00043 <span class="keyword">public</span>:
00045
00048 <a class="code" href="classTcpWvIn.html#a0">TcpWvIn</a>( <span class="keywordtype">int</span> port = 2006 );
00049
00051 <a class="code" href="classTcpWvIn.html#a1">~TcpWvIn</a>();
00052
00054
00057 <span class="keywordtype">void</span> <a class="code" href="classTcpWvIn.html#a2">listen</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, Stk::STK_FORMAT format = <a class="code" href="classStk.html#s1">STK_SINT16</a>);
00058
00060
00064 <span class="keywordtype">bool</span> <a class="code" href="classTcpWvIn.html#a3">isConnected</a>(<span class="keywordtype">void</span>);
00065
00067 MY_FLOAT <a class="code" href="classTcpWvIn.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00068
00070 MY_FLOAT <a class="code" href="classTcpWvIn.html#a5">tick</a>(<span class="keywordtype">void</span>);
00071
00073 MY_FLOAT *<a class="code" href="classTcpWvIn.html#a5">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00074
00076 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classTcpWvIn.html#a7">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00077
00079 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classTcpWvIn.html#a8">tickFrame</a>(<span class="keywordtype">void</span>);
00080
00082 MY_FLOAT *<a class="code" href="classTcpWvIn.html#a8">tickFrame</a>(MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00083
00084 <span class="comment">// Called by the thread routine to receive data via the socket connection</span>
00085 <span class="comment">// and fill the socket buffer. This is not intended for general use but</span>
00086 <span class="comment">// had to be made public for access from the thread.</span>
00087 <span class="keywordtype">void</span> receive(<span class="keywordtype">void</span>);
00088
00089 <span class="keyword">protected</span>:
00090
00091 <span class="comment">// Initialize class variables.</span>
00092 <span class="keywordtype">void</span> init( <span class="keywordtype">int</span> port );
00093
00094 <span class="comment">// Read buffered socket data into the data buffer ... will block if none available.</span>
00095 <span class="keywordtype">int</span> readData( <span class="keywordtype">void</span> );
00096
00097 <a class="code" href="classSocket.html">Socket</a> *soket;
00098 <a class="code" href="classThread.html">Thread</a> *thread;
00099 Mutex mutex;
00100 <span class="keywordtype">char</span> *buffer;
00101 <span class="keywordtype">long</span> bufferBytes;
00102 <span class="keywordtype">long</span> bytesFilled;
00103 <span class="keywordtype">long</span> writePoint;
00104 <span class="keywordtype">long</span> readPoint;
00105 <span class="keywordtype">long</span> counter;
00106 <span class="keywordtype">int</span> dataSize;
00107 <span class="keywordtype">bool</span> connected;
00108 <span class="keywordtype">int</span> fd;
00109 thread_info threadInfo;
00110
00111 };
00112
00113 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,69 @@
<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.3.4 -->
<h1>TcpWvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00026 <span class="comment">/***************************************************/</span>
00027
00028 <span class="preprocessor">#if !defined(__TCPWVOUT_H)</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define __TCPWVOUT_H</span>
00030 <span class="preprocessor"></span>
00031 <span class="preprocessor">#include "WvOut.h"</span>
00032 <span class="preprocessor">#include "Socket.h"</span>
00033
<a name="l00034"></a><a class="code" href="classTcpWvOut.html">00034</a> <span class="keyword">class </span><a class="code" href="classTcpWvOut.html">TcpWvOut</a> : <span class="keyword">protected</span> <a class="code" href="classWvOut.html">WvOut</a>
00035 {
00036 <span class="keyword">public</span>:
00038 <a class="code" href="classTcpWvOut.html#a0">TcpWvOut</a>();
00039
00041
00044 <a class="code" href="classTcpWvOut.html#a0">TcpWvOut</a>(<span class="keywordtype">int</span> port, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname = <span class="stringliteral">"localhost"</span>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, Stk::STK_FORMAT format = <a class="code" href="classStk.html#s1">STK_SINT16</a>);
00045
00047 <a class="code" href="classTcpWvOut.html#a2">~TcpWvOut</a>();
00048
00050
00053 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.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>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, Stk::STK_FORMAT format = <a class="code" href="classStk.html#s1">STK_SINT16</a>);
00054
00056 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a4">disconnect</a>(<span class="keywordtype">void</span>);
00057
00059 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classTcpWvOut.html#a5">getFrames</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00060
00062 MY_FLOAT <a class="code" href="classTcpWvOut.html#a6">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00063
00065
00068 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a7">tick</a>(MY_FLOAT sample);
00069
00071
00074 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a7">tick</a>(<span class="keyword">const</span> MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00075
00077
00080 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a9">tickFrame</a>(<span class="keyword">const</span> MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
00081
00082 <span class="keyword">protected</span>:
00083
00084 <span class="comment">// Write a buffer of length \e frames via the socket connection.</span>
00085 <span class="keywordtype">void</span> writeData( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frames );
00086
00087 <span class="keywordtype">char</span> msg[256];
00088 <span class="keywordtype">char</span> *buffer;
00089 <a class="code" href="classSocket.html">Socket</a> *soket;
00090 <span class="keywordtype">int</span> dataSize;
00091 };
00092
00093 <span class="preprocessor">#endif // defined(__TCPWVOUT_H)</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,88 @@
<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.3.4 -->
<h1>Thread.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00012 <span class="comment">/***************************************************/</span>
00013
00014 <span class="preprocessor">#if !defined(__THREAD_H)</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define __THREAD_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="preprocessor"> #define THREAD_TYPE</span>
00023 <span class="preprocessor"></span> <span class="keyword">typedef</span> pthread_t THREAD_HANDLE;
00024 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * THREAD_RETURN;
00025 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * (*THREAD_FUNCTION)(<span class="keywordtype">void</span> *);
00026 <span class="keyword">typedef</span> pthread_mutex_t MUTEX;
00027
00028 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span>
00029 <span class="preprocessor"></span>
00030 <span class="preprocessor"> #include &lt;windows.h&gt;</span>
00031 <span class="preprocessor"> #include &lt;process.h&gt;</span>
00032 <span class="preprocessor"> #define THREAD_TYPE __stdcall</span>
00033 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> THREAD_HANDLE;
00034 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> THREAD_RETURN;
00035 <span class="keyword">typedef</span> unsigned (__stdcall *THREAD_FUNCTION)(<span class="keywordtype">void</span> *);
00036 <span class="keyword">typedef</span> CRITICAL_SECTION MUTEX;
00037
00038 <span class="preprocessor">#endif</span>
00039 <span class="preprocessor"></span>
<a name="l00040"></a><a class="code" href="classThread.html">00040</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>
00041 {
00042 <span class="keyword">public</span>:
00044 <a class="code" href="classThread.html#a0">Thread</a>();
00045
00047 <a class="code" href="classThread.html#a1">~Thread</a>();
00048
00050
00054 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a2">start</a>( THREAD_FUNCTION routine, <span class="keywordtype">void</span> * ptr = NULL );
00055
00057
00063 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a3">wait</a>( <span class="keywordtype">long</span> milliseconds = -1 );
00064
00066 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classThread.html#e0">test</a>(<span class="keywordtype">void</span>);
00067
00068 <span class="keyword">protected</span>:
00069
00070 THREAD_HANDLE thread;
00071
00072 };
00073
00074 <span class="keyword">class </span>Mutex : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00075 {
00076 <span class="keyword">public</span>:
00078 Mutex();
00079
00081 ~Mutex();
00082
00084 <span class="keywordtype">void</span> lock(<span class="keywordtype">void</span>);
00085
00087 <span class="keywordtype">void</span> unlock(<span class="keywordtype">void</span>);
00088
00089 <span class="keyword">protected</span>:
00090
00091 MUTEX mutex;
00092
00093 };
00094
00095 <span class="preprocessor">#endif // defined(__THREAD_H)</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,41 @@
<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.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">#if !defined(__TUBEBELL_H)</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define __TUBEBELL_H</span>
00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span>
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 <a class="code" href="classTubeBell.html#a0">TubeBell</a>();
00043
00045 <a class="code" href="classTubeBell.html#a1">~TubeBell</a>();
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classTubeBell.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00049
00051 MY_FLOAT <a class="code" href="classTubeBell.html#a3">tick</a>();
00052 };
00053
00054 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,60 @@
<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.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">#if !defined(__TWOPOLE_H)</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __TWOPOLE_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
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>(MY_FLOAT b0);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a4">setA1</a>(MY_FLOAT a1);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a5">setA2</a>(MY_FLOAT a2);
00041
00043
00056 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a6">setResonance</a>(MY_FLOAT frequency, MY_FLOAT radius, <span class="keywordtype">bool</span> normalize = FALSE);
00057
00059
00063 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a7">setGain</a>(MY_FLOAT theGain);
00064
00066 MY_FLOAT <a class="code" href="classTwoPole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00067
00069 MY_FLOAT <a class="code" href="classTwoPole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00070
00072 MY_FLOAT <a class="code" href="classTwoPole.html#a10">tick</a>(MY_FLOAT sample);
00073
00075 MY_FLOAT *<a class="code" href="classTwoPole.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00076 };
00077
00078 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

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.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">#if !defined(__TWOZERO_H)</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define __TWOZERO_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
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>(MY_FLOAT b0);
00034
00036 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a4">setB1</a>(MY_FLOAT b1);
00037
00039 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a5">setB2</a>(MY_FLOAT b2);
00040
00042
00052 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a6">setNotch</a>(MY_FLOAT frequency, MY_FLOAT radius);
00053
00055
00059 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a7">setGain</a>(MY_FLOAT theGain);
00060
00062 MY_FLOAT <a class="code" href="classTwoZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00063
00065 MY_FLOAT <a class="code" href="classTwoZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00066
00068 MY_FLOAT <a class="code" href="classTwoZero.html#a10">tick</a>(MY_FLOAT sample);
00069
00071 MY_FLOAT *<a class="code" href="classTwoZero.html#a10">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00072 };
00073
00074 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,56 @@
<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.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">#if !defined(__VECTOR3D_H)</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define __VECTOR3D_H</span>
00013 <span class="preprocessor"></span>
<a name="l00014"></a><a class="code" href="classVector3D.html">00014</a> <span class="keyword">class </span><a class="code" href="classVector3D.html">Vector3D</a> {
00015
00016 <span class="keyword">public</span>:
00018 <a class="code" href="classVector3D.html#a0">Vector3D</a>(<span class="keywordtype">double</span> initX=0.0, <span class="keywordtype">double</span> initY=0.0, <span class="keywordtype">double</span> initZ=0.0);
00019
00021 <a class="code" href="classVector3D.html#a1">~Vector3D</a>();
00022
00024 <span class="keywordtype">double</span> <a class="code" href="classVector3D.html#a2">getX</a>();
00025
00027 <span class="keywordtype">double</span> <a class="code" href="classVector3D.html#a3">getY</a>();
00028
00030 <span class="keywordtype">double</span> <a class="code" href="classVector3D.html#a4">getZ</a>();
00031
00033 <span class="keywordtype">double</span> <a class="code" href="classVector3D.html#a5">getLength</a>();
00034
00036 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a6">setXYZ</a>(<span class="keywordtype">double</span> anX, <span class="keywordtype">double</span> aY, <span class="keywordtype">double</span> aZ);
00037
00039 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a7">setX</a>(<span class="keywordtype">double</span> aval);
00040
00042 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a8">setY</a>(<span class="keywordtype">double</span> aval);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a9">setZ</a>(<span class="keywordtype">double</span> aval);
00046
00047 <span class="keyword">protected</span>:
00048 <span class="keywordtype">double</span> myX;
00049 <span class="keywordtype">double</span> myY;
00050 <span class="keywordtype">double</span> myZ;
00051 };
00052
00053 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,78 @@
<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.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">#if !defined(__VOICFORM_H)</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define __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
<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 <a class="code" href="classVoicForm.html#a0">VoicForm</a>();
00044
00046 <a class="code" href="classVoicForm.html#a1">~VoicForm</a>();
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a2">clear</a>();
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a3">setFrequency</a>(MY_FLOAT frequency);
00053
00055 <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);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a5">setVoiced</a>(MY_FLOAT vGain);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a6">setUnVoiced</a>(MY_FLOAT nGain);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a7">setFilterSweepRate</a>(<span class="keywordtype">int</span> whichOne, MY_FLOAT rate);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a8">setPitchSweepRate</a>(MY_FLOAT rate);
00068
00070 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a9">speak</a>();
00071
00073 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a10">quiet</a>();
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a11">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00077
00079 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a12">noteOff</a>(MY_FLOAT amplitude);
00080
00082 MY_FLOAT <a class="code" href="classVoicForm.html#a13">tick</a>();
00083
00085 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a14">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00086
00087 <span class="keyword">protected</span>:
00088 <a class="code" href="classSingWave.html">SingWave</a> *voiced;
00089 <a class="code" href="classNoise.html">Noise</a> *noise;
00090 <a class="code" href="classEnvelope.html">Envelope</a> *noiseEnv;
00091 <a class="code" href="classFormSwep.html">FormSwep</a> *filters[4];
00092 <a class="code" href="classOnePole.html">OnePole</a> *onepole;
00093 <a class="code" href="classOneZero.html">OneZero</a> *onezero;
00094
00095 };
00096
00097 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</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.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">#if !defined(__VOICER_H)</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define __VOICER_H</span>
00034 <span class="preprocessor"></span>
00035 <span class="preprocessor">#include "Stk.h"</span>
00036 <span class="preprocessor">#include "Instrmnt.h"</span>
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>( <span class="keywordtype">int</span> maxInstruments, MY_FLOAT 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>( MY_FLOAT noteNumber, MY_FLOAT 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>( MY_FLOAT noteNumber, MY_FLOAT 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, MY_FLOAT amplitude );
00084
00086
00089 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a7">setFrequency</a>( MY_FLOAT 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, MY_FLOAT noteNumber );
00096
00098 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a9">pitchBend</a>( MY_FLOAT 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, MY_FLOAT value );
00102
00104 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a11">controlChange</a>( <span class="keywordtype">int</span> number, MY_FLOAT 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, MY_FLOAT value );
00108
00110 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a13">silence</a>( <span class="keywordtype">void</span> );
00111
00113 MY_FLOAT <a class="code" href="classVoicer.html#a14">tick</a>();
00114
00116 MY_FLOAT *<a class="code" href="classVoicer.html#a14">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00117
00119 MY_FLOAT <a class="code" href="classVoicer.html#a16">lastOut</a>() <span class="keyword">const</span>;
00120
00122 MY_FLOAT <a class="code" href="classVoicer.html#a17">lastOutLeft</a>() <span class="keyword">const</span>;
00123
00125 MY_FLOAT <a class="code" href="classVoicer.html#a18">lastOutRight</a>() <span class="keyword">const</span>;
00126
00127 <span class="keyword">protected</span>:
00128
00129 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00130 <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument;
00131 <span class="keywordtype">long</span> tag;
00132 MY_FLOAT noteNumber;
00133 MY_FLOAT frequency;
00134 <span class="keywordtype">int</span> sounding;
00135 <span class="keywordtype">int</span> channel;
00136 } Voice;
00137
00138 <span class="keywordtype">int</span> nVoices;
00139 <span class="keywordtype">int</span> maxVoices;
00140 Voice *voices;
00141 <span class="keywordtype">long</span> tags;
00142 <span class="keywordtype">int</span> muteTime;
00143 MY_FLOAT lastOutput;
00144 MY_FLOAT lastOutputLeft;
00145 MY_FLOAT lastOutputRight;
00146 };
00147
00148 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

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.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">#if !defined(__WAVELOOP_H)</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define __WAVELOOP_H</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "WvIn.h"</span>
00025 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
00026
<a name="l00027"></a><a class="code" href="classWaveLoop.html">00027</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>
00028 {
00029 <span class="keyword">public</span>:
00031 <a class="code" href="classWaveLoop.html#a0">WaveLoop</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">bool</span> raw = FALSE );
00032
00034 <span class="keyword">virtual</span> <a class="code" href="classWaveLoop.html#a1">~WaveLoop</a>();
00035
00037
00043 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a2">setFrequency</a>(MY_FLOAT aFrequency);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a3">addTime</a>(MY_FLOAT aTime);
00047
00049
00054 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a4">addPhase</a>(MY_FLOAT anAngle);
00055
00057
00062 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a5">addPhaseOffset</a>(MY_FLOAT anAngle);
00063
00065 <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classWaveLoop.html#a6">tickFrame</a>(<span class="keywordtype">void</span>);
00066
00067 <span class="keyword">protected</span>:
00068
00069 <span class="comment">// Read file data.</span>
00070 <span class="keywordtype">void</span> readData(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> index);
00071
00072 MY_FLOAT phaseOffset;
00073
00074 };
00075
00076 <span class="preprocessor">#endif // defined(__WAVELOOP_H)</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,80 @@
<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.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">#if !defined(__WHISTLE_H)</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define __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
<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 <a class="code" href="classWhistle.html#a0">Whistle</a>();
00035
00037 <a class="code" href="classWhistle.html#a1">~Whistle</a>();
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a2">clear</a>();
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a3">setFrequency</a>(MY_FLOAT frequency);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a4">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a5">stopBlowing</a>(MY_FLOAT rate);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a6">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a7">noteOff</a>(MY_FLOAT amplitude);
00056
00058 MY_FLOAT <a class="code" href="classWhistle.html#a8">tick</a>();
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, MY_FLOAT value);
00062
00063 <span class="keyword">protected</span>:
00064 <a class="code" href="classVector3D.html">Vector3D</a> *tempVectorP;
00065 <a class="code" href="classVector3D.html">Vector3D</a> *tempVector;
00066 <a class="code" href="classOnePole.html">OnePole</a> onepole;
00067 <a class="code" href="classNoise.html">Noise</a> noise;
00068 <a class="code" href="classEnvelope.html">Envelope</a> envelope;
00069 <a class="code" href="classSphere.html">Sphere</a> *can; <span class="comment">// Declare a Spherical "can".</span>
00070 <a class="code" href="classSphere.html">Sphere</a> *pea, *bumper; <span class="comment">// One spherical "pea", and a spherical "bumper".</span>
00071
00072 <a class="code" href="classWaveLoop.html">WaveLoop</a> *sine;
00073
00074 MY_FLOAT baseFrequency;
00075 MY_FLOAT maxPressure;
00076 MY_FLOAT noiseGain;
00077 MY_FLOAT fippleFreqMod;
00078 MY_FLOAT fippleGainMod;
00079 MY_FLOAT blowFreqMod;
00080 MY_FLOAT tickSize;
00081 MY_FLOAT canLoss;
00082 <span class="keywordtype">int</span> subSample, subSampCount;
00083 };
00084
00085 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,43 @@
<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.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">#if !defined(__WURLEY_H)</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define __WURLEY_H</span>
00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span>
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 <a class="code" href="classWurley.html#a0">Wurley</a>();
00043
00045 <a class="code" href="classWurley.html#a1">~Wurley</a>();
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a2">setFrequency</a>(MY_FLOAT frequency);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a3">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude);
00052
00054 MY_FLOAT <a class="code" href="classWurley.html#a4">tick</a>();
00055 };
00056
00057 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,136 @@
<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.3.4 -->
<h1>WvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00037 <span class="comment">/***************************************************/</span>
00038
00039 <span class="preprocessor">#if !defined(__WVIN_H)</span>
00040 <span class="preprocessor"></span><span class="preprocessor">#define __WVIN_H</span>
00041 <span class="preprocessor"></span>
00042 <span class="comment">// Files larger than CHUNK_THRESHOLD will be copied into memory</span>
00043 <span class="comment">// in CHUNK_SIZE increments, rather than completely loaded into</span>
00044 <span class="comment">// a buffer at once.</span>
00045
00046 <span class="preprocessor">#define CHUNK_THRESHOLD 5000000 // 5 Mb</span>
00047 <span class="preprocessor"></span><span class="preprocessor">#define CHUNK_SIZE 1024 // sample frames</span>
00048 <span class="preprocessor"></span>
00049 <span class="preprocessor">#include "Stk.h"</span>
00050 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
00051
<a name="l00052"></a><a class="code" href="classWvIn.html">00052</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>
00053 {
00054 <span class="keyword">public</span>:
00056 <a class="code" href="classWvIn.html#a0">WvIn</a>();
00057
00059
00063 <a class="code" href="classWvIn.html#a0">WvIn</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">bool</span> raw = FALSE, <span class="keywordtype">bool</span> doNormalize = TRUE );
00064
00066 <span class="keyword">virtual</span> <a class="code" href="classWvIn.html#a2">~WvIn</a>();
00067
00069
00073 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a3">openFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">bool</span> raw = FALSE, <span class="keywordtype">bool</span> doNormalize = TRUE );
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a4">closeFile</a>(<span class="keywordtype">void</span>);
00077
00079 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a5">reset</a>(<span class="keywordtype">void</span>);
00080
00082
00088 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a6">normalize</a>(<span class="keywordtype">void</span>);
00089
00091
00097 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a6">normalize</a>(MY_FLOAT peak);
00098
00100 <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>;
00101
00103 <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>;
00104
00106
00111 MY_FLOAT <a class="code" href="classWvIn.html#a10">getFileRate</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00112
00114 <span class="keywordtype">bool</span> <a class="code" href="classWvIn.html#a11">isFinished</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00115
00117
00120 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a12">setRate</a>(MY_FLOAT aRate);
00121
00123 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a13">addTime</a>(MY_FLOAT aTime);
00124
00126
00132 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a14">setInterpolate</a>(<span class="keywordtype">bool</span> doInterpolate);
00133
00135 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classWvIn.html#a15">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00136
00138
00141 <span class="keyword">virtual</span> MY_FLOAT <a class="code" href="classWvIn.html#a16">tick</a>(<span class="keywordtype">void</span>);
00142
00144
00147 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classWvIn.html#a16">tick</a>(MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00148
00150 <span class="keyword">virtual</span> <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classWvIn.html#a18">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00151
00153
00156 <span class="keyword">virtual</span> <span class="keyword">const</span> MY_FLOAT *<a class="code" href="classWvIn.html#a19">tickFrame</a>(<span class="keywordtype">void</span>);
00157
00159
00162 <span class="keyword">virtual</span> MY_FLOAT *<a class="code" href="classWvIn.html#a19">tickFrame</a>(MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00163
00164 <span class="keyword">protected</span>:
00165
00166 <span class="comment">// Initialize class variables.</span>
00167 <span class="keywordtype">void</span> init( <span class="keywordtype">void</span> );
00168
00169 <span class="comment">// Read file data.</span>
00170 <span class="keyword">virtual</span> <span class="keywordtype">void</span> readData(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> index);
00171
00172 <span class="comment">// Get STK RAW file information.</span>
00173 <span class="keywordtype">bool</span> getRawInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00174
00175 <span class="comment">// Get WAV file header information.</span>
00176 <span class="keywordtype">bool</span> getWavInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00177
00178 <span class="comment">// Get SND (AU) file header information.</span>
00179 <span class="keywordtype">bool</span> getSndInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00180
00181 <span class="comment">// Get AIFF file header information.</span>
00182 <span class="keywordtype">bool</span> getAifInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00183
00184 <span class="comment">// Get MAT-file header information.</span>
00185 <span class="keywordtype">bool</span> getMatInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00186
00187 <span class="keywordtype">char</span> msg[256];
00188 FILE *fd;
00189 MY_FLOAT *data;
00190 MY_FLOAT *lastOutput;
00191 <span class="keywordtype">bool</span> chunking;
00192 <span class="keywordtype">bool</span> finished;
00193 <span class="keywordtype">bool</span> interpolate;
00194 <span class="keywordtype">bool</span> byteswap;
00195 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> fileSize;
00196 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bufferSize;
00197 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> dataOffset;
00198 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels;
00199 <span class="keywordtype">long</span> chunkPointer;
00200 STK_FORMAT dataType;
00201 MY_FLOAT fileRate;
00202 MY_FLOAT gain;
00203 MY_FLOAT time;
00204 MY_FLOAT rate;
00205 };
00206
00207 <span class="preprocessor">#endif // defined(__WVIN_H)</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,117 @@
<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.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">#if !defined(__WVOUT_H)</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#define __WVOUT_H</span>
00038 <span class="preprocessor"></span>
00039 <span class="preprocessor">#include "Stk.h"</span>
00040 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
00041
00042 <span class="preprocessor">#define BUFFER_SIZE 1024 // sample frames</span>
00043 <span class="preprocessor"></span>
<a name="l00044"></a><a class="code" href="classWvOut.html">00044</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>
00045 {
00046 <span class="keyword">public</span>:
00047
00048 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> FILE_TYPE;
00049
<a name="l00050"></a><a class="code" href="classWvOut.html#s0">00050</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="l00051"></a><a class="code" href="classWvOut.html#s1">00051</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="l00052"></a><a class="code" href="classWvOut.html#s2">00052</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="l00053"></a><a class="code" href="classWvOut.html#s3">00053</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="l00054"></a><a class="code" href="classWvOut.html#s4">00054</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s4">WVOUT_MAT</a>;
00056
00057 <a class="code" href="classWvOut.html#a0">WvOut</a>();
00058
00060
00063 <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::STK_FORMAT format = STK_SINT16 );
00064
00066 <span class="keyword">virtual</span> <a class="code" href="classWvOut.html#a2">~WvOut</a>();
00067
00069
00072 <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,
00073 WvOut::FILE_TYPE type = WVOUT_WAV, Stk::STK_FORMAT format = STK_SINT16 );
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a4">closeFile</a>( <span class="keywordtype">void</span> );
00077
00079 <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>;
00080
00082 MY_FLOAT <a class="code" href="classWvOut.html#a6">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00083
00085
00088 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a7">tick</a>(<span class="keyword">const</span> MY_FLOAT sample);
00089
00091
00094 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a7">tick</a>(<span class="keyword">const</span> MY_FLOAT *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00095
00097
00100 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a9">tickFrame</a>(<span class="keyword">const</span> MY_FLOAT *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
00101
00102 <span class="keyword">protected</span>:
00103
00104 <span class="comment">// Initialize class variables.</span>
00105 <span class="keywordtype">void</span> init( <span class="keywordtype">void</span> );
00106
00107 <span class="comment">// Write data to output file;</span>
00108 <span class="keyword">virtual</span> <span class="keywordtype">void</span> writeData( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frames );
00109
00110 <span class="comment">// Write STK RAW file header.</span>
00111 <span class="keywordtype">bool</span> setRawFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00112
00113 <span class="comment">// Write WAV file header.</span>
00114 <span class="keywordtype">bool</span> setWavFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00115
00116 <span class="comment">// Close WAV file, updating the header.</span>
00117 <span class="keywordtype">void</span> closeWavFile( <span class="keywordtype">void</span> );
00118
00119 <span class="comment">// Write SND (AU) file header.</span>
00120 <span class="keywordtype">bool</span> setSndFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00121
00122 <span class="comment">// Close SND file, updating the header.</span>
00123 <span class="keywordtype">void</span> closeSndFile( <span class="keywordtype">void</span> );
00124
00125 <span class="comment">// Write AIFF file header.</span>
00126 <span class="keywordtype">bool</span> setAifFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00127
00128 <span class="comment">// Close AIFF file, updating the header.</span>
00129 <span class="keywordtype">void</span> closeAifFile( <span class="keywordtype">void</span> );
00130
00131 <span class="comment">// Write MAT-file header.</span>
00132 <span class="keywordtype">bool</span> setMatFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00133
00134 <span class="comment">// Close MAT-file, updating the header.</span>
00135 <span class="keywordtype">void</span> closeMatFile( <span class="keywordtype">void</span> );
00136
00137 <span class="keywordtype">char</span> msg[256];
00138 FILE *fd;
00139 MY_FLOAT *data;
00140 FILE_TYPE fileType;
00141 STK_FORMAT dataType;
00142 <span class="keywordtype">bool</span> byteswap;
00143 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels;
00144 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> counter;
00145 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> totalCount;
00146
00147 };
00148
00149 <span class="preprocessor">#endif // defined(__WVOUT_H)</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

105
doc/html/annotated.html Normal file
View File

@@ -0,0 +1,105 @@
<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.3.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="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="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>
<tr><td class="indexkey"><a class="el" href="classBowTabl.html">BowTabl</a></td><td class="indexvalue">STK bowed string table class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBrass.html">Brass</a></td><td class="indexvalue">STK simple brass instrument class </td></tr>
<tr><td class="indexkey"><a class="el" href="classChorus.html">Chorus</a></td><td class="indexvalue">STK chorus effect class </td></tr>
<tr><td class="indexkey"><a class="el" href="classClarinet.html">Clarinet</a></td><td class="indexvalue">STK clarinet physical model class </td></tr>
<tr><td class="indexkey"><a class="el" href="classDelay.html">Delay</a></td><td class="indexvalue">STK non-interpolating delay line class </td></tr>
<tr><td class="indexkey"><a class="el" href="classDelayA.html">DelayA</a></td><td class="indexvalue">STK allpass interpolating delay line class </td></tr>
<tr><td class="indexkey"><a class="el" href="classDelayL.html">DelayL</a></td><td class="indexvalue">STK linear interpolating delay line class </td></tr>
<tr><td class="indexkey"><a class="el" href="classDrummer.html">Drummer</a></td><td class="indexvalue">STK drum sample player class </td></tr>
<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="classEnvelope.html">Envelope</a></td><td class="indexvalue">STK envelope base 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>
<tr><td class="indexkey"><a class="el" href="classFMVoices.html">FMVoices</a></td><td class="indexvalue">STK singing <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr>
<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="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="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="classJetTabl.html">JetTabl</a></td><td class="indexvalue">STK jet table class </td></tr>
<tr><td class="indexkey"><a class="el" href="classMandolin.html">Mandolin</a></td><td class="indexvalue">STK mandolin instrument model class </td></tr>
<tr><td class="indexkey"><a class="el" href="classMesh2D.html">Mesh2D</a></td><td class="indexvalue">Two-dimensional rectilinear waveguide mesh class </td></tr>
<tr><td class="indexkey"><a class="el" href="classMessager.html">Messager</a></td><td class="indexvalue">STK input control message parser </td></tr>
<tr><td class="indexkey"><a class="el" href="classModal.html">Modal</a></td><td class="indexvalue">STK resonance model instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classModalBar.html">ModalBar</a></td><td class="indexvalue">STK resonant bar instrument class </td></tr>
<tr><td class="indexkey"><a class="el" href="classModulate.html">Modulate</a></td><td class="indexvalue">STK periodic/random modulator </td></tr>
<tr><td class="indexkey"><a class="el" href="classMoog.html">Moog</a></td><td class="indexvalue">STK moog-like swept filter sampling synthesis class </td></tr>
<tr><td class="indexkey"><a class="el" href="classNoise.html">Noise</a></td><td class="indexvalue">STK noise generator </td></tr>
<tr><td class="indexkey"><a class="el" href="classNRev.html">NRev</a></td><td class="indexvalue">CCRMA's NRev reverberator class </td></tr>
<tr><td class="indexkey"><a class="el" href="classOnePole.html">OnePole</a></td><td class="indexvalue">STK one-pole filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classOneZero.html">OneZero</a></td><td class="indexvalue">STK one-zero filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classPercFlut.html">PercFlut</a></td><td class="indexvalue">STK percussive flute <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classPhonemes.html">Phonemes</a></td><td class="indexvalue">STK phonemes table </td></tr>
<tr><td class="indexkey"><a class="el" href="classPitShift.html">PitShift</a></td><td class="indexvalue">STK simple pitch shifter effect class </td></tr>
<tr><td class="indexkey"><a class="el" href="classPlucked.html">Plucked</a></td><td class="indexvalue">STK plucked string model class </td></tr>
<tr><td class="indexkey"><a class="el" href="classPluckTwo.html">PluckTwo</a></td><td class="indexvalue">STK enhanced plucked string model class </td></tr>
<tr><td class="indexkey"><a class="el" href="classPoleZero.html">PoleZero</a></td><td class="indexvalue">STK one-pole, one-zero filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classPRCRev.html">PRCRev</a></td><td class="indexvalue">Perry's simple reverberator class </td></tr>
<tr><td class="indexkey"><a class="el" href="classReedTabl.html">ReedTabl</a></td><td class="indexvalue">STK reed table class </td></tr>
<tr><td class="indexkey"><a class="el" href="classResonate.html">Resonate</a></td><td class="indexvalue">STK noise driven formant filter </td></tr>
<tr><td class="indexkey"><a class="el" href="classReverb.html">Reverb</a></td><td class="indexvalue">STK abstract reverberator parent class </td></tr>
<tr><td class="indexkey"><a class="el" href="classRhodey.html">Rhodey</a></td><td class="indexvalue">STK Fender Rhodes electric piano <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtAudio.html">RtAudio</a></td><td class="indexvalue">Realtime audio i/o C++ classes </td></tr>
<tr><td class="indexkey"><a class="el" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a></td><td class="indexvalue">The public device information structure for returning queried values </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtDuplex.html">RtDuplex</a></td><td class="indexvalue">STK realtime audio input/output class </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtError.html">RtError</a></td><td class="indexvalue">Exception handling class for <a class="el" href="classRtAudio.html">RtAudio</a> &amp; <a class="el" href="classRtMidi.html">RtMidi</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtMidi.html">RtMidi</a></td><td class="indexvalue">STK realtime MIDI class </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtWvIn.html">RtWvIn</a></td><td class="indexvalue">STK realtime audio input class </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtWvOut.html">RtWvOut</a></td><td class="indexvalue">STK realtime audio output class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSampler.html">Sampler</a></td><td class="indexvalue">STK sampling synthesis abstract base class </td></tr>
<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="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="classSocket.html">Socket</a></td><td class="indexvalue">STK TCP socket client/server 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="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="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="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>
</table>
<HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

BIN
doc/html/ccrma.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

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.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>
<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="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#f0">handleError</a>(const char *message, StkError::TYPE type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, static]</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="classEnvelope.html#a11">lastOut</a>(void) const </td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s3">MY_FLOAT32</a></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#s4">MY_FLOAT64</a></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#e2">rawwavePath</a>(void)</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#e0">sampleRate</a>(void)</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#a11">setAllTimes</a>(MY_FLOAT aTime, MY_FLOAT dTime, MY_FLOAT sLevel, MY_FLOAT rTime)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a4">setAttackRate</a>(MY_FLOAT aRate)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a8">setAttackTime</a>(MY_FLOAT aTime)</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>(MY_FLOAT aRate)</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>(MY_FLOAT aTime)</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>(MY_FLOAT aRate)</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 newPath)</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>(MY_FLOAT aRate)</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>(MY_FLOAT aTime)</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>(MY_FLOAT newRate)</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#a6">setSustainLevel</a>(MY_FLOAT aLevel)</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>(MY_FLOAT aTarget)</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>(MY_FLOAT aTime)</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>(MY_FLOAT aValue)</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#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#s1">STK_SINT16</a></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#s2">STK_SINT32</a></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#s0">STK_SINT8</a></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#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>(MY_FLOAT *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#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="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://www-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>
</table>
</BODY>
</HTML>

117
doc/html/classADSR.html Normal file
View File

@@ -0,0 +1,117 @@
<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.3.4 -->
<h1>ADSR Class Reference</h1>STK ADSR envelope class.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="ADSR_8h-source.html">ADSR.h</a>&gt;</code>
<p>
<p>Inheritance diagram for ADSR:
<p><center><img src="classADSR.png" usemap="#ADSR_map" border="0" alt=""></center>
<map name="ADSR_map">
<area href="classEnvelope.html" alt="Envelope" shape="rect" coords="0,56,65,80">
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,65,24">
</map>
<a href="classADSR-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classEnvelope.html">Envelope</a> states. <br><br></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a0" doxytag="ADSR::ADSR" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a0">ADSR</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="ADSR::~ADSR" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a1">~ADSR</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class destructor. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a2" doxytag="ADSR::keyOn" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a2">keyOn</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set target = 1, state = <em>ADSR::ATTACK</em>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="ADSR::keyOff" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a3">keyOff</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set target = 0, state = <em>ADSR::RELEASE</em>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a4" doxytag="ADSR::setAttackRate" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a4">setAttackRate</a> (MY_FLOAT aRate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the attack rate. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a5" doxytag="ADSR::setDecayRate" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a5">setDecayRate</a> (MY_FLOAT aRate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the decay rate. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a6" doxytag="ADSR::setSustainLevel" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a6">setSustainLevel</a> (MY_FLOAT aLevel)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the sustain level. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a7" doxytag="ADSR::setReleaseRate" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a7">setReleaseRate</a> (MY_FLOAT aRate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the release rate. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a8" doxytag="ADSR::setAttackTime" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a8">setAttackTime</a> (MY_FLOAT aTime)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the attack rate based on a time duration. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a9" doxytag="ADSR::setDecayTime" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a9">setDecayTime</a> (MY_FLOAT aTime)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the decay rate based on a time duration. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a10" doxytag="ADSR::setReleaseTime" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a10">setReleaseTime</a> (MY_FLOAT aTime)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the release rate based on a time duration. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a11" doxytag="ADSR::setAllTimes" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a11">setAllTimes</a> (MY_FLOAT aTime, MY_FLOAT dTime, MY_FLOAT sLevel, MY_FLOAT rTime)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set sustain level and attack, decay, and release state rates based on time durations. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a12" doxytag="ADSR::setTarget" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a12">setTarget</a> (MY_FLOAT aTarget)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the target value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a13" doxytag="ADSR::getState" ></a>
int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a13">getState</a> (void) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current envelope <em>state</em> (ATTACK, DECAY, SUSTAIN, RELEASE, DONE). <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a14" doxytag="ADSR::setValue" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a14">setValue</a> (MY_FLOAT aValue)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set to state = ADSR::SUSTAIN with current and target values of <em>aValue</em>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a15" doxytag="ADSR::tick" ></a>
MY_FLOAT&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a15">tick</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return one envelope output value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a16" doxytag="ADSR::tick" ></a>
MY_FLOAT *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a16">tick</a> (MY_FLOAT *vector, unsigned int vectorSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return <em>vectorSize</em> envelope outputs in <em>vector</em>. <br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
STK ADSR envelope class.
<p>
This <a class="el" href="classEnvelope.html">Envelope</a> subclass implements a traditional ADSR (Attack, Decay, Sustain, Release) envelope. It responds to simple keyOn and keyOff messages, keeping track of its state. The <em>state</em> = ADSR::DONE after the envelope value reaches 0.0 in the ADSR::RELEASE state.<p>
by Perry R. Cook and Gary P. Scavone, 1995 - 2002.
<p>
<p>
Definition at line <a class="el" href="ADSR_8h-source.html#l00023">23</a> of file <a class="el" href="ADSR_8h-source.html">ADSR.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ADSR_8h-source.html">ADSR.h</a></ul>
<HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

BIN
doc/html/classADSR.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

View File

@@ -0,0 +1,56 @@
<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.3.4 -->
<h1>BandedWG Member List</h1>This is the complete list of members for <a class="el" href="classBandedWG.html">BandedWG</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a0">BandedWG</a>()</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a2">clear</a>()</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a12">controlChange</a>(int number, MY_FLOAT value)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#f0">handleError</a>(const char *message, StkError::TYPE type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a0">Instrmnt</a>()</td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a5">lastOut</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a6">lastOutLeft</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a7">lastOutRight</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s3">MY_FLOAT32</a></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#s4">MY_FLOAT64</a></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="classBandedWG.html#a10">noteOff</a>(MY_FLOAT amplitude)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a9">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a8">pluck</a>(MY_FLOAT amp)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></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> [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> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a5">setFrequency</a>(MY_FLOAT frequency)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a4">setPreset</a>(int preset)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e3">setRawwavePath</a>(std::string newPath)</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#e1">setSampleRate</a>(MY_FLOAT newRate)</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="classBandedWG.html#a3">setStrikePosition</a>(MY_FLOAT position)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></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="classBandedWG.html#a6">startBowing</a>(MY_FLOAT amplitude, MY_FLOAT rate)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></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#s1">STK_SINT16</a></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#s2">STK_SINT32</a></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#s0">STK_SINT8</a></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="classBandedWG.html#a7">stopBowing</a>(MY_FLOAT rate)</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr>
<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="classBandedWG.html#a11">tick</a>()</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a9">Instrmnt::tick</a>(MY_FLOAT *vector, unsigned int vectorSize)</td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a1">~BandedWG</a>()</td><td><a class="el" href="classBandedWG.html">BandedWG</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a1">~Instrmnt</a>()</td><td><a class="el" href="classInstrmnt.html">Instrmnt</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://www-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>
</table>
</BODY>
</HTML>

102
doc/html/classBandedWG.html Normal file
View File

@@ -0,0 +1,102 @@
<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.3.4 -->
<h1>BandedWG Class Reference</h1>Banded waveguide modeling class.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="BandedWG_8h-source.html">BandedWG.h</a>&gt;</code>
<p>
<p>Inheritance diagram for BandedWG:
<p><center><img src="classBandedWG.png" usemap="#BandedWG_map" border="0" alt=""></center>
<map name="BandedWG_map">
<area href="classInstrmnt.html" alt="Instrmnt" shape="rect" coords="0,56,75,80">
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,75,24">
</map>
<a href="classBandedWG-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a0" doxytag="BandedWG::BandedWG" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a0">BandedWG</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class constructor. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="BandedWG::~BandedWG" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a1">~BandedWG</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class destructor. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a2" doxytag="BandedWG::clear" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a2">clear</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset and clear all internal state. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="BandedWG::setStrikePosition" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a3">setStrikePosition</a> (MY_FLOAT position)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set strike position (0.0 - 1.0). <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a4" doxytag="BandedWG::setPreset" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a4">setPreset</a> (int preset)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select a preset. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a5" doxytag="BandedWG::setFrequency" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a5">setFrequency</a> (MY_FLOAT frequency)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set instrument parameters for a particular frequency. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a6" doxytag="BandedWG::startBowing" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a6">startBowing</a> (MY_FLOAT amplitude, MY_FLOAT rate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Apply bow velocity/pressure to instrument with given amplitude and rate of increase. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a7" doxytag="BandedWG::stopBowing" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a7">stopBowing</a> (MY_FLOAT rate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrease bow velocity/breath pressure with given rate of decrease. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a8" doxytag="BandedWG::pluck" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a8">pluck</a> (MY_FLOAT amp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pluck the instrument with given amplitude. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a9" doxytag="BandedWG::noteOn" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a9">noteOn</a> (MY_FLOAT frequency, MY_FLOAT amplitude)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start a note with the given frequency and amplitude. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a10" doxytag="BandedWG::noteOff" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a10">noteOff</a> (MY_FLOAT amplitude)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop a note with the given amplitude (speed of decay). <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a11" doxytag="BandedWG::tick" ></a>
MY_FLOAT&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a11">tick</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute one output sample. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a12" doxytag="BandedWG::controlChange" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a12">controlChange</a> (int number, MY_FLOAT value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform the control change specified by <em>number</em> and <em>value</em> (0.0 - 128.0). <br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Banded waveguide modeling class.
<p>
This class uses banded waveguide techniques to model a variety of sounds, including bowed bars, glasses, and bowls. For more information, see Essl, G. and Cook, P. "Banded Waveguides: Towards Physical Modelling of Bar Percussion Instruments", Proceedings of the 1999 International Computer Music Conference.<p>
Control Change Numbers:<ul>
<li>Bow Pressure = 2</li><li>Bow Motion = 4</li><li>Strike Position = 8 (not implemented)</li><li>Vibrato Frequency = 11</li><li>Gain = 1</li><li>Bow Velocity = 128</li><li>Set Striking = 64</li><li>Instrument Presets = 16<ul>
<li>Uniform Bar = 0</li><li>Tuned Bar = 1</li><li>Glass Harmonica = 2</li><li>Tibetan Bowl = 3</li></ul>
</li></ul>
<p>
by Georg Essl, 1999 - 2002. Modified for <a class="el" href="classStk.html">Stk</a> 4.0 by Gary Scavone.
<p>
<p>
Definition at line <a class="el" href="BandedWG_8h-source.html#l00043">43</a> of file <a class="el" href="BandedWG_8h-source.html">BandedWG.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="BandedWG_8h-source.html">BandedWG.h</a></ul>
<HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

BIN
doc/html/classBandedWG.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

View File

@@ -0,0 +1,62 @@
<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.3.4 -->
<h1>BeeThree Member List</h1>This is the complete list of members for <a class="el" href="classBeeThree.html">BeeThree</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classBeeThree.html#a0">BeeThree</a>()</td><td><a class="el" href="classBeeThree.html">BeeThree</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a2">clear</a>()</td><td><a class="el" href="classFM.html">FM</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a15">controlChange</a>(int number, MY_FLOAT value)</td><td><a class="el" href="classFM.html">FM</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a0">FM</a>(int operators=4)</td><td><a class="el" href="classFM.html">FM</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#f0">handleError</a>(const char *message, StkError::TYPE type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a0">Instrmnt</a>()</td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a12">keyOff</a>()</td><td><a class="el" href="classFM.html">FM</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a11">keyOn</a>()</td><td><a class="el" href="classFM.html">FM</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a5">lastOut</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a6">lastOutLeft</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a7">lastOutRight</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a3">loadWaves</a>(const char **filenames)</td><td><a class="el" href="classFM.html">FM</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s3">MY_FLOAT32</a></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#s4">MY_FLOAT64</a></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="classFM.html#a13">noteOff</a>(MY_FLOAT amplitude)</td><td><a class="el" href="classFM.html">FM</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBeeThree.html#a2">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude)</td><td><a class="el" href="classBeeThree.html">BeeThree</a></td><td><code> [virtual]</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> [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> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a9">setControl1</a>(MY_FLOAT cVal)</td><td><a class="el" href="classFM.html">FM</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a10">setControl2</a>(MY_FLOAT cVal)</td><td><a class="el" href="classFM.html">FM</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a4">setFrequency</a>(MY_FLOAT frequency)</td><td><a class="el" href="classFM.html">FM</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a6">setGain</a>(int waveIndex, MY_FLOAT gain)</td><td><a class="el" href="classFM.html">FM</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a8">setModulationDepth</a>(MY_FLOAT mDepth)</td><td><a class="el" href="classFM.html">FM</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a7">setModulationSpeed</a>(MY_FLOAT mSpeed)</td><td><a class="el" href="classFM.html">FM</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a5">setRatio</a>(int waveIndex, MY_FLOAT ratio)</td><td><a class="el" href="classFM.html">FM</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e3">setRawwavePath</a>(std::string newPath)</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#e1">setSampleRate</a>(MY_FLOAT newRate)</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#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#s1">STK_SINT16</a></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#s2">STK_SINT32</a></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#s0">STK_SINT8</a></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#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="classBeeThree.html#a3">tick</a>()</td><td><a class="el" href="classBeeThree.html">BeeThree</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a9">Instrmnt::tick</a>(MY_FLOAT *vector, unsigned int vectorSize)</td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBeeThree.html#a1">~BeeThree</a>()</td><td><a class="el" href="classBeeThree.html">BeeThree</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFM.html#a1">~FM</a>()</td><td><a class="el" href="classFM.html">FM</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a1">~Instrmnt</a>()</td><td><a class="el" href="classInstrmnt.html">Instrmnt</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://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,73 @@
<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.3.4 -->
<h1>BeeThree Class Reference</h1>STK Hammond-oid organ <a class="el" href="classFM.html">FM</a> synthesis instrument.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="BeeThree_8h-source.html">BeeThree.h</a>&gt;</code>
<p>
<p>Inheritance diagram for BeeThree:
<p><center><img src="classBeeThree.png" usemap="#BeeThree_map" border="0" alt=""></center>
<map name="BeeThree_map">
<area href="classFM.html" alt="FM" shape="rect" coords="0,112,67,136">
<area href="classInstrmnt.html" alt="Instrmnt" shape="rect" coords="0,56,67,80">
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,67,24">
</map>
<a href="classBeeThree-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a0" doxytag="BeeThree::BeeThree" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBeeThree.html#a0">BeeThree</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class constructor. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="BeeThree::~BeeThree" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBeeThree.html#a1">~BeeThree</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class destructor. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a2" doxytag="BeeThree::noteOn" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBeeThree.html#a2">noteOn</a> (MY_FLOAT frequency, MY_FLOAT amplitude)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start a note with the given frequency and amplitude. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="BeeThree::tick" ></a>
MY_FLOAT&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBeeThree.html#a3">tick</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute one output sample. <br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
STK Hammond-oid organ <a class="el" href="classFM.html">FM</a> synthesis instrument.
<p>
This class implements a simple 4 operator topology, also referred to as algorithm 8 of the TX81Z.<p>
<div class="fragment"><pre> Algorithm 8 is :
1 --.
2 -\|
+-&gt; Out
3 -/|
4 --
</pre></div><p>
Control Change Numbers:<ul>
<li>Operator 4 (feedback) Gain = 2</li><li>Operator 3 Gain = 4</li><li>LFO Speed = 11</li><li>LFO Depth = 1</li><li><a class="el" href="classADSR.html">ADSR</a> 2 &amp; 4 Target = 128</li></ul>
<p>
The basic Chowning/Stanford <a class="el" href="classFM.html">FM</a> patent expired in 1995, but there exist follow-on patents, mostly assigned to Yamaha. If you are of the type who should worry about this (making money) worry away.<p>
by Perry R. Cook and Gary P. Scavone, 1995 - 2002.
<p>
<p>
Definition at line <a class="el" href="BeeThree_8h-source.html#l00040">40</a> of file <a class="el" href="BeeThree_8h-source.html">BeeThree.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="BeeThree_8h-source.html">BeeThree.h</a></ul>
<HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

BIN
doc/html/classBeeThree.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 B

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.3.4 -->
<h1>BiQuad Member List</h1>This is the complete list of members for <a class="el" href="classBiQuad.html">BiQuad</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a0">BiQuad</a>()</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a2">clear</a>(void)</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFilter.html#a0">Filter</a>(void)</td><td><a class="el" href="classFilter.html">Filter</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classFilter.html#a1">Filter</a>(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)</td><td><a class="el" href="classFilter.html">Filter</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a12">getGain</a>(void) const </td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#f0">handleError</a>(const char *message, StkError::TYPE type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a13">lastOut</a>(void) const </td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s3">MY_FLOAT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s4">MY_FLOAT64</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, 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> [protected, 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> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a6">setA1</a>(MY_FLOAT a1)</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a7">setA2</a>(MY_FLOAT a2)</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a3">setB0</a>(MY_FLOAT b0)</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a4">setB1</a>(MY_FLOAT b1)</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a5">setB2</a>(MY_FLOAT b2)</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFilter.html#a4">setCoefficients</a>(int nb, MY_FLOAT *bCoefficients, int na, MY_FLOAT *aCoefficients)</td><td><a class="el" href="classFilter.html">Filter</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classFilter.html#a6">setDenominator</a>(int na, MY_FLOAT *aCoefficients)</td><td><a class="el" href="classFilter.html">Filter</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a10">setEqualGainZeroes</a>()</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a11">setGain</a>(MY_FLOAT theGain)</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a9">setNotch</a>(MY_FLOAT frequency, MY_FLOAT radius)</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classFilter.html#a5">setNumerator</a>(int nb, MY_FLOAT *bCoefficients)</td><td><a class="el" href="classFilter.html">Filter</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e3">setRawwavePath</a>(std::string newPath)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a8">setResonance</a>(MY_FLOAT frequency, MY_FLOAT radius, bool normalize=FALSE)</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e1">setSampleRate</a>(MY_FLOAT newRate)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, 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> [protected, 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#s1">STK_SINT16</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s2">STK_SINT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s0">STK_SINT8</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, static]</code></td></tr>
<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> [protected, 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> [protected, 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> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a14">tick</a>(MY_FLOAT sample)</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a15">tick</a>(MY_FLOAT *vector, unsigned int vectorSize)</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBiQuad.html#a1">~BiQuad</a>()</td><td><a class="el" href="classBiQuad.html">BiQuad</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classFilter.html#a2">~Filter</a>(void)</td><td><a class="el" href="classFilter.html">Filter</a></td><td><code> [protected, 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://www-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>
</table>
</BODY>
</HTML>

256
doc/html/classBiQuad.html Normal file
View File

@@ -0,0 +1,256 @@
<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.3.4 -->
<h1>BiQuad Class Reference</h1>STK biquad (two-pole, two-zero) filter class.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="BiQuad_8h-source.html">BiQuad.h</a>&gt;</code>
<p>
<p>Inheritance diagram for BiQuad:
<p><center><img src="classBiQuad.png" usemap="#BiQuad_map" border="0" alt=""></center>
<map name="BiQuad_map">
<area href="classFilter.html" alt="Filter" shape="rect" coords="0,56,72,80">
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,72,24">
<area href="classFormSwep.html" alt="FormSwep" shape="rect" coords="0,168,72,192">
</map>
<a href="classBiQuad-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a0" doxytag="BiQuad::BiQuad" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a0">BiQuad</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor creates a second-order pass-through filter. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="BiQuad::~BiQuad" ></a>
virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a1">~BiQuad</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class destructor. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a2" doxytag="BiQuad::clear" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a2">clear</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears all internal states of the filter. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="BiQuad::setB0" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a3">setB0</a> (MY_FLOAT b0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the b[0] coefficient value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a4" doxytag="BiQuad::setB1" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a4">setB1</a> (MY_FLOAT b1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the b[1] coefficient value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a5" doxytag="BiQuad::setB2" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a5">setB2</a> (MY_FLOAT b2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the b[2] coefficient value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a6" doxytag="BiQuad::setA1" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a6">setA1</a> (MY_FLOAT a1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the a[1] coefficient value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a7" doxytag="BiQuad::setA2" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a7">setA2</a> (MY_FLOAT a2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the a[2] coefficient value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a8">setResonance</a> (MY_FLOAT frequency, MY_FLOAT radius, bool normalize=FALSE)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the filter coefficients for a resonance at <em>frequency</em> (in Hz). </em> <a href="#a8"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a9">setNotch</a> (MY_FLOAT frequency, MY_FLOAT radius)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the filter coefficients for a notch at <em>frequency</em> (in Hz). </em> <a href="#a9"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a10">setEqualGainZeroes</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the filter zeroes for equal resonance gain. </em> <a href="#a10"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a11">setGain</a> (MY_FLOAT theGain)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the filter gain. </em> <a href="#a11"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a12" doxytag="BiQuad::getGain" ></a>
MY_FLOAT&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a12">getGain</a> (void) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current filter gain. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a13" doxytag="BiQuad::lastOut" ></a>
MY_FLOAT&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a13">lastOut</a> (void) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the last computed output value. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a14" doxytag="BiQuad::tick" ></a>
MY_FLOAT&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a14">tick</a> (MY_FLOAT sample)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input one sample to the filter and return one output. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a15" doxytag="BiQuad::tick" ></a>
MY_FLOAT *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBiQuad.html#a15">tick</a> (MY_FLOAT *vector, unsigned int vectorSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input <em>vectorSize</em> samples to the filter and return an equal number of outputs in <em>vector</em>. <br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
STK biquad (two-pole, two-zero) filter class.
<p>
This protected <a class="el" href="classFilter.html">Filter</a> subclass implements a two-pole, two-zero digital filter. A method is provided for creating a resonance in the frequency response while maintaining a constant filter gain.<p>
by Perry R. Cook and Gary P. Scavone, 1995 - 2002.
<p>
<p>
Definition at line <a class="el" href="BiQuad_8h-source.html#l00020">20</a> of file <a class="el" href="BiQuad_8h-source.html">BiQuad.h</a>.<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a8" doxytag="BiQuad::setResonance" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void BiQuad::setResonance </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">MY_FLOAT&nbsp;</td>
<td class="mdname" nowrap> <em>frequency</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>MY_FLOAT&nbsp;</td>
<td class="mdname" nowrap> <em>radius</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>bool&nbsp;</td>
<td class="mdname" nowrap> <em>normalize</em> = FALSE</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Sets the filter coefficients for a resonance at <em>frequency</em> (in Hz).
<p>
This method determines the filter coefficients corresponding to two complex-conjugate poles with the given <em>frequency</em> (in Hz) and <em>radius</em> from the z-plane origin. If <em>normalize</em> is true, the filter zeros are placed at z = 1, z = -1, and the coefficients are then normalized to produce a constant unity peak gain (independent of the filter <em>gain</em> parameter). The resulting filter frequency response has a resonance at the given <em>frequency</em>. The closer the poles are to the unit-circle (<em>radius</em> close to one), the narrower the resulting resonance width. </td>
</tr>
</table>
<a class="anchor" name="a9" doxytag="BiQuad::setNotch" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void BiQuad::setNotch </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">MY_FLOAT&nbsp;</td>
<td class="mdname" nowrap> <em>frequency</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>MY_FLOAT&nbsp;</td>
<td class="mdname" nowrap> <em>radius</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Set the filter coefficients for a notch at <em>frequency</em> (in Hz).
<p>
This method determines the filter coefficients corresponding to two complex-conjugate zeros with the given <em>frequency</em> (in Hz) and <em>radius</em> from the z-plane origin. No filter normalization is attempted. </td>
</tr>
</table>
<a class="anchor" name="a10" doxytag="BiQuad::setEqualGainZeroes" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void BiQuad::setEqualGainZeroes </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Sets the filter zeroes for equal resonance gain.
<p>
When using the filter as a resonator, zeroes places at z = 1, z = -1 will result in a constant gain at resonance of 1 / (1 - R), where R is the pole radius setting. </td>
</tr>
</table>
<a class="anchor" name="a11" doxytag="BiQuad::setGain" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void BiQuad::setGain </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">MY_FLOAT&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>theGain</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Set the filter gain.
<p>
The gain is applied at the filter input and does not affect the coefficient values. The default gain value is 1.0.
<p>
Reimplemented from <a class="el" href="classFilter.html#a7">Filter</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="BiQuad_8h-source.html">BiQuad.h</a></ul>
<HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

BIN
doc/html/classBiQuad.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 B

View File

@@ -0,0 +1,53 @@
<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.3.4 -->
<h1>BlowBotl Member List</h1>This is the complete list of members for <a class="el" href="classBlowBotl.html">BlowBotl</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classBlowBotl.html#a0">BlowBotl</a>()</td><td><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBlowBotl.html#a2">clear</a>()</td><td><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBlowBotl.html#a9">controlChange</a>(int number, MY_FLOAT value)</td><td><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#f0">handleError</a>(const char *message, StkError::TYPE type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a0">Instrmnt</a>()</td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a5">lastOut</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a6">lastOutLeft</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a7">lastOutRight</a>() const </td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s3">MY_FLOAT32</a></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#s4">MY_FLOAT64</a></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="classBlowBotl.html#a7">noteOff</a>(MY_FLOAT amplitude)</td><td><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBlowBotl.html#a6">noteOn</a>(MY_FLOAT frequency, MY_FLOAT amplitude)</td><td><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td><code> [virtual]</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> [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> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBlowBotl.html#a3">setFrequency</a>(MY_FLOAT frequency)</td><td><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e3">setRawwavePath</a>(std::string newPath)</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#e1">setSampleRate</a>(MY_FLOAT newRate)</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#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="classBlowBotl.html#a4">startBlowing</a>(MY_FLOAT amplitude, MY_FLOAT rate)</td><td><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td></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#s1">STK_SINT16</a></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#s2">STK_SINT32</a></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#s0">STK_SINT8</a></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="classBlowBotl.html#a5">stopBlowing</a>(MY_FLOAT rate)</td><td><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td></td></tr>
<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="classBlowBotl.html#a8">tick</a>()</td><td><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a9">Instrmnt::tick</a>(MY_FLOAT *vector, unsigned int vectorSize)</td><td><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBlowBotl.html#a1">~BlowBotl</a>()</td><td><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInstrmnt.html#a1">~Instrmnt</a>()</td><td><a class="el" href="classInstrmnt.html">Instrmnt</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://www-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>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,88 @@
<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.3.4 -->
<h1>BlowBotl Class Reference</h1>STK blown bottle instrument class.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="BlowBotl_8h-source.html">BlowBotl.h</a>&gt;</code>
<p>
<p>Inheritance diagram for BlowBotl:
<p><center><img src="classBlowBotl.png" usemap="#BlowBotl_map" border="0" alt=""></center>
<map name="BlowBotl_map">
<area href="classInstrmnt.html" alt="Instrmnt" shape="rect" coords="0,56,60,80">
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,60,24">
</map>
<a href="classBlowBotl-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a0" doxytag="BlowBotl::BlowBotl" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBlowBotl.html#a0">BlowBotl</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class constructor. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="BlowBotl::~BlowBotl" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBlowBotl.html#a1">~BlowBotl</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class destructor. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a2" doxytag="BlowBotl::clear" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBlowBotl.html#a2">clear</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset and clear all internal state. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="BlowBotl::setFrequency" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBlowBotl.html#a3">setFrequency</a> (MY_FLOAT frequency)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set instrument parameters for a particular frequency. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a4" doxytag="BlowBotl::startBlowing" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBlowBotl.html#a4">startBlowing</a> (MY_FLOAT amplitude, MY_FLOAT rate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Apply breath velocity to instrument with given amplitude and rate of increase. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a5" doxytag="BlowBotl::stopBlowing" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBlowBotl.html#a5">stopBlowing</a> (MY_FLOAT rate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrease breath velocity with given rate of decrease. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a6" doxytag="BlowBotl::noteOn" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBlowBotl.html#a6">noteOn</a> (MY_FLOAT frequency, MY_FLOAT amplitude)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start a note with the given frequency and amplitude. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a7" doxytag="BlowBotl::noteOff" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBlowBotl.html#a7">noteOff</a> (MY_FLOAT amplitude)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop a note with the given amplitude (speed of decay). <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a8" doxytag="BlowBotl::tick" ></a>
MY_FLOAT&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBlowBotl.html#a8">tick</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute one output sample. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a9" doxytag="BlowBotl::controlChange" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBlowBotl.html#a9">controlChange</a> (int number, MY_FLOAT value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform the control change specified by <em>number</em> and <em>value</em> (0.0 - 128.0). <br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
STK blown bottle instrument class.
<p>
This class implements a helmholtz resonator (biquad filter) with a polynomial jet excitation (a la Cook).<p>
Control Change Numbers:<ul>
<li><a class="el" href="classNoise.html">Noise</a> Gain = 4</li><li>Vibrato Frequency = 11</li><li>Vibrato Gain = 1</li><li>Volume = 128</li></ul>
<p>
by Perry R. Cook and Gary P. Scavone, 1995 - 2002.
<p>
<p>
Definition at line <a class="el" href="BlowBotl_8h-source.html#l00030">30</a> of file <a class="el" href="BlowBotl_8h-source.html">BlowBotl.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="BlowBotl_8h-source.html">BlowBotl.h</a></ul>
<HR>
<table>
<tr><td><A HREF="http://www-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>
</table>
</BODY>
</HTML>

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