11 Commits
5.0.0 ... 4.2.0

Author SHA1 Message Date
Gary Scavone
de344668dd Release 4.2.0 tarball 2013-09-29 23:39:37 +02:00
Stephen Sinclair
fe20fe92a2 Merge 4.2.0 into releases 2013-09-29 23:38:59 +02:00
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
397 changed files with 41870 additions and 0 deletions

5770
configure vendored Executable file

File diff suppressed because it is too large Load Diff

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>ADSR.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00016 <span class="comment">/***************************************************/</span>
00017
00018 <span class="preprocessor">#ifndef STK_ADSR_H</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_ADSR_H</span>
00020 <span class="preprocessor"></span>
00021 <span class="preprocessor">#include "Envelope.h"</span>
00022
<a name="l00023"></a><a class="code" href="classADSR.html">00023</a> <span class="keyword">class </span><a class="code" href="classADSR.html">ADSR</a> : <span class="keyword">public</span> <a class="code" href="classEnvelope.html">Envelope</a>
00024 {
00025 <span class="keyword">public</span>:
00026
00028 <span class="keyword">enum</span> { ATTACK, DECAY, SUSTAIN, RELEASE, DONE };
00029
00031 <a class="code" href="classADSR.html#a0">ADSR</a>(<span class="keywordtype">void</span>);
00032
00034 <a class="code" href="classADSR.html#a1">~ADSR</a>(<span class="keywordtype">void</span>);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a2">keyOn</a>(<span class="keywordtype">void</span>);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a4">setAttackRate</a>(StkFloat rate);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a5">setDecayRate</a>(StkFloat rate);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a6">setSustainLevel</a>(StkFloat level);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a7">setReleaseRate</a>(StkFloat rate);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a8">setAttackTime</a>(StkFloat time);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a9">setDecayTime</a>(StkFloat time);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a10">setReleaseTime</a>(StkFloat time);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a11">setAllTimes</a>(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a12">setTarget</a>(StkFloat target);
00068
00070 <span class="keywordtype">int</span> <a class="code" href="classADSR.html#a13">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00071
00073 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a14">setValue</a>(StkFloat value);
00074
00076 StkFloat <a class="code" href="classADSR.html#a15">tick</a>(<span class="keywordtype">void</span>);
00077
00079 StkFloat *<a class="code" href="classADSR.html#a15">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00080
00082
00088 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classADSR.html#a15">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00089
00090 <span class="keyword">protected</span>:
00091 StkFloat attackRate_;
00092 StkFloat decayRate_;
00093 StkFloat sustainLevel_;
00094 StkFloat releaseRate_;
00095 };
00096
00097 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

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>Asymp.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00024 <span class="comment">/***************************************************/</span>
00025
00026 <span class="preprocessor">#ifndef STK_ASYMP_H</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_ASYMP_H</span>
00028 <span class="preprocessor"></span>
00029 <span class="preprocessor">#include "Envelope.h"</span>
00030
00031 <span class="keyword">const</span> StkFloat TARGET_THRESHOLD = 0.000001;
00032
<a name="l00033"></a><a class="code" href="classAsymp.html">00033</a> <span class="keyword">class </span><a class="code" href="classAsymp.html">Asymp</a> : <span class="keyword">public</span> <a class="code" href="classEnvelope.html">Envelope</a>
00034 {
00035 <span class="keyword">public</span>:
00036
00038 <a class="code" href="classAsymp.html#a0">Asymp</a>(<span class="keywordtype">void</span>);
00039
00041 <a class="code" href="classAsymp.html#a1">~Asymp</a>(<span class="keywordtype">void</span>);
00042
00044 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a2">keyOn</a>(<span class="keywordtype">void</span>);
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
00048
00050
00056 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a4">setTau</a>(StkFloat tau);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a5">setTime</a>(StkFloat time);
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a6">setTarget</a>(StkFloat target);
00063
00065 StkFloat <a class="code" href="classAsymp.html#a7">tick</a>(<span class="keywordtype">void</span>);
00066
00068 StkFloat *<a class="code" href="classAsymp.html#a7">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00069
00071
00077 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classAsymp.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00078
00079 <span class="keyword">protected</span>:
00080 StkFloat factor_;
00081 StkFloat constant_;
00082 };
00083
00084 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,96 @@
<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">#ifndef STK_BANDEDWG_H</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define STK_BANDEDWG_H</span>
00034 <span class="preprocessor"></span>
00035 <span class="keyword">const</span> <span class="keywordtype">int</span> MAX_BANDED_MODES = 20;
00036
00037 <span class="preprocessor">#include "Instrmnt.h"</span>
00038 <span class="preprocessor">#include "DelayL.h"</span>
00039 <span class="preprocessor">#include "BowTable.h"</span>
00040 <span class="preprocessor">#include "ADSR.h"</span>
00041 <span class="preprocessor">#include "BiQuad.h"</span>
00042
<a name="l00043"></a><a class="code" href="classBandedWG.html">00043</a> <span class="keyword">class </span><a class="code" href="classBandedWG.html">BandedWG</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00044 {
00045 <span class="keyword">public</span>:
00047 <a class="code" href="classBandedWG.html#a0">BandedWG</a>();
00048
00050 <a class="code" href="classBandedWG.html#a1">~BandedWG</a>();
00051
00053 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a2">clear</a>();
00054
00056 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a3">setStrikePosition</a>(StkFloat position);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset);
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a5">setFrequency</a>(StkFloat frequency);
00063
00065 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a6">startBowing</a>(StkFloat amplitude, StkFloat rate);
00066
00068 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a7">stopBowing</a>(StkFloat rate);
00069
00071 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a8">pluck</a>(StkFloat amp);
00072
00074 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a9">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00075
00077 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a10">noteOff</a>(StkFloat amplitude);
00078
00080 StkFloat <a class="code" href="classBandedWG.html#a11">tick</a>();
00081
00083 StkFloat *<a class="code" href="classBandedWG.html#a11">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00084
00086
00092 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBandedWG.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00093
00095 <span class="keywordtype">void</span> <a class="code" href="classBandedWG.html#a14">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00096
00097 <span class="keyword">protected</span>:
00098
00099 <span class="keywordtype">bool</span> doPluck_;
00100 <span class="keywordtype">bool</span> trackVelocity_;
00101 <span class="keywordtype">int</span> nModes_;
00102 <span class="keywordtype">int</span> presetModes_;
00103 <a class="code" href="classBowTable.html">BowTable</a> bowTable_;
00104 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00105 <a class="code" href="classBiQuad.html">BiQuad</a> bandpass_[MAX_BANDED_MODES];
00106 <a class="code" href="classDelayL.html">DelayL</a> delay_[MAX_BANDED_MODES];
00107 StkFloat maxVelocity_;
00108 StkFloat modes_[MAX_BANDED_MODES];
00109 StkFloat frequency_;
00110 StkFloat baseGain_;
00111 StkFloat gains_[MAX_BANDED_MODES];
00112 StkFloat basegains_[MAX_BANDED_MODES];
00113 StkFloat excitation_[MAX_BANDED_MODES];
00114 StkFloat integrationConstant_;
00115 StkFloat velocityInput_;
00116 StkFloat bowVelocity_;
00117 StkFloat bowTarget_;
00118 StkFloat bowPosition_;
00119 StkFloat strikeAmp_;
00120 <span class="keywordtype">int</span> strikePosition_;
00121
00122 };
00123
00124 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>BeeThree.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00033 <span class="comment">/***************************************************/</span>
00034
00035 <span class="preprocessor">#ifndef STK_BEETHREE_H</span>
00036 <span class="preprocessor"></span><span class="preprocessor">#define STK_BEETHREE_H</span>
00037 <span class="preprocessor"></span>
00038 <span class="preprocessor">#include "FM.h"</span>
00039
<a name="l00040"></a><a class="code" href="classBeeThree.html">00040</a> <span class="keyword">class </span><a class="code" href="classBeeThree.html">BeeThree</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00041 {
00042 <span class="keyword">public</span>:
00044
00047 <a class="code" href="classBeeThree.html#a0">BeeThree</a>();
00048
00050 <a class="code" href="classBeeThree.html#a1">~BeeThree</a>();
00051
00053 <span class="keywordtype">void</span> <a class="code" href="classBeeThree.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00054
00056 StkFloat <a class="code" href="classBeeThree.html#a3">tick</a>();
00057
00059 StkFloat *<a class="code" href="classBeeThree.html#a3">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00060
00062
00068 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBeeThree.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00069 };
00070
00071 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>BiQuad.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_BIQUAD_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_BIQUAD_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
00019
<a name="l00020"></a><a class="code" href="classBiQuad.html">00020</a> <span class="keyword">class </span><a class="code" href="classBiQuad.html">BiQuad</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00021 {
00022 <span class="keyword">public</span>:
00023
00025 <a class="code" href="classBiQuad.html#a0">BiQuad</a>();
00026
00028 <span class="keyword">virtual</span> <a class="code" href="classBiQuad.html#a1">~BiQuad</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a2">clear</a>(<span class="keywordtype">void</span>);
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a3">setB0</a>(StkFloat b0);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a4">setB1</a>(StkFloat b1);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a5">setB2</a>(StkFloat b2);
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a6">setA1</a>(StkFloat a1);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a7">setA2</a>(StkFloat a2);
00047
00049
00060 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a8">setResonance</a>(StkFloat frequency, StkFloat radius, <span class="keywordtype">bool</span> normalize = <span class="keyword">false</span>);
00061
00063
00069 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a9">setNotch</a>(StkFloat frequency, StkFloat radius);
00070
00072
00078 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a10">setEqualGainZeroes</a>();
00079
00081
00085 <span class="keywordtype">void</span> <a class="code" href="classBiQuad.html#a11">setGain</a>(StkFloat gain);
00086
00088 StkFloat <a class="code" href="classBiQuad.html#a12">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00089
00091 StkFloat <a class="code" href="classBiQuad.html#a13">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00092
00094 <span class="keyword">virtual</span> StkFloat <a class="code" href="classBiQuad.html#a14">tick</a>(StkFloat sample);
00095
00097 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classBiQuad.html#a14">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00098
00100
00106 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBiQuad.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00107 };
00108
00109 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>BlowBotl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00017 <span class="comment">/***************************************************/</span>
00018
00019 <span class="preprocessor">#ifndef STK_BLOWBOTL_H</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLOWBOTL_H</span>
00021 <span class="preprocessor"></span>
00022 <span class="preprocessor">#include "Instrmnt.h"</span>
00023 <span class="preprocessor">#include "JetTable.h"</span>
00024 <span class="preprocessor">#include "BiQuad.h"</span>
00025 <span class="preprocessor">#include "PoleZero.h"</span>
00026 <span class="preprocessor">#include "Noise.h"</span>
00027 <span class="preprocessor">#include "ADSR.h"</span>
00028 <span class="preprocessor">#include "WaveLoop.h"</span>
00029
<a name="l00030"></a><a class="code" href="classBlowBotl.html">00030</a> <span class="keyword">class </span><a class="code" href="classBlowBotl.html">BlowBotl</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00031 {
00032 <span class="keyword">public</span>:
00034
00037 <a class="code" href="classBlowBotl.html#a0">BlowBotl</a>();
00038
00040 <a class="code" href="classBlowBotl.html#a1">~BlowBotl</a>();
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a2">clear</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a3">setFrequency</a>(StkFloat frequency);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a5">stopBlowing</a>(StkFloat rate);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a7">noteOff</a>(StkFloat amplitude);
00059
00061 StkFloat <a class="code" href="classBlowBotl.html#a8">tick</a>();
00062
00064 StkFloat *<a class="code" href="classBlowBotl.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00065
00067
00073 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBlowBotl.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00077
00078 <span class="keyword">protected</span>:
00079 <a class="code" href="classJetTable.html">JetTable</a> jetTable_;
00080 <a class="code" href="classBiQuad.html">BiQuad</a> resonator_;
00081 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
00082 <a class="code" href="classNoise.html">Noise</a> noise_;
00083 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00084 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00085 StkFloat maxPressure_;
00086 StkFloat noiseGain_;
00087 StkFloat vibratoGain_;
00088 StkFloat outputGain_;
00089
00090 };
00091
00092 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>BlowHole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00034 <span class="comment">/***************************************************/</span>
00035
00036 <span class="preprocessor">#ifndef STK_BLOWHOLE_H</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLOWHOLE_H</span>
00038 <span class="preprocessor"></span>
00039 <span class="preprocessor">#include "Instrmnt.h"</span>
00040 <span class="preprocessor">#include "DelayL.h"</span>
00041 <span class="preprocessor">#include "ReedTable.h"</span>
00042 <span class="preprocessor">#include "OneZero.h"</span>
00043 <span class="preprocessor">#include "PoleZero.h"</span>
00044 <span class="preprocessor">#include "Envelope.h"</span>
00045 <span class="preprocessor">#include "Noise.h"</span>
00046 <span class="preprocessor">#include "WaveLoop.h"</span>
00047
<a name="l00048"></a><a class="code" href="classBlowHole.html">00048</a> <span class="keyword">class </span><a class="code" href="classBlowHole.html">BlowHole</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00049 {
00050 <span class="keyword">public</span>:
00052
00055 <a class="code" href="classBlowHole.html#a0">BlowHole</a>(StkFloat lowestFrequency);
00056
00058 <a class="code" href="classBlowHole.html#a1">~BlowHole</a>();
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a2">clear</a>();
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a3">setFrequency</a>(StkFloat frequency);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a4">setTonehole</a>(StkFloat newValue);
00068
00070 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a5">setVent</a>(StkFloat newValue);
00071
00073 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a6">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a7">stopBlowing</a>(StkFloat rate);
00077
00079 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00080
00082 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a9">noteOff</a>(StkFloat amplitude);
00083
00085 StkFloat <a class="code" href="classBlowHole.html#a10">tick</a>();
00086
00088 StkFloat *<a class="code" href="classBlowHole.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00089
00091
00097 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBlowHole.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00098
00100 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00101
00102 <span class="keyword">protected</span>:
00103 <a class="code" href="classDelayL.html">DelayL</a> delays_[3];
00104 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
00105 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00106 <a class="code" href="classPoleZero.html">PoleZero</a> tonehole_;
00107 <a class="code" href="classPoleZero.html">PoleZero</a> vent_;
00108 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00109 <a class="code" href="classNoise.html">Noise</a> noise_;
00110 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00111 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00112 StkFloat scatter_;
00113 StkFloat thCoeff_;
00114 StkFloat rhGain_;
00115 StkFloat outputGain_;
00116 StkFloat noiseGain_;
00117 StkFloat vibratoGain_;
00118
00119 };
00120
00121 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>BowTable.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_BOWTABL_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_BOWTABL_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Function.h"</span>
00016
<a name="l00017"></a><a class="code" href="classBowTable.html">00017</a> <span class="keyword">class </span><a class="code" href="classBowTable.html">BowTable</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a>
00018 {
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classBowTable.html#a0">BowTable</a>();
00022
00024 <a class="code" href="classBowTable.html#a1">~BowTable</a>();
00025
00027
00033 <span class="keywordtype">void</span> <a class="code" href="classBowTable.html#a2">setOffset</a>(StkFloat offset);
00034
00036
00040 <span class="keywordtype">void</span> <a class="code" href="classBowTable.html#a3">setSlope</a>(StkFloat slope);
00041
00043
00047 StkFloat <a class="code" href="classBowTable.html#a4">tick</a>( StkFloat input);
00048
00050 StkFloat *<a class="code" href="classBowTable.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00051
00053
00059 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBowTable.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00060
00061 <span class="keyword">protected</span>:
00062 StkFloat offset_;
00063 StkFloat slope_;
00064
00065 };
00066
00067 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Bowed.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00022 <span class="comment">/***************************************************/</span>
00023
00024 <span class="preprocessor">#ifndef STK_BOWED_H</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_BOWED_H</span>
00026 <span class="preprocessor"></span>
00027 <span class="preprocessor">#include "Instrmnt.h"</span>
00028 <span class="preprocessor">#include "DelayL.h"</span>
00029 <span class="preprocessor">#include "BowTable.h"</span>
00030 <span class="preprocessor">#include "OnePole.h"</span>
00031 <span class="preprocessor">#include "BiQuad.h"</span>
00032 <span class="preprocessor">#include "WaveLoop.h"</span>
00033 <span class="preprocessor">#include "ADSR.h"</span>
00034
<a name="l00035"></a><a class="code" href="classBowed.html">00035</a> <span class="keyword">class </span><a class="code" href="classBowed.html">Bowed</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00036 {
00037 <span class="keyword">public</span>:
00039 <a class="code" href="classBowed.html#a0">Bowed</a>(StkFloat lowestFrequency);
00040
00042 <a class="code" href="classBowed.html#a1">~Bowed</a>();
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a2">clear</a>();
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a3">setFrequency</a>(StkFloat frequency);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a4">setVibrato</a>(StkFloat gain);
00052
00054 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a5">startBowing</a>(StkFloat amplitude, StkFloat rate);
00055
00057 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a6">stopBowing</a>(StkFloat rate);
00058
00060 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00061
00063 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a8">noteOff</a>(StkFloat amplitude);
00064
00066 StkFloat <a class="code" href="classBowed.html#a9">tick</a>();
00067
00069 StkFloat *<a class="code" href="classBowed.html#a9">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070
00072
00078 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBowed.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00079
00081 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00082
00083 <span class="keyword">protected</span>:
00084 <a class="code" href="classDelayL.html">DelayL</a> neckDelay_;
00085 <a class="code" href="classDelayL.html">DelayL</a> bridgeDelay_;
00086 <a class="code" href="classBowTable.html">BowTable</a> bowTable_;
00087 <a class="code" href="classOnePole.html">OnePole</a> stringFilter_;
00088 <a class="code" href="classBiQuad.html">BiQuad</a> bodyFilter_;
00089 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00090 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00091 StkFloat maxVelocity_;
00092 StkFloat baseDelay_;
00093 StkFloat vibratoGain_;
00094 StkFloat betaRatio_;
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Brass.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00021 <span class="comment">/***************************************************/</span>
00022
00023 <span class="preprocessor">#ifndef STK_BRASS_H</span>
00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_BRASS_H</span>
00025 <span class="preprocessor"></span>
00026 <span class="preprocessor">#include "Instrmnt.h"</span>
00027 <span class="preprocessor">#include "DelayA.h"</span>
00028 <span class="preprocessor">#include "BiQuad.h"</span>
00029 <span class="preprocessor">#include "PoleZero.h"</span>
00030 <span class="preprocessor">#include "ADSR.h"</span>
00031 <span class="preprocessor">#include "WaveLoop.h"</span>
00032
<a name="l00033"></a><a class="code" href="classBrass.html">00033</a> <span class="keyword">class </span><a class="code" href="classBrass.html">Brass</a>: <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00034 {
00035 <span class="keyword">public</span>:
00037
00040 <a class="code" href="classBrass.html#a0">Brass</a>(StkFloat lowestFrequency);
00041
00043 <a class="code" href="classBrass.html#a1">~Brass</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a2">clear</a>();
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a3">setFrequency</a>(StkFloat frequency);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a4">setLip</a>(StkFloat frequency);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a5">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a6">stopBlowing</a>(StkFloat rate);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a8">noteOff</a>(StkFloat amplitude);
00065
00067 StkFloat <a class="code" href="classBrass.html#a9">tick</a>();
00068
00070 StkFloat *<a class="code" href="classBrass.html#a9">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00071
00073
00079 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classBrass.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00080
00082 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00083
00084 <span class="keyword">protected</span>:
00085 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00086 <a class="code" href="classBiQuad.html">BiQuad</a> lipFilter_;
00087 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
00088 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00089 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00090 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00091 StkFloat lipTarget_;
00092 StkFloat slideTarget_;
00093 StkFloat vibratoGain_;
00094 StkFloat maxPressure_;
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Chorus.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00009 <span class="comment">/***************************************************/</span>
00010
00011 <span class="preprocessor">#ifndef STK_CHORUS_H</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_CHORUS_H</span>
00013 <span class="preprocessor"></span>
00014 <span class="preprocessor">#include "Effect.h"</span>
00015 <span class="preprocessor">#include "DelayL.h"</span>
00016 <span class="preprocessor">#include "WaveLoop.h"</span>
00017
<a name="l00018"></a><a class="code" href="classChorus.html">00018</a> <span class="keyword">class </span><a class="code" href="classChorus.html">Chorus</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00019 {
00020 <span class="keyword">public</span>:
00022
00025 <a class="code" href="classChorus.html#a0">Chorus</a>( StkFloat baseDelay = 6000 );
00026
00028 <a class="code" href="classChorus.html#a1">~Chorus</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a2">clear</a>();
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a3">setModDepth</a>(StkFloat depth);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a4">setModFrequency</a>(StkFloat frequency);
00038
00040 StkFloat <a class="code" href="classChorus.html#a5">tick</a>(StkFloat input);
00041
00043 StkFloat *<a class="code" href="classChorus.html#a5">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00044
00046
00052 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classChorus.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00053
00054 <span class="keyword">protected</span>:
00055 <a class="code" href="classDelayL.html">DelayL</a> delayLine_[2];
00056 <a class="code" href="classWaveLoop.html">WaveLoop</a> *mods_[2];
00057 StkFloat baseLength_;
00058 StkFloat modDepth_;
00059
00060 };
00061
00062 <span class="preprocessor">#endif</span>
00063 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Clarinet.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00023 <span class="comment">/***************************************************/</span>
00024
00025 <span class="preprocessor">#ifndef STK_CLARINET_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_CLARINET_H</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Instrmnt.h"</span>
00029 <span class="preprocessor">#include "DelayL.h"</span>
00030 <span class="preprocessor">#include "ReedTable.h"</span>
00031 <span class="preprocessor">#include "OneZero.h"</span>
00032 <span class="preprocessor">#include "Envelope.h"</span>
00033 <span class="preprocessor">#include "Noise.h"</span>
00034 <span class="preprocessor">#include "WaveLoop.h"</span>
00035
<a name="l00036"></a><a class="code" href="classClarinet.html">00036</a> <span class="keyword">class </span><a class="code" href="classClarinet.html">Clarinet</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00037 {
00038 <span class="keyword">public</span>:
00040
00043 <a class="code" href="classClarinet.html#a0">Clarinet</a>(StkFloat lowestFrequency);
00044
00046 <a class="code" href="classClarinet.html#a1">~Clarinet</a>();
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a2">clear</a>();
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a3">setFrequency</a>(StkFloat frequency);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a5">stopBlowing</a>(StkFloat rate);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a7">noteOff</a>(StkFloat amplitude);
00065
00067 StkFloat <a class="code" href="classClarinet.html#a8">tick</a>();
00068
00070 StkFloat *<a class="code" href="classClarinet.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00071
00073
00079 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classClarinet.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00080
00082 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00083
00084 <span class="keyword">protected</span>:
00085 <a class="code" href="classDelayL.html">DelayL</a> delayLine_;
00086 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
00087 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00088 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00089 <a class="code" href="classNoise.html">Noise</a> noise_;
00090 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00091 <span class="keywordtype">long</span> length_;
00092 StkFloat outputGain_;
00093 StkFloat noiseGain_;
00094 StkFloat vibratoGain_;
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>DelayA.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00023 <span class="comment">/***************************************************/</span>
00024
00025 <span class="preprocessor">#ifndef STK_DELAYA_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAYA_H</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Delay.h"</span>
00029
<a name="l00030"></a><a class="code" href="classDelayA.html">00030</a> <span class="keyword">class </span><a class="code" href="classDelayA.html">DelayA</a> : <span class="keyword">public</span> <a class="code" href="classDelay.html">Delay</a>
00031 {
00032 <span class="keyword">public</span>:
00033
00035 <a class="code" href="classDelayA.html#a0">DelayA</a>();
00036
00038
00043 <a class="code" href="classDelayA.html#a0">DelayA</a>(StkFloat delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
00044
00046 <a class="code" href="classDelayA.html#a2">~DelayA</a>();
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a3">clear</a>();
00050
00052
00055 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a4">setDelay</a>(StkFloat delay);
00056
00058 StkFloat <a class="code" href="classDelayA.html#a5">getDelay</a>(<span class="keywordtype">void</span>);
00059
00061
00064 StkFloat <a class="code" href="classDelayA.html#a6">nextOut</a>(<span class="keywordtype">void</span>);
00065
00067 StkFloat <a class="code" href="classDelayA.html#a7">tick</a>(StkFloat sample);
00068
00070 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classDelayA.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00071
00073
00079 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDelayA.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00080
00081 <span class="keyword">protected</span>:
00082 StkFloat alpha_;
00083 StkFloat coeff_;
00084 StkFloat apInput_;
00085 StkFloat nextOutput_;
00086 <span class="keywordtype">bool</span> doNextOut_;
00087 };
00088
00089 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

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>DelayL.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00023 <span class="comment">/***************************************************/</span>
00024
00025 <span class="preprocessor">#ifndef STK_DELAYL_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAYL_H</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Delay.h"</span>
00029
<a name="l00030"></a><a class="code" href="classDelayL.html">00030</a> <span class="keyword">class </span><a class="code" href="classDelayL.html">DelayL</a> : <span class="keyword">public</span> <a class="code" href="classDelay.html">Delay</a>
00031 {
00032 <span class="keyword">public</span>:
00033
00035 <a class="code" href="classDelayL.html#a0">DelayL</a>();
00036
00038
00043 <a class="code" href="classDelayL.html#a0">DelayL</a>(StkFloat delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
00044
00046 <a class="code" href="classDelayL.html#a2">~DelayL</a>();
00047
00049
00052 <span class="keywordtype">void</span> <a class="code" href="classDelayL.html#a3">setDelay</a>(StkFloat delay);
00053
00055 StkFloat <a class="code" href="classDelayL.html#a4">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00056
00058
00061 StkFloat <a class="code" href="classDelayL.html#a5">nextOut</a>(<span class="keywordtype">void</span>);
00062
00064 StkFloat <a class="code" href="classDelayL.html#a6">tick</a>(StkFloat sample);
00065
00067 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classDelayL.html#a6">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00068
00070
00076 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDelayL.html#a6">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00077
00078 <span class="keyword">protected</span>:
00079 StkFloat alpha_;
00080 StkFloat omAlpha_;
00081 StkFloat nextOutput_;
00082 <span class="keywordtype">bool</span> doNextOut_;
00083 };
00084
00085 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,74 @@
<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">#ifndef STK_DELAY_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAY_H</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Filter.h"</span>
00025
<a name="l00026"></a><a class="code" href="classDelay.html">00026</a> <span class="keyword">class </span><a class="code" href="classDelay.html">Delay</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00027 {
00028 <span class="keyword">public</span>:
00029
00031 <a class="code" href="classDelay.html#a0">Delay</a>();
00032
00034
00039 <a class="code" href="classDelay.html#a0">Delay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
00040
00042 <span class="keyword">virtual</span> <a class="code" href="classDelay.html#a2">~Delay</a>();
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a3">clear</a>();
00046
00048
00055 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a4">setMaximumDelay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay);
00056
00058
00061 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a5">setDelay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay);
00062
00064 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classDelay.html#a6">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00065
00067 StkFloat <a class="code" href="classDelay.html#a7">energy</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00068
00070
00075 StkFloat <a class="code" href="classDelay.html#a8">contentsAt</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> tapDelay);
00076
00078 StkFloat <a class="code" href="classDelay.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00079
00081
00084 <span class="keyword">virtual</span> StkFloat <a class="code" href="classDelay.html#a10">nextOut</a>(<span class="keywordtype">void</span>);
00085
00087 <span class="keyword">virtual</span> StkFloat <a class="code" href="classDelay.html#a11">tick</a>(StkFloat sample);
00088
00090 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classDelay.html#a11">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00091
00093
00099 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDelay.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00100
00101 <span class="keyword">protected</span>:
00102 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> inPoint_;
00103 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> outPoint_;
00104 StkFloat delay_;
00105 };
00106
00107 <span class="preprocessor">#endif</span>
00108 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Drummer.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00016 <span class="comment">/***************************************************/</span>
00017
00018 <span class="preprocessor">#ifndef STK_DRUMMER_H</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_DRUMMER_H</span>
00020 <span class="preprocessor"></span>
00021 <span class="preprocessor">#include "Instrmnt.h"</span>
00022 <span class="preprocessor">#include "WvIn.h"</span>
00023 <span class="preprocessor">#include "OnePole.h"</span>
00024
00025 <span class="keyword">const</span> <span class="keywordtype">int</span> DRUM_NUMWAVES = 11;
00026 <span class="keyword">const</span> <span class="keywordtype">int</span> DRUM_POLYPHONY = 4;
00027
<a name="l00028"></a><a class="code" href="classDrummer.html">00028</a> <span class="keyword">class </span><a class="code" href="classDrummer.html">Drummer</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00029 {
00030 <span class="keyword">public</span>:
00032
00035 <a class="code" href="classDrummer.html#a0">Drummer</a>();
00036
00038 <a class="code" href="classDrummer.html#a1">~Drummer</a>();
00039
00041
00047 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a2">noteOn</a>(StkFloat instrument, StkFloat amplitude);
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a3">noteOff</a>(StkFloat amplitude);
00051
00053 StkFloat <a class="code" href="classDrummer.html#a4">tick</a>();
00054
00056 StkFloat *<a class="code" href="classDrummer.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00057
00059
00065 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDrummer.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00066
00067 <span class="keyword">protected</span>:
00068 <a class="code" href="classWvIn.html">WvIn</a> *waves_[DRUM_POLYPHONY];
00069 <a class="code" href="classOnePole.html">OnePole</a> *filters_[DRUM_POLYPHONY];
00070 <span class="keywordtype">int</span> sounding_[DRUM_POLYPHONY];
00071 <span class="keywordtype">int</span> nSounding_;
00072 };
00073
00074 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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">#ifndef STK_ECHO_H</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_ECHO_H</span>
00013 <span class="preprocessor"></span>
00014 <span class="preprocessor">#include "Effect.h"</span>
00015 <span class="preprocessor">#include "Delay.h"</span>
00016
<a name="l00017"></a><a class="code" href="classEcho.html">00017</a> <span class="keyword">class </span><a class="code" href="classEcho.html">Echo</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00018 {
00019 <span class="keyword">public</span>:
00021
00024 <a class="code" href="classEcho.html#a0">Echo</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maximumDelay = (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>) <a class="code" href="classStk.html#e0">Stk::sampleRate</a>() );
00025
00027 <a class="code" href="classEcho.html#a1">~Echo</a>();
00028
00030 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a2">clear</a>();
00031
00033 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a3">setMaximumDelay</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay );
00034
00036 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a4">setDelay</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay );
00037
00039 StkFloat <a class="code" href="classEcho.html#a5">tick</a>(StkFloat input);
00040
00042 StkFloat *<a class="code" href="classEcho.html#a5">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00043
00045
00051 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classEcho.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00052
00053 <span class="keyword">protected</span>:
00054 <a class="code" href="classDelay.html">Delay</a> delayLine_;
00055 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00056
00057 };
00058
00059 <span class="preprocessor">#endif</span>
00060 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Effect.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#include "Stk.h"</span>
00013
00014 <span class="preprocessor">#ifndef STK_EFFECT_H</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_EFFECT_H</span>
00016 <span class="preprocessor"></span>
<a name="l00017"></a><a class="code" href="classEffect.html">00017</a> <span class="keyword">class </span><a class="code" href="classEffect.html">Effect</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00018 {
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classEffect.html#a0">Effect</a>();
00022
00024 <span class="keyword">virtual</span> <a class="code" href="classEffect.html#a1">~Effect</a>();
00025
00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEffect.html#a2">clear</a>() = 0;
00028
00030 <span class="keywordtype">void</span> <a class="code" href="classEffect.html#a3">setEffectMix</a>(StkFloat mix);
00031
00033 StkFloat <a class="code" href="classEffect.html#a4">lastOut</a>() <span class="keyword">const</span>;
00034
00036 StkFloat <a class="code" href="classEffect.html#a5">lastOutLeft</a>() <span class="keyword">const</span>;
00037
00039 StkFloat <a class="code" href="classEffect.html#a6">lastOutRight</a>() <span class="keyword">const</span>;
00040
00042 <span class="keyword">virtual</span> StkFloat <a class="code" href="classEffect.html#a7">tick</a>( StkFloat input ) = 0;
00043
00045 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classEffect.html#a7">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00046
00048
00054 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classEffect.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00055
00056 <span class="keyword">protected</span>:
00057
00058 <span class="comment">// Returns true if argument value is prime.</span>
00059 <span class="keywordtype">bool</span> isPrime( <span class="keywordtype">int</span> number );
00060
00061 StkFloat lastOutput_[2];
00062 StkFloat effectMix_;
00063
00064 };
00065
00066 <span class="preprocessor">#endif</span>
00067 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Envelope.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00014 <span class="comment">/***************************************************/</span>
00015
00016 <span class="preprocessor">#ifndef STK_ENVELOPE_H</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_ENVELOPE_H</span>
00018 <span class="preprocessor"></span>
00019 <span class="preprocessor">#include "Generator.h"</span>
00020
<a name="l00021"></a><a class="code" href="classEnvelope.html">00021</a> <span class="keyword">class </span><a class="code" href="classEnvelope.html">Envelope</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
00022 {
00023 <span class="keyword">public</span>:
00024
00026 <a class="code" href="classEnvelope.html#a0">Envelope</a>(<span class="keywordtype">void</span>);
00027
00029 <span class="keyword">virtual</span> <a class="code" href="classEnvelope.html#a1">~Envelope</a>(<span class="keywordtype">void</span>);
00030
00032 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a2">keyOn</a>(<span class="keywordtype">void</span>);
00033
00035 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
00036
00038 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a4">setRate</a>(StkFloat rate);
00039
00041 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a5">setTime</a>(StkFloat time);
00042
00044 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a6">setTarget</a>(StkFloat target);
00045
00047 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a7">setValue</a>(StkFloat value);
00048
00050 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classEnvelope.html#a8">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00051
00053 <span class="keyword">virtual</span> StkFloat <a class="code" href="classEnvelope.html#a9">tick</a>(<span class="keywordtype">void</span>);
00054
00056 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classEnvelope.html#a9">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00057
00059
00065 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classEnvelope.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00066
00067 <span class="keyword">protected</span>:
00068 StkFloat value_;
00069 StkFloat target_;
00070 StkFloat rate_;
00071 <span class="keywordtype">int</span> state_;
00072 };
00073
00074 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>FMVoices.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00031 <span class="comment">/***************************************************/</span>
00032
00033 <span class="preprocessor">#ifndef STK_FMVOICES_H</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_FMVOICES_H</span>
00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span>
00037
<a name="l00038"></a><a class="code" href="classFMVoices.html">00038</a> <span class="keyword">class </span><a class="code" href="classFMVoices.html">FMVoices</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00039 {
00040 <span class="keyword">public</span>:
00042
00045 <a class="code" href="classFMVoices.html#a0">FMVoices</a>();
00046
00048 <a class="code" href="classFMVoices.html#a1">~FMVoices</a>();
00049
00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a2">setFrequency</a>(StkFloat frequency);
00052
00054 <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00055
00057 StkFloat <a class="code" href="classFMVoices.html#a4">tick</a>();
00058
00060 StkFloat *<a class="code" href="classFMVoices.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00061
00063
00069 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFMVoices.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00070
00072 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00073
00074 <span class="keyword">protected</span>:
00075 <span class="keywordtype">int</span> currentVowel_;
00076 StkFloat tilt_[3];
00077 StkFloat mods_[3];
00078 };
00079
00080 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>FM.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00024 <span class="comment">/***************************************************/</span>
00025
00026 <span class="preprocessor">#ifndef STK_FM_H</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_FM_H</span>
00028 <span class="preprocessor"></span>
00029 <span class="preprocessor">#include "Instrmnt.h"</span>
00030 <span class="preprocessor">#include "ADSR.h"</span>
00031 <span class="preprocessor">#include "WaveLoop.h"</span>
00032 <span class="preprocessor">#include "TwoZero.h"</span>
00033
<a name="l00034"></a><a class="code" href="classFM.html">00034</a> <span class="keyword">class </span><a class="code" href="classFM.html">FM</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00035 {
00036 <span class="keyword">public</span>:
00038
00041 <a class="code" href="classFM.html#a0">FM</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> operators = 4 );
00042
00044 <span class="keyword">virtual</span> <a class="code" href="classFM.html#a1">~FM</a>();
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a2">clear</a>();
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a3">loadWaves</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> **filenames);
00051
00053 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a4">setFrequency</a>(StkFloat frequency);
00054
00056 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a5">setRatio</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> waveIndex, StkFloat ratio);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a6">setGain</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> waveIndex, StkFloat gain);
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a7">setModulationSpeed</a>(StkFloat mSpeed);
00063
00065 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a8">setModulationDepth</a>(StkFloat mDepth);
00066
00068 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a9">setControl1</a>(StkFloat cVal);
00069
00071 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a10">setControl2</a>(StkFloat cVal);
00072
00074 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a11">keyOn</a>();
00075
00077 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a12">keyOff</a>();
00078
00080 <span class="keywordtype">void</span> <a class="code" href="classFM.html#a13">noteOff</a>(StkFloat amplitude);
00081
00083 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFM.html#a14">tick</a>() = 0;
00084
00086 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classFM.html#a14">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize) = 0;
00087
00089
00095 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFM.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 ) = 0;
00096
00098 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFM.html#a17">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00099
00100 <span class="keyword">protected</span>:
00101 std::vector&lt;ADSR *&gt; adsr_;
00102 std::vector&lt;WaveLoop *&gt; waves_;
00103 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00104 <a class="code" href="classTwoZero.html">TwoZero</a> twozero_;
00105 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nOperators_;
00106 StkFloat baseFrequency_;
00107 std::vector&lt;StkFloat&gt; ratios_;
00108 std::vector&lt;StkFloat&gt; gains_;
00109 StkFloat modDepth_;
00110 StkFloat control1_;
00111 StkFloat control2_;
00112 StkFloat fmGains_[100];
00113 StkFloat fmSusLevels_[16];
00114 StkFloat fmAttTimes_[32];
00115
00116 };
00117
00118 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Filter.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00028 <span class="comment">/***************************************************/</span>
00029
00030 <span class="preprocessor">#ifndef STK_FILTER_H</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define STK_FILTER_H</span>
00032 <span class="preprocessor"></span>
00033 <span class="preprocessor">#include "Stk.h"</span>
00034 <span class="preprocessor">#include &lt;vector&gt;</span>
00035 <span class="preprocessor">#include &lt;valarray&gt;</span>
00036
<a name="l00037"></a><a class="code" href="classFilter.html">00037</a> <span class="keyword">class </span><a class="code" href="classFilter.html">Filter</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00038 {
00039 <span class="keyword">public</span>:
00041 <a class="code" href="classFilter.html#a0">Filter</a>(<span class="keywordtype">void</span>);
00042
00044
00048 <a class="code" href="classFilter.html#a0">Filter</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients, std::vector&lt;StkFloat&gt; &amp;aCoefficients );
00049
00051 <span class="keyword">virtual</span> <a class="code" href="classFilter.html#a2">~Filter</a>(<span class="keywordtype">void</span>);
00052
00054 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a3">clear</a>(<span class="keywordtype">void</span>);
00055
00057
00063 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a4">setCoefficients</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients, std::vector&lt;StkFloat&gt; &amp;aCoefficients );
00064
00066
00073 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a5">setNumerator</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients );
00074
00076
00084 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a6">setDenominator</a>( std::vector&lt;StkFloat&gt; &amp;aCoefficients );
00085
00087
00091 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a7">setGain</a>(StkFloat gain);
00092
00094 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00095
00097 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00098
00100 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a10">tick</a>(StkFloat sample);
00101
00103 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classFilter.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00104
00106
00112 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFilter.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00113
00114 <span class="keyword">protected</span>:
00115 StkFloat gain_;
00116 std::vector&lt;StkFloat&gt; b_;
00117 std::vector&lt;StkFloat&gt; a_;
00118 std::vector&lt;StkFloat&gt; outputs_;
00119 std::vector&lt;StkFloat&gt; inputs_;
00120
00121 };
00122
00123 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,92 @@
<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">#ifndef STK_FLUTE_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_FLUTE_H</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "Instrmnt.h"</span>
00029 <span class="preprocessor">#include "JetTable.h"</span>
00030 <span class="preprocessor">#include "DelayL.h"</span>
00031 <span class="preprocessor">#include "OnePole.h"</span>
00032 <span class="preprocessor">#include "PoleZero.h"</span>
00033 <span class="preprocessor">#include "Noise.h"</span>
00034 <span class="preprocessor">#include "ADSR.h"</span>
00035 <span class="preprocessor">#include "WaveLoop.h"</span>
00036
<a name="l00037"></a><a class="code" href="classFlute.html">00037</a> <span class="keyword">class </span><a class="code" href="classFlute.html">Flute</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00038 {
00039 <span class="keyword">public</span>:
00041
00044 <a class="code" href="classFlute.html#a0">Flute</a>(StkFloat lowestFrequency);
00045
00047 <a class="code" href="classFlute.html#a1">~Flute</a>();
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a2">clear</a>();
00051
00053 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a3">setFrequency</a>(StkFloat frequency);
00054
00056 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a4">setJetReflection</a>(StkFloat coefficient);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a5">setEndReflection</a>(StkFloat coefficient);
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a6">setJetDelay</a>(StkFloat aRatio);
00063
00065 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a7">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00066
00068 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a8">stopBlowing</a>(StkFloat rate);
00069
00071 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a9">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00072
00074 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a10">noteOff</a>(StkFloat amplitude);
00075
00077 StkFloat <a class="code" href="classFlute.html#a11">tick</a>();
00078
00080 StkFloat *<a class="code" href="classFlute.html#a11">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00081
00083
00089 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFlute.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00090
00092 <span class="keywordtype">void</span> <a class="code" href="classFlute.html#a14">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00093
00094 <span class="keyword">protected</span>:
00095 <a class="code" href="classDelayL.html">DelayL</a> jetDelay_;
00096 <a class="code" href="classDelayL.html">DelayL</a> boreDelay_;
00097 <a class="code" href="classJetTable.html">JetTable</a> jetTable_;
00098 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00099 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
00100 <a class="code" href="classNoise.html">Noise</a> noise_;
00101 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00102 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00103 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00104 StkFloat lastFrequency_;
00105 StkFloat maxPressure_;
00106 StkFloat jetReflection_;
00107 StkFloat endReflection_;
00108 StkFloat noiseGain_;
00109 StkFloat vibratoGain_;
00110 StkFloat outputGain_;
00111 StkFloat jetRatio_;
00112
00113 };
00114
00115 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>FormSwep.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_FORMSWEP_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_FORMSWEP_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "BiQuad.h"</span>
00019
<a name="l00020"></a><a class="code" href="classFormSwep.html">00020</a> <span class="keyword">class </span><a class="code" href="classFormSwep.html">FormSwep</a> : <span class="keyword">public</span> <a class="code" href="classBiQuad.html">BiQuad</a>
00021 {
00022 <span class="keyword">public</span>:
00023
00025 <a class="code" href="classFormSwep.html#a0">FormSwep</a>();
00026
00028 <a class="code" href="classFormSwep.html#a1">~FormSwep</a>();
00029
00031
00042 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a2">setResonance</a>(StkFloat frequency, StkFloat radius);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a3">setStates</a>(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a4">setTargets</a>(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
00049
00051
00059 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a5">setSweepRate</a>(StkFloat rate);
00060
00062
00067 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a6">setSweepTime</a>(StkFloat time);
00068
00070 StkFloat <a class="code" href="classFormSwep.html#a7">tick</a>(StkFloat sample);
00071
00073 StkFloat *<a class="code" href="classFormSwep.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00074
00076
00082 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFormSwep.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00083
00084 <span class="keyword">protected</span>:
00085 <span class="keywordtype">bool</span> dirty_;
00086 StkFloat frequency_;
00087 StkFloat radius_;
00088 StkFloat startFrequency_;
00089 StkFloat startRadius_;
00090 StkFloat startGain_;
00091 StkFloat targetFrequency_;
00092 StkFloat targetRadius_;
00093 StkFloat targetGain_;
00094 StkFloat deltaFrequency_;
00095 StkFloat deltaRadius_;
00096 StkFloat deltaGain_;
00097 StkFloat sweepState_;
00098 StkFloat sweepRate_;
00099
00100 };
00101
00102 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Function.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00011 <span class="comment">/***************************************************/</span>
00012
00013 <span class="preprocessor">#include "Stk.h"</span>
00014
00015 <span class="preprocessor">#ifndef STK_FUNCTION_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_FUNCTION_H</span>
00017 <span class="preprocessor"></span>
<a name="l00018"></a><a class="code" href="classFunction.html">00018</a> <span class="keyword">class </span><a class="code" href="classFunction.html">Function</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00019 {
00020 <span class="keyword">public</span>:
00022 <a class="code" href="classFunction.html#a0">Function</a>();
00023
00025 <span class="keyword">virtual</span> <a class="code" href="classFunction.html#a1">~Function</a>();
00026
<a name="l00028"></a><a class="code" href="classFunction.html#a2">00028</a> <span class="keyword">virtual</span> StkFloat <a class="code" href="classFunction.html#a2">lastOut</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastOutput_; };
00029
00031 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFunction.html#a3">tick</a>( StkFloat input ) = 0;
00032
00034 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classFunction.html#a3">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00035
00037
00043 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFunction.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00044
00045 <span class="keyword">protected</span>:
00046
00047 StkFloat lastOutput_;
00048
00049 };
00050
00051 <span class="preprocessor">#endif</span>
00052 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Generator.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_GENERATOR_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_GENERATOR_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Stk.h"</span>
00016
<a name="l00017"></a><a class="code" href="classGenerator.html">00017</a> <span class="keyword">class </span><a class="code" href="classGenerator.html">Generator</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00018 {
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classGenerator.html#a0">Generator</a>();
00022
00024 <span class="keyword">virtual</span> <a class="code" href="classGenerator.html#a1">~Generator</a>();
00025
<a name="l00027"></a><a class="code" href="classGenerator.html#a2">00027</a> <span class="keyword">virtual</span> StkFloat <a class="code" href="classGenerator.html#a2">lastOut</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastOutput_; };
00028
00030 <span class="keyword">virtual</span> StkFloat <a class="code" href="classGenerator.html#a3">tick</a>( <span class="keywordtype">void</span> ) = 0;
00031
00033 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classGenerator.html#a3">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00034
00036
00042 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classGenerator.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00043
00044 <span class="keyword">protected</span>:
00045
00046 StkFloat lastOutput_;
00047
00048 };
00049
00050 <span class="preprocessor">#endif</span>
00051 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>HevyMetl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00029 <span class="comment">/***************************************************/</span>
00030
00031 <span class="preprocessor">#ifndef STK_HEVYMETL_H</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_HEVYMETL_H</span>
00033 <span class="preprocessor"></span>
00034 <span class="preprocessor">#include "FM.h"</span>
00035
<a name="l00036"></a><a class="code" href="classHevyMetl.html">00036</a> <span class="keyword">class </span><a class="code" href="classHevyMetl.html">HevyMetl</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00037 {
00038 <span class="keyword">public</span>:
00040
00043 <a class="code" href="classHevyMetl.html#a0">HevyMetl</a>();
00044
00046 <a class="code" href="classHevyMetl.html#a1">~HevyMetl</a>();
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classHevyMetl.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00050
00052 StkFloat <a class="code" href="classHevyMetl.html#a3">tick</a>();
00053
00055 StkFloat *<a class="code" href="classHevyMetl.html#a3">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00056
00058
00064 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classHevyMetl.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00065 };
00066
00067 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

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>Instrmnt.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_INSTRMNT_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_INSTRMNT_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Stk.h"</span>
00016
<a name="l00017"></a><a class="code" href="classInstrmnt.html">00017</a> <span class="keyword">class </span><a class="code" href="classInstrmnt.html">Instrmnt</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00018 {
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classInstrmnt.html#a0">Instrmnt</a>();
00022
00024 <span class="keyword">virtual</span> <a class="code" href="classInstrmnt.html#a1">~Instrmnt</a>();
00025
00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude) = 0;
00028
00030 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(StkFloat amplitude) = 0;
00031
00033 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(StkFloat frequency);
00034
00036 StkFloat <a class="code" href="classInstrmnt.html#a5">lastOut</a>() <span class="keyword">const</span>;
00037
00039 StkFloat <a class="code" href="classInstrmnt.html#a6">lastOutLeft</a>() <span class="keyword">const</span>;
00040
00042 StkFloat <a class="code" href="classInstrmnt.html#a7">lastOutRight</a>() <span class="keyword">const</span>;
00043
00045 <span class="keyword">virtual</span> StkFloat <a class="code" href="classInstrmnt.html#a8">tick</a>() = 0;
00046
00048 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classInstrmnt.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00049
00051
00057 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classInstrmnt.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00058
00060 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00061
00062 <span class="keyword">protected</span>:
00063 StkFloat lastOutput_;
00064
00065 };
00066
00067 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>JCRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00015 <span class="comment">/***************************************************/</span>
00016
00017 <span class="preprocessor">#ifndef STK_JCREV_H</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_JCREV_H</span>
00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#include "Effect.h"</span>
00021 <span class="preprocessor">#include "Delay.h"</span>
00022
<a name="l00023"></a><a class="code" href="classJCRev.html">00023</a> <span class="keyword">class </span><a class="code" href="classJCRev.html">JCRev</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00024 {
00025 <span class="keyword">public</span>:
00027 <a class="code" href="classJCRev.html#a0">JCRev</a>( StkFloat T60 = 1.0 );
00028
00030 <a class="code" href="classJCRev.html#a1">~JCRev</a>();
00031
00033 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a2">clear</a>();
00034
00036 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a3">setT60</a>( StkFloat T60 );
00037
00039 StkFloat <a class="code" href="classJCRev.html#a4">tick</a>(StkFloat input);
00040
00042 StkFloat *<a class="code" href="classJCRev.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00043
00045
00051 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classJCRev.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00052
00053 <span class="keyword">protected</span>:
00054 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[3];
00055 <a class="code" href="classDelay.html">Delay</a> combDelays_[4];
00056 <a class="code" href="classDelay.html">Delay</a> outLeftDelay_;
00057 <a class="code" href="classDelay.html">Delay</a> outRightDelay_;
00058 StkFloat allpassCoefficient_;
00059 StkFloat combCoefficient_[4];
00060
00061 };
00062
00063 <span class="preprocessor">#endif</span>
00064 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>JetTable.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00014 <span class="comment">/***************************************************/</span>
00015
00016 <span class="preprocessor">#ifndef STK_JETTABL_H</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_JETTABL_H</span>
00018 <span class="preprocessor"></span>
00019 <span class="preprocessor">#include "Function.h"</span>
00020
<a name="l00021"></a><a class="code" href="classJetTable.html">00021</a> <span class="keyword">class </span><a class="code" href="classJetTable.html">JetTable</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a>
00022 {
00023 <span class="keyword">public</span>:
00025 <a class="code" href="classJetTable.html#a0">JetTable</a>();
00026
00028 <a class="code" href="classJetTable.html#a1">~JetTable</a>();
00029
00031 StkFloat <a class="code" href="classJetTable.html#a2">tick</a>(StkFloat input);
00032
00034 StkFloat *<a class="code" href="classJetTable.html#a2">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00035
00037
00043 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classJetTable.html#a2">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00044
00045 <span class="keyword">protected</span>:
00046
00047 };
00048
00049 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Mandolin.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00028 <span class="comment">/***************************************************/</span>
00029
00030 <span class="preprocessor">#ifndef STK_MANDOLIN_H</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define STK_MANDOLIN_H</span>
00032 <span class="preprocessor"></span>
00033 <span class="preprocessor">#include "PluckTwo.h"</span>
00034 <span class="preprocessor">#include "WvIn.h"</span>
00035
<a name="l00036"></a><a class="code" href="classMandolin.html">00036</a> <span class="keyword">class </span><a class="code" href="classMandolin.html">Mandolin</a> : <span class="keyword">public</span> <a class="code" href="classPluckTwo.html">PluckTwo</a>
00037 {
00038 <span class="keyword">public</span>:
00040 <a class="code" href="classMandolin.html#a0">Mandolin</a>(StkFloat lowestFrequency);
00041
00043 <a class="code" href="classMandolin.html#a1">~Mandolin</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(StkFloat amplitude);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(StkFloat amplitude,StkFloat position);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a4">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a5">setBodySize</a>(StkFloat size);
00056
00058 StkFloat <a class="code" href="classMandolin.html#a6">tick</a>();
00059
00061 StkFloat *<a class="code" href="classMandolin.html#a6">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00062
00064
00070 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classMandolin.html#a6">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00071
00073 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00074
00075 <span class="keyword">protected</span>:
00076 <a class="code" href="classWvIn.html">WvIn</a> *soundfile_[12];
00077 <span class="keywordtype">int</span> mic_;
00078 <span class="keywordtype">long</span> dampTime_;
00079 <span class="keywordtype">bool</span> waveDone_;
00080 };
00081
00082 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,92 @@
<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">#ifndef STK_MESH2D_H</span>
00028 <span class="preprocessor"></span><span class="preprocessor">#define STK_MESH2D_H</span>
00029 <span class="preprocessor"></span>
00030 <span class="preprocessor">#include "Instrmnt.h"</span>
00031 <span class="preprocessor">#include "OnePole.h"</span>
00032
00033 <span class="keyword">const</span> <span class="keywordtype">short</span> NXMAX = 12;
00034 <span class="keyword">const</span> <span class="keywordtype">short</span> NYMAX = 12;
00035
<a name="l00036"></a><a class="code" href="classMesh2D.html">00036</a> <span class="keyword">class </span><a class="code" href="classMesh2D.html">Mesh2D</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00037 {
00038 <span class="keyword">public</span>:
00040 <a class="code" href="classMesh2D.html#a0">Mesh2D</a>(<span class="keywordtype">short</span> nX, <span class="keywordtype">short</span> nY);
00041
00043 <a class="code" href="classMesh2D.html#a1">~Mesh2D</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a2">clear</a>();
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a3">setNX</a>(<span class="keywordtype">short</span> lenX);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a4">setNY</a>(<span class="keywordtype">short</span> lenY);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a5">setInputPosition</a>(StkFloat xFactor, StkFloat yFactor);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a6">setDecay</a>(StkFloat decayFactor);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a8">noteOff</a>(StkFloat amplitude);
00065
00067 StkFloat <a class="code" href="classMesh2D.html#a9">energy</a>();
00068
00070 StkFloat <a class="code" href="classMesh2D.html#a10">tick</a>();
00071
00073 StkFloat <a class="code" href="classMesh2D.html#a10">tick</a>(StkFloat input);
00074
00076 StkFloat *<a class="code" href="classMesh2D.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00077
00079
00085 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classMesh2D.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00086
00088 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a14">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00089
00090 <span class="keyword">protected</span>:
00091
00092 StkFloat tick0();
00093 StkFloat tick1();
00094 <span class="keywordtype">void</span> clearMesh();
00095
00096 <span class="keywordtype">short</span> NX_, NY_;
00097 <span class="keywordtype">short</span> xInput_, yInput_;
00098 <a class="code" href="classOnePole.html">OnePole</a> filterX_[NXMAX];
00099 <a class="code" href="classOnePole.html">OnePole</a> filterY_[NYMAX];
00100 StkFloat v_[NXMAX-1][NYMAX-1]; <span class="comment">// junction velocities</span>
00101 StkFloat vxp_[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
00102 StkFloat vxm_[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
00103 StkFloat vyp_[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
00104 StkFloat vym_[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
00105
00106 <span class="comment">// Alternate buffers</span>
00107 StkFloat vxp1_[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
00108 StkFloat vxm1_[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
00109 StkFloat vyp1_[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
00110 StkFloat vym1_[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
00111
00112 <span class="keywordtype">int</span> counter_; <span class="comment">// time in samples</span>
00113 };
00114
00115 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,107 @@
<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>
00033 <span class="comment">/***************************************************/</span>
00034
00035 <span class="preprocessor">#ifndef STK_MESSAGER_H</span>
00036 <span class="preprocessor"></span><span class="preprocessor">#define STK_MESSAGER_H</span>
00037 <span class="preprocessor"></span>
00038 <span class="preprocessor">#include "Stk.h"</span>
00039 <span class="preprocessor">#include "Skini.h"</span>
00040 <span class="preprocessor">#include &lt;queue&gt;</span>
00041
00042 <span class="keyword">const</span> <span class="keywordtype">int</span> DEFAULT_QUEUE_LIMIT = 200;
00043
00044 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00045 <span class="preprocessor"></span>
00046 <span class="preprocessor">#include "Mutex.h"</span>
00047 <span class="preprocessor">#include "Thread.h"</span>
00048 <span class="preprocessor">#include "Socket.h"</span>
00049 <span class="preprocessor">#include "RtMidi.h"</span>
00050
00051 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> THREAD_RETURN THREAD_TYPE stdinHandler(<span class="keywordtype">void</span> * ptr);
00052
00053 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> THREAD_RETURN THREAD_TYPE socketHandler(<span class="keywordtype">void</span> * ptr);
00054
00055 <span class="preprocessor">#endif // __STK_REALTIME__</span>
00056 <span class="preprocessor"></span>
<a name="l00057"></a><a class="code" href="classMessager.html">00057</a> <span class="keyword">class </span><a class="code" href="classMessager.html">Messager</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00058 {
00059 <span class="keyword">public</span>:
00060
00061 <span class="comment">// This structure is used to share data among the various realtime</span>
00062 <span class="comment">// messager threads. It must be public.</span>
00063 <span class="keyword">struct </span>MessagerData {
00064 <a class="code" href="classSkini.html">Skini</a> skini;
00065 std::queue&lt;Skini::Message&gt; queue;
00066 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueLimit;
00067 <span class="keywordtype">int</span> sources;
00068
00069 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00070 <span class="preprocessor"></span> <a class="code" href="classMutex.html">Mutex</a> mutex;
00071 <a class="code" href="classRtMidiIn.html">RtMidiIn</a> *midi;
00072 <a class="code" href="classSocket.html">Socket</a> *socket;
00073 std::vector&lt;int&gt; fd;
00074 fd_set mask;
00075 <span class="preprocessor">#endif</span>
00076 <span class="preprocessor"></span>
00077 <span class="comment">// Default constructor.</span>
00078 MessagerData()
00079 :queueLimit(0), sources(0) {}
00080 };
00081
00083 <a class="code" href="classMessager.html#a0">Messager</a>();
00084
00086 <a class="code" href="classMessager.html#a1">~Messager</a>();
00087
00089
00095 <span class="keywordtype">void</span> <a class="code" href="classMessager.html#a2">popMessage</a>( <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00096
00098 <span class="keywordtype">void</span> <a class="code" href="classMessager.html#a3">pushMessage</a>( <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00099
00101
00109 <span class="keywordtype">bool</span> <a class="code" href="classMessager.html#a4">setScoreFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span>* filename );
00110
00111 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00112 <span class="preprocessor"></span>
00113
00122 <span class="keywordtype">bool</span> startStdInput();
00123
00125
00136 <span class="keywordtype">bool</span> startSocketInput( <span class="keywordtype">int</span> port=2001 );
00137
00139
00151 <span class="keywordtype">bool</span> startMidiInput( <span class="keywordtype">int</span> port=0 );
00152
00153 <span class="preprocessor">#endif</span>
00154 <span class="preprocessor"></span>
00155 <span class="keyword">protected</span>:
00156
00157 MessagerData data_;
00158
00159 <span class="preprocessor">#if defined(__STK_REALTIME__)</span>
00160 <span class="preprocessor"></span> <a class="code" href="classThread.html">Thread</a> stdinThread_;
00161 <a class="code" href="classThread.html">Thread</a> socketThread_;
00162 <span class="preprocessor">#endif</span>
00163 <span class="preprocessor"></span>
00164 };
00165
00166 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,92 @@
<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>MidiFileIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/**********************************************************************/</span>
00016 <span class="comment">/**********************************************************************/</span>
00017
00018 <span class="preprocessor">#ifndef STK_MIDIFILEIN_H</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_MIDIFILEIN_H</span>
00020 <span class="preprocessor"></span>
00021 <span class="preprocessor">#include "Stk.h"</span>
00022 <span class="preprocessor">#include &lt;string&gt;</span>
00023 <span class="preprocessor">#include &lt;vector&gt;</span>
00024 <span class="preprocessor">#include &lt;fstream&gt;</span>
00025 <span class="preprocessor">#include &lt;sstream&gt;</span>
00026
<a name="l00027"></a><a class="code" href="classMidiFileIn.html">00027</a> <span class="keyword">class </span><a class="code" href="classMidiFileIn.html">MidiFileIn</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00028 {
00029 <span class="keyword">public</span>:
00031
00035 <a class="code" href="classMidiFileIn.html#a0">MidiFileIn</a>( std::string fileName );
00036
00038 <a class="code" href="classMidiFileIn.html#a1">~MidiFileIn</a>();
00039
00041 <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a2">getFileFormat</a>() <span class="keyword">const</span>;
00042
00044 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a3">getNumberOfTracks</a>() <span class="keyword">const</span>;
00045
00047
00052 <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a4">getDivision</a>() <span class="keyword">const</span>;
00053
00055
00059 <span class="keywordtype">void</span> <a class="code" href="classMidiFileIn.html#a5">rewindTrack</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00060
00062
00069 <span class="keywordtype">double</span> <a class="code" href="classMidiFileIn.html#a6">getTickSeconds</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00070
00072
00084 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMidiFileIn.html#a7">getNextEvent</a>( std::vector&lt;unsigned char&gt; *event, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00085
00087
00097 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMidiFileIn.html#a8">getNextMidiEvent</a>( std::vector&lt;unsigned char&gt; *midiEvent, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00098
00099 <span class="keyword">protected</span>:
00100
00101 <span class="comment">// This protected class function is used for reading variable-length</span>
00102 <span class="comment">// MIDI file values. It is assumed that this function is called with</span>
00103 <span class="comment">// the file read pointer positioned at the start of a</span>
00104 <span class="comment">// variable-length value. The function returns true if the value is</span>
00105 <span class="comment">// successfully parsed. Otherwise, it returns false.</span>
00106 <span class="keywordtype">bool</span> readVariableLength( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *value );
00107
00108 std::ifstream file_;
00109 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nTracks_;
00110 <span class="keywordtype">int</span> format_;
00111 <span class="keywordtype">int</span> division_;
00112 <span class="keywordtype">bool</span> usingTimeCode_;
00113 std::vector&lt;double&gt; tickSeconds_;
00114 std::vector&lt;long&gt; trackPointers_;
00115 std::vector&lt;long&gt; trackOffsets_;
00116 std::vector&lt;long&gt; trackLengths_;
00117 std::vector&lt;char&gt; trackStatus_;
00118
00119 <span class="comment">// This structure and the following variables are used to save and</span>
00120 <span class="comment">// keep track of a format 1 tempo map (and the initial tickSeconds</span>
00121 <span class="comment">// parameter for formats 0 and 2).</span>
00122 <span class="keyword">struct </span>TempoChange {
00123 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> count;
00124 <span class="keywordtype">double</span> tickSeconds;
00125 };
00126 std::vector&lt;TempoChange&gt; tempoEvents_;
00127 std::vector&lt;unsigned long&gt; trackCounters_;
00128 std::vector&lt;unsigned int&gt; trackTempoIndex_;
00129 };
00130
00131 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>
00029 <span class="comment">/***************************************************/</span>
00030
00031 <span class="preprocessor">#ifndef STK_MODALBAR_H</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODALBAR_H</span>
00033 <span class="preprocessor"></span>
00034 <span class="preprocessor">#include "Modal.h"</span>
00035
<a name="l00036"></a><a class="code" href="classModalBar.html">00036</a> <span class="keyword">class </span><a class="code" href="classModalBar.html">ModalBar</a> : <span class="keyword">public</span> <a class="code" href="classModal.html">Modal</a>
00037 {
00038 <span class="keyword">public</span>:
00040 <a class="code" href="classModalBar.html#a0">ModalBar</a>();
00041
00043 <a class="code" href="classModalBar.html#a1">~ModalBar</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a2">setStickHardness</a>(StkFloat hardness);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a3">setStrikePosition</a>(StkFloat position);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a5">setModulationDepth</a>(StkFloat mDepth);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a6">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00059 };
00060
00061 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Modal.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00012 <span class="comment">/***************************************************/</span>
00013
00014 <span class="preprocessor">#ifndef STK_MODAL_H</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODAL_H</span>
00016 <span class="preprocessor"></span>
00017 <span class="preprocessor">#include "Instrmnt.h"</span>
00018 <span class="preprocessor">#include "Envelope.h"</span>
00019 <span class="preprocessor">#include "WaveLoop.h"</span>
00020 <span class="preprocessor">#include "BiQuad.h"</span>
00021 <span class="preprocessor">#include "OnePole.h"</span>
00022
<a name="l00023"></a><a class="code" href="classModal.html">00023</a> <span class="keyword">class </span><a class="code" href="classModal.html">Modal</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00024 {
00025 <span class="keyword">public</span>:
00027
00030 <a class="code" href="classModal.html#a0">Modal</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modes = 4 );
00031
00033 <span class="keyword">virtual</span> <a class="code" href="classModal.html#a1">~Modal</a>();
00034
00036 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a2">clear</a>();
00037
00039 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a3">setFrequency</a>(StkFloat frequency);
00040
00042 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a4">setRatioAndRadius</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modeIndex, StkFloat ratio, StkFloat radius);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a5">setMasterGain</a>(StkFloat aGain);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a6">setDirectGain</a>(StkFloat aGain);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a7">setModeGain</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> modeIndex, StkFloat gain);
00052
00054 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a8">strike</a>(StkFloat amplitude);
00055
00057 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a9">damp</a>(StkFloat amplitude);
00058
00060 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a10">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00061
00063 <span class="keywordtype">void</span> <a class="code" href="classModal.html#a11">noteOff</a>(StkFloat amplitude);
00064
00066 <span class="keyword">virtual</span> StkFloat <a class="code" href="classModal.html#a12">tick</a>();
00067
00069 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classModal.html#a12">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070
00072
00078 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classModal.html#a12">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00079
00081 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModal.html#a15">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value) = 0;
00082
00083 <span class="keyword">protected</span>:
00084 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00085 <a class="code" href="classWvIn.html">WvIn</a> *wave_;
00086 <a class="code" href="classBiQuad.html">BiQuad</a> **filters_;
00087 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
00088 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00089
00090 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nModes_;
00091 std::vector&lt;StkFloat&gt; ratios_;
00092 std::vector&lt;StkFloat&gt; radii_;
00093
00094 StkFloat vibratoGain_;
00095 StkFloat masterGain_;
00096 StkFloat directGain_;
00097 StkFloat stickHardness_;
00098 StkFloat strikePosition_;
00099 StkFloat baseFrequency_;
00100 };
00101
00102 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Modulate.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00011 <span class="comment">/***************************************************/</span>
00012
00013 <span class="preprocessor">#ifndef STK_MODULATE_H</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODULATE_H</span>
00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Generator.h"</span>
00017 <span class="preprocessor">#include "WaveLoop.h"</span>
00018 <span class="preprocessor">#include "SubNoise.h"</span>
00019 <span class="preprocessor">#include "OnePole.h"</span>
00020
<a name="l00021"></a><a class="code" href="classModulate.html">00021</a> <span class="keyword">class </span><a class="code" href="classModulate.html">Modulate</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
00022 {
00023 <span class="keyword">public</span>:
00025
00028 <a class="code" href="classModulate.html#a0">Modulate</a>();
00029
00031 <a class="code" href="classModulate.html#a1">~Modulate</a>();
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a2">reset</a>();
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a3">setVibratoRate</a>(StkFloat rate);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a4">setVibratoGain</a>(StkFloat gain);
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a5">setRandomGain</a>(StkFloat gain);
00044
00046 StkFloat <a class="code" href="classModulate.html#a6">tick</a>();
00047
00049 StkFloat *<a class="code" href="classModulate.html#a6">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00050
00052
00058 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classModulate.html#a6">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00059
00060 <span class="keyword">protected</span>:
00061 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00062 <a class="code" href="classSubNoise.html">SubNoise</a> noise_;
00063 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00064 StkFloat vibratoGain_;
00065 StkFloat randomGain_;
00066
00067 };
00068
00069 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Moog.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span>
00020
00021 <span class="preprocessor">#ifndef STK_MOOG_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_MOOG_H</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Sampler.h"</span>
00025 <span class="preprocessor">#include "FormSwep.h"</span>
00026
<a name="l00027"></a><a class="code" href="classMoog.html">00027</a> <span class="keyword">class </span><a class="code" href="classMoog.html">Moog</a> : <span class="keyword">public</span> <a class="code" href="classSampler.html">Sampler</a>
00028 {
00029 <span class="keyword">public</span>:
00031
00034 <a class="code" href="classMoog.html#a0">Moog</a>();
00035
00037 <a class="code" href="classMoog.html#a1">~Moog</a>();
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a2">setFrequency</a>(StkFloat frequency);
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a4">setModulationSpeed</a>(StkFloat mSpeed);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a5">setModulationDepth</a>(StkFloat mDepth);
00050
00052 StkFloat <a class="code" href="classMoog.html#a6">tick</a>();
00053
00055 StkFloat *<a class="code" href="classMoog.html#a6">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00056
00058
00064 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classMoog.html#a6">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00068
00069 <span class="keyword">protected</span>:
00070 <a class="code" href="classFormSwep.html">FormSwep</a> filters_[2];
00071 StkFloat modDepth_;
00072 StkFloat filterQ_;
00073 StkFloat filterRate_;
00074
00075 };
00076
00077 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Mutex.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00012 <span class="comment">/***************************************************/</span>
00013
00014 <span class="preprocessor">#ifndef STK_MUTEX_H</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_MUTEX_H</span>
00016 <span class="preprocessor"></span>
00017 <span class="preprocessor">#include "Stk.h"</span>
00018
00019 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
00020 <span class="preprocessor"></span>
00021 <span class="preprocessor"> #include &lt;pthread.h&gt;</span>
00022 <span class="keyword">typedef</span> pthread_mutex_t MUTEX;
00023 <span class="keyword">typedef</span> pthread_cond_t CONDITION;
00024
00025 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span>
00026 <span class="preprocessor"></span>
00027 <span class="preprocessor"> #include &lt;windows.h&gt;</span>
00028 <span class="preprocessor"> #include &lt;process.h&gt;</span>
00029 <span class="keyword">typedef</span> CRITICAL_SECTION MUTEX;
00030 <span class="keyword">typedef</span> HANDLE CONDITION;
00031
00032 <span class="preprocessor">#endif</span>
00033 <span class="preprocessor"></span>
<a name="l00034"></a><a class="code" href="classMutex.html">00034</a> <span class="keyword">class </span><a class="code" href="classMutex.html">Mutex</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00035 {
00036 <span class="keyword">public</span>:
00038 <a class="code" href="classMutex.html#a0">Mutex</a>();
00039
00041 <a class="code" href="classMutex.html#a1">~Mutex</a>();
00042
00044 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a2">lock</a>(<span class="keywordtype">void</span>);
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a3">unlock</a>(<span class="keywordtype">void</span>);
00048
00050
00054 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a4">wait</a>(<span class="keywordtype">void</span>);
00055
00057
00061 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a5">signal</a>(<span class="keywordtype">void</span>);
00062
00063 <span class="keyword">protected</span>:
00064
00065 MUTEX mutex_;
00066 CONDITION condition_;
00067
00068 };
00069
00070 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>NRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00017 <span class="comment">/***************************************************/</span>
00018
00019 <span class="preprocessor">#ifndef STK_NREV_H</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_NREV_H</span>
00021 <span class="preprocessor"></span>
00022 <span class="preprocessor">#include "Effect.h"</span>
00023 <span class="preprocessor">#include "Delay.h"</span>
00024
<a name="l00025"></a><a class="code" href="classNRev.html">00025</a> <span class="keyword">class </span><a class="code" href="classNRev.html">NRev</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00026 {
00027 <span class="keyword">public</span>:
00029 <a class="code" href="classNRev.html#a0">NRev</a>( StkFloat T60 = 1.0 );
00030
00032 <a class="code" href="classNRev.html#a1">~NRev</a>();
00033
00035 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a2">clear</a>();
00036
00038 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a3">setT60</a>( StkFloat T60 );
00039
00041 StkFloat <a class="code" href="classNRev.html#a4">tick</a>(StkFloat input);
00042
00044 StkFloat *<a class="code" href="classNRev.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00045
00047
00053 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classNRev.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00054
00055 <span class="keyword">protected</span>:
00056 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[8];
00057 <a class="code" href="classDelay.html">Delay</a> combDelays_[6];
00058 StkFloat allpassCoefficient_;
00059 StkFloat combCoefficient_[6];
00060 StkFloat lowpassState_;
00061
00062 };
00063
00064 <span class="preprocessor">#endif</span>
00065 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,54 @@
<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">#ifndef STK_NOISE_H</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_NOISE_H</span>
00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Generator.h"</span>
00017
<a name="l00018"></a><a class="code" href="classNoise.html">00018</a> <span class="keyword">class </span><a class="code" href="classNoise.html">Noise</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
00019 {
00020 <span class="keyword">public</span>:
00021
00023 <a class="code" href="classNoise.html#a0">Noise</a>();
00024
00026
00030 <a class="code" href="classNoise.html#a0">Noise</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed );
00031
00033 <span class="keyword">virtual</span> <a class="code" href="classNoise.html#a2">~Noise</a>();
00034
00036
00040 <span class="keywordtype">void</span> <a class="code" href="classNoise.html#a3">setSeed</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed = 0 );
00041
00043 <span class="keyword">virtual</span> StkFloat <a class="code" href="classNoise.html#a4">tick</a>();
00044
00046 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classNoise.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00047
00049
00055 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classNoise.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00056
00057 <span class="keyword">protected</span>:
00058
00059 };
00060
00061 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>OnePole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_ONEPOLE_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_ONEPOLE_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
00019
<a name="l00020"></a><a class="code" href="classOnePole.html">00020</a> <span class="keyword">class </span><a class="code" href="classOnePole.html">OnePole</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00021 {
00022 <span class="keyword">public</span>:
00023
00025 <a class="code" href="classOnePole.html#a0">OnePole</a>();
00026
00028 <a class="code" href="classOnePole.html#a0">OnePole</a>(StkFloat thePole);
00029
00031 <a class="code" href="classOnePole.html#a2">~OnePole</a>();
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a3">clear</a>(<span class="keywordtype">void</span>);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a4">setB0</a>(StkFloat b0);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a5">setA1</a>(StkFloat a1);
00041
00043
00050 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a6">setPole</a>(StkFloat thePole);
00051
00053
00057 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a7">setGain</a>(StkFloat gain);
00058
00060 StkFloat <a class="code" href="classOnePole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00061
00063 StkFloat <a class="code" href="classOnePole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064
00066 StkFloat <a class="code" href="classOnePole.html#a10">tick</a>(StkFloat sample);
00067
00069 StkFloat *<a class="code" href="classOnePole.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070
00072
00078 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classOnePole.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00079
00080 };
00081
00082 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>OneZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_ONEZERO_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_ONEZERO_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
00019
<a name="l00020"></a><a class="code" href="classOneZero.html">00020</a> <span class="keyword">class </span><a class="code" href="classOneZero.html">OneZero</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00021 {
00022 <span class="keyword">public</span>:
00023
00025 <a class="code" href="classOneZero.html#a0">OneZero</a>();
00026
00028 <a class="code" href="classOneZero.html#a0">OneZero</a>(StkFloat theZero);
00029
00031 <a class="code" href="classOneZero.html#a2">~OneZero</a>();
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a3">clear</a>(<span class="keywordtype">void</span>);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a4">setB0</a>(StkFloat b0);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a5">setB1</a>(StkFloat b1);
00041
00043
00050 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a6">setZero</a>(StkFloat theZero);
00051
00053
00057 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a7">setGain</a>(StkFloat gain);
00058
00060 StkFloat <a class="code" href="classOneZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00061
00063 StkFloat <a class="code" href="classOneZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064
00066 StkFloat <a class="code" href="classOneZero.html#a10">tick</a>(StkFloat sample);
00067
00069 StkFloat *<a class="code" href="classOneZero.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00070
00072
00078 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classOneZero.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00079
00080 };
00081
00082 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>PRCRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00015 <span class="comment">/***************************************************/</span>
00016
00017 <span class="preprocessor">#ifndef STK_PRCREV_H</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_PRCREV_H</span>
00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#include "Effect.h"</span>
00021 <span class="preprocessor">#include "Delay.h"</span>
00022
<a name="l00023"></a><a class="code" href="classPRCRev.html">00023</a> <span class="keyword">class </span><a class="code" href="classPRCRev.html">PRCRev</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00024 {
00025 <span class="keyword">public</span>:
00027 <a class="code" href="classPRCRev.html#a0">PRCRev</a>( StkFloat T60 = 1.0 );
00028
00030 <a class="code" href="classPRCRev.html#a1">~PRCRev</a>();
00031
00033 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a2">clear</a>();
00034
00036 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a3">setT60</a>( StkFloat T60 );
00037
00039 StkFloat <a class="code" href="classPRCRev.html#a4">tick</a>(StkFloat input);
00040
00042 StkFloat *<a class="code" href="classPRCRev.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00043
00045
00051 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPRCRev.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00052
00053 <span class="keyword">protected</span>:
00054 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[2];
00055 <a class="code" href="classDelay.html">Delay</a> combDelays_[2];
00056 StkFloat allpassCoefficient_;
00057 StkFloat combCoefficient_[2];
00058
00059 };
00060
00061 <span class="preprocessor">#endif</span>
00062 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

Binary file not shown.

Binary file not shown.

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>PercFlut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00027 <span class="comment">/***************************************************/</span>
00028
00029 <span class="preprocessor">#ifndef STK_PERCFLUT_H</span>
00030 <span class="preprocessor"></span><span class="preprocessor">#define STK_PERCFLUT_H</span>
00031 <span class="preprocessor"></span>
00032 <span class="preprocessor">#include "FM.h"</span>
00033
<a name="l00034"></a><a class="code" href="classPercFlut.html">00034</a> <span class="keyword">class </span><a class="code" href="classPercFlut.html">PercFlut</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00035 {
00036 <span class="keyword">public</span>:
00038
00041 <a class="code" href="classPercFlut.html#a0">PercFlut</a>();
00042
00044 <a class="code" href="classPercFlut.html#a1">~PercFlut</a>();
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a2">setFrequency</a>(StkFloat frequency);
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00051
00053 StkFloat <a class="code" href="classPercFlut.html#a4">tick</a>();
00054
00056 StkFloat *<a class="code" href="classPercFlut.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00057
00059
00065 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPercFlut.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00066 };
00067
00068 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Phonemes.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00011 <span class="comment">/***************************************************/</span>
00012
00013 <span class="preprocessor">#ifndef STK_PHONEMES_H</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_PHONEMES_H</span>
00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Stk.h"</span>
00017
<a name="l00018"></a><a class="code" href="classPhonemes.html">00018</a> <span class="keyword">class </span><a class="code" href="classPhonemes.html">Phonemes</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00019 {
00020 <span class="keyword">public</span>:
00021
00022 <a class="code" href="classPhonemes.html">Phonemes</a>(<span class="keywordtype">void</span>);
00023 ~<a class="code" href="classPhonemes.html">Phonemes</a>(<span class="keywordtype">void</span>);
00024
00026 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classPhonemes.html#e0">name</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
00027
00029 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e1">voiceGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
00030
00032 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e2">noiseGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
00033
00035 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e3">formantFrequency</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
00036
00038 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e4">formantRadius</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
00039
00041 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e5">formantGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
00042
00043 <span class="keyword">private</span>:
00044
00045 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> phonemeNames[][4];
00046 <span class="keyword">static</span> <span class="keyword">const</span> StkFloat phonemeGains[][2];
00047 <span class="keyword">static</span> <span class="keyword">const</span> StkFloat phonemeParameters[][4][3];
00048 };
00049
00050 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>PitShift.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_PITSHIFT_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_PITSHIFT_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Effect.h"</span>
00016 <span class="preprocessor">#include "DelayL.h"</span>
00017
<a name="l00018"></a><a class="code" href="classPitShift.html">00018</a> <span class="keyword">class </span><a class="code" href="classPitShift.html">PitShift</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a>
00019 {
00020 <span class="keyword">public</span>:
00022 <a class="code" href="classPitShift.html#a0">PitShift</a>();
00023
00025 <a class="code" href="classPitShift.html#a1">~PitShift</a>();
00026
00028 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a2">clear</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a3">setShift</a>(StkFloat shift);
00032
00034 StkFloat <a class="code" href="classPitShift.html#a4">tick</a>(StkFloat input);
00035
00037 StkFloat *<a class="code" href="classPitShift.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00038
00040
00046 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPitShift.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00047
00048 <span class="keyword">protected</span>:
00049 <a class="code" href="classDelayL.html">DelayL</a> delayLine_[2];
00050 StkFloat delay_[2];
00051 StkFloat env_[2];
00052 StkFloat rate_;
00053 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delayLength;
00054 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> halfLength;
00055
00056 };
00057
00058 <span class="preprocessor">#endif</span>
00059 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>PluckTwo.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span>
00020
00021 <span class="preprocessor">#ifndef STK_PLUCKTWO_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_PLUCKTWO_H</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Instrmnt.h"</span>
00025 <span class="preprocessor">#include "DelayL.h"</span>
00026 <span class="preprocessor">#include "DelayA.h"</span>
00027 <span class="preprocessor">#include "OneZero.h"</span>
00028
<a name="l00029"></a><a class="code" href="classPluckTwo.html">00029</a> <span class="keyword">class </span><a class="code" href="classPluckTwo.html">PluckTwo</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00030 {
00031 <span class="keyword">public</span>:
00033 <a class="code" href="classPluckTwo.html#a0">PluckTwo</a>(StkFloat lowestFrequency);
00034
00036 <span class="keyword">virtual</span> <a class="code" href="classPluckTwo.html#a1">~PluckTwo</a>();
00037
00039 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a2">clear</a>();
00040
00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a3">setFrequency</a>(StkFloat frequency);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a4">setDetune</a>(StkFloat detune);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a5">setFreqAndDetune</a>(StkFloat frequency, StkFloat detune);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a6">setPluckPosition</a>(StkFloat position);
00052
00054
00059 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a7">setBaseLoopGain</a>(StkFloat aGain);
00060
00062 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a8">noteOff</a>(StkFloat amplitude);
00063
00065 <span class="keyword">virtual</span> StkFloat <a class="code" href="classPluckTwo.html#a9">tick</a>() = 0;
00066
00068 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classPluckTwo.html#a9">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize) = 0;
00069
00071
00077 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPluckTwo.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 ) = 0;
00078
00079 <span class="keyword">protected</span>:
00080 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00081 <a class="code" href="classDelayA.html">DelayA</a> delayLine2_;
00082 <a class="code" href="classDelayL.html">DelayL</a> combDelay_;
00083 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00084 <a class="code" href="classOneZero.html">OneZero</a> filter2_;
00085
00086 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00087 StkFloat loopGain_;
00088 StkFloat baseLoopGain_;
00089 StkFloat lastFrequency_;
00090 StkFloat lastLength_;
00091 StkFloat detuning_;
00092 StkFloat pluckAmplitude_;
00093 StkFloat pluckPosition_;
00094
00095 };
00096
00097 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Plucked.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span>
00019
00020 <span class="preprocessor">#ifndef STK_PLUCKED_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_PLUCKED_H</span>
00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00024 <span class="preprocessor">#include "DelayA.h"</span>
00025 <span class="preprocessor">#include "OneZero.h"</span>
00026 <span class="preprocessor">#include "OnePole.h"</span>
00027 <span class="preprocessor">#include "Noise.h"</span>
00028
<a name="l00029"></a><a class="code" href="classPlucked.html">00029</a> <span class="keyword">class </span><a class="code" href="classPlucked.html">Plucked</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00030 {
00031 <span class="keyword">public</span>:
00033 <a class="code" href="classPlucked.html#a0">Plucked</a>(StkFloat lowestFrequency);
00034
00036 <a class="code" href="classPlucked.html#a1">~Plucked</a>();
00037
00039 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a2">clear</a>();
00040
00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a3">setFrequency</a>(StkFloat frequency);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a4">pluck</a>(StkFloat amplitude);
00046
00048 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a5">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00049
00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a6">noteOff</a>(StkFloat amplitude);
00052
00054 <span class="keyword">virtual</span> StkFloat <a class="code" href="classPlucked.html#a7">tick</a>();
00055
00057 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classPlucked.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00058
00060
00066 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPlucked.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00067
00068 <span class="keyword">protected</span>:
00069 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00070 <a class="code" href="classOneZero.html">OneZero</a> loopFilter_;
00071 <a class="code" href="classOnePole.html">OnePole</a> pickFilter_;
00072 <a class="code" href="classNoise.html">Noise</a> noise_;
00073 StkFloat loopGain_;
00074 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00075
00076 };
00077
00078 <span class="preprocessor">#endif</span>
00079 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>PoleZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_POLEZERO_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_POLEZERO_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
00019
<a name="l00020"></a><a class="code" href="classPoleZero.html">00020</a> <span class="keyword">class </span><a class="code" href="classPoleZero.html">PoleZero</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00021 {
00022 <span class="keyword">public</span>:
00023
00025 <a class="code" href="classPoleZero.html#a0">PoleZero</a>();
00026
00028 <a class="code" href="classPoleZero.html#a1">~PoleZero</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a2">clear</a>(<span class="keywordtype">void</span>);
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a3">setB0</a>(StkFloat b0);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a4">setB1</a>(StkFloat b1);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a5">setA1</a>(StkFloat a1);
00041
00043
00048 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a6">setAllpass</a>(StkFloat coefficient);
00049
00051
00057 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a7">setBlockZero</a>(StkFloat thePole = 0.99);
00058
00060
00064 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a8">setGain</a>(StkFloat gain);
00065
00067 StkFloat <a class="code" href="classPoleZero.html#a9">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00068
00070 StkFloat <a class="code" href="classPoleZero.html#a10">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00071
00073 StkFloat <a class="code" href="classPoleZero.html#a11">tick</a>(StkFloat sample);
00074
00076 StkFloat *<a class="code" href="classPoleZero.html#a11">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00077
00079
00085 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPoleZero.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00086
00087 };
00088
00089 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>ReedTable.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span>
00019
00020 <span class="preprocessor">#ifndef STK_REEDTABLE_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_REEDTABLE_H</span>
00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Function.h"</span>
00024
<a name="l00025"></a><a class="code" href="classReedTable.html">00025</a> <span class="keyword">class </span><a class="code" href="classReedTable.html">ReedTable</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a>
00026 {
00027 <span class="keyword">public</span>:
00029 <a class="code" href="classReedTable.html#a0">ReedTable</a>();
00030
00032 <a class="code" href="classReedTable.html#a1">~ReedTable</a>();
00033
00035
00040 <span class="keywordtype">void</span> <a class="code" href="classReedTable.html#a2">setOffset</a>(StkFloat offset);
00041
00043
00048 <span class="keywordtype">void</span> <a class="code" href="classReedTable.html#a3">setSlope</a>(StkFloat slope);
00049
00051
00055 StkFloat <a class="code" href="classReedTable.html#a4">tick</a>(StkFloat input);
00056
00058 StkFloat *<a class="code" href="classReedTable.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00059
00061
00067 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classReedTable.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00068
00069 <span class="keyword">protected</span>:
00070 StkFloat offset_;
00071 StkFloat slope_;
00072
00073 };
00074
00075 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Resonate.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span>
00019
00020 <span class="preprocessor">#ifndef STK_RESONATE_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_RESONATE_H</span>
00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00024 <span class="preprocessor">#include "ADSR.h"</span>
00025 <span class="preprocessor">#include "BiQuad.h"</span>
00026 <span class="preprocessor">#include "Noise.h"</span>
00027
<a name="l00028"></a><a class="code" href="classResonate.html">00028</a> <span class="keyword">class </span><a class="code" href="classResonate.html">Resonate</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00029 {
00030 <span class="keyword">public</span>:
00032 <a class="code" href="classResonate.html#a0">Resonate</a>();
00033
00035 <a class="code" href="classResonate.html#a1">~Resonate</a>();
00036
00038 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a2">clear</a>();
00039
00041 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a3">setResonance</a>(StkFloat frequency, StkFloat radius);
00042
00044 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a4">setNotch</a>(StkFloat frequency, StkFloat radius);
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a5">setEqualGainZeroes</a>();
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a6">keyOn</a>();
00051
00053 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a7">keyOff</a>();
00054
00056 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00057
00059 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a9">noteOff</a>(StkFloat amplitude);
00060
00062 StkFloat <a class="code" href="classResonate.html#a10">tick</a>();
00063
00065 StkFloat *<a class="code" href="classResonate.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00066
00068
00074 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classResonate.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00075
00077 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00078
00079 <span class="keyword">protected</span>:
00080 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00081 <a class="code" href="classBiQuad.html">BiQuad</a> filter_;
00082 <a class="code" href="classNoise.html">Noise</a> noise_;
00083 StkFloat poleFrequency_;
00084 StkFloat poleRadius_;
00085 StkFloat zeroFrequency_;
00086 StkFloat zeroRadius_;
00087
00088 };
00089
00090 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Rhodey.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00031 <span class="comment">/***************************************************/</span>
00032
00033 <span class="preprocessor">#ifndef STK_RHODEY_H</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_RHODEY_H</span>
00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span>
00037
<a name="l00038"></a><a class="code" href="classRhodey.html">00038</a> <span class="keyword">class </span><a class="code" href="classRhodey.html">Rhodey</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00039 {
00040 <span class="keyword">public</span>:
00042
00045 <a class="code" href="classRhodey.html#a0">Rhodey</a>();
00046
00048 <a class="code" href="classRhodey.html#a1">~Rhodey</a>();
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a2">setFrequency</a>(StkFloat frequency);
00052
00054 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00055
00057 StkFloat <a class="code" href="classRhodey.html#a4">tick</a>();
00058
00060 StkFloat *<a class="code" href="classRhodey.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00061
00063
00069 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRhodey.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00070 };
00071
00072 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,566 @@
<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.2, pre-release for STK 4.2.0</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 <span class="keyword">enum</span> StreamState {
00131 STREAM_STOPPED,
00132 STREAM_RUNNING
00133 };
00134
00135 RtApi();
00136 <span class="keyword">virtual</span> ~RtApi();
00137 <span class="keywordtype">void</span> openStream( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00138 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
00139 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00140 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00141 <span class="keywordtype">void</span> openStream( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00142 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
00143 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00144 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> *numberOfBuffers );
00145 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData ) = 0;
00146 <span class="keyword">virtual</span> <span class="keywordtype">void</span> cancelStreamCallback() = 0;
00147 <span class="keywordtype">int</span> getDeviceCount(<span class="keywordtype">void</span>);
00148 <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> getDeviceInfo( <span class="keywordtype">int</span> device );
00149 <span class="keywordtype">char</span> * <span class="keyword">const</span> getStreamBuffer();
00150 RtApi::StreamState getStreamState() <span class="keyword">const</span>;
00151 <span class="keyword">virtual</span> <span class="keywordtype">void</span> tickStream() = 0;
00152 <span class="keyword">virtual</span> <span class="keywordtype">void</span> closeStream();
00153 <span class="keyword">virtual</span> <span class="keywordtype">void</span> startStream() = 0;
00154 <span class="keyword">virtual</span> <span class="keywordtype">void</span> stopStream() = 0;
00155 <span class="keyword">virtual</span> <span class="keywordtype">void</span> abortStream() = 0;
00156
00157 <span class="keyword">protected</span>:
00158
00159 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> MAX_SAMPLE_RATES;
00160 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> SAMPLE_RATES[];
00161
00162 <span class="keyword">enum</span> { FAILURE, SUCCESS };
00163
00164 <span class="keyword">enum</span> StreamMode {
00165 OUTPUT,
00166 INPUT,
00167 DUPLEX,
00168 UNINITIALIZED = -75
00169 };
00170
00171 <span class="comment">// A protected structure used for buffer conversion.</span>
00172 <span class="keyword">struct </span>ConvertInfo {
00173 <span class="keywordtype">int</span> channels;
00174 <span class="keywordtype">int</span> inJump, outJump;
00175 RtAudioFormat inFormat, outFormat;
00176 std::vector&lt;int&gt; inOffset;
00177 std::vector&lt;int&gt; outOffset;
00178 };
00179
00180 <span class="comment">// A protected structure for audio streams.</span>
00181 <span class="keyword">struct </span>RtApiStream {
00182 <span class="keywordtype">int</span> device[2]; <span class="comment">// Playback and record, respectively.</span>
00183 <span class="keywordtype">void</span> *apiHandle; <span class="comment">// void pointer for API specific stream handle information</span>
00184 StreamMode mode; <span class="comment">// OUTPUT, INPUT, or DUPLEX.</span>
00185 StreamState state; <span class="comment">// STOPPED or RUNNING</span>
00186 <span class="keywordtype">char</span> *userBuffer;
00187 <span class="keywordtype">char</span> *deviceBuffer;
00188 <span class="keywordtype">bool</span> doConvertBuffer[2]; <span class="comment">// Playback and record, respectively.</span>
00189 <span class="keywordtype">bool</span> deInterleave[2]; <span class="comment">// Playback and record, respectively.</span>
00190 <span class="keywordtype">bool</span> doByteSwap[2]; <span class="comment">// Playback and record, respectively.</span>
00191 <span class="keywordtype">int</span> sampleRate;
00192 <span class="keywordtype">int</span> bufferSize;
00193 <span class="keywordtype">int</span> nBuffers;
00194 <span class="keywordtype">int</span> nUserChannels[2]; <span class="comment">// Playback and record, respectively.</span>
00195 <span class="keywordtype">int</span> nDeviceChannels[2]; <span class="comment">// Playback and record channels, respectively.</span>
00196 RtAudioFormat userFormat;
00197 RtAudioFormat deviceFormat[2]; <span class="comment">// Playback and record, respectively.</span>
00198 StreamMutex mutex;
00199 CallbackInfo callbackInfo;
00200 ConvertInfo convertInfo[2];
00201
00202 RtApiStream()
00203 :apiHandle(0), userBuffer(0), deviceBuffer(0) {}
00204 };
00205
00206 <span class="comment">// A protected device structure for audio devices.</span>
00207 <span class="keyword">struct </span>RtApiDevice {
00208 std::string name;
00209 <span class="keywordtype">bool</span> probed;
00210 <span class="keywordtype">void</span> *apiDeviceId; <span class="comment">// void pointer for API specific device information</span>
00211 <span class="keywordtype">int</span> maxOutputChannels;
00212 <span class="keywordtype">int</span> maxInputChannels;
00213 <span class="keywordtype">int</span> maxDuplexChannels;
00214 <span class="keywordtype">int</span> minOutputChannels;
00215 <span class="keywordtype">int</span> minInputChannels;
00216 <span class="keywordtype">int</span> minDuplexChannels;
00217 <span class="keywordtype">bool</span> hasDuplexSupport;
00218 <span class="keywordtype">bool</span> isDefault;
00219 std::vector&lt;int&gt; sampleRates;
00220 RtAudioFormat nativeFormats;
00222 <span class="comment">// Default constructor.</span>
00223 RtApiDevice()
00224 :probed(false), apiDeviceId(0), maxOutputChannels(0), maxInputChannels(0),
00225 maxDuplexChannels(0), minOutputChannels(0), minInputChannels(0),
00226 minDuplexChannels(0), isDefault(false), nativeFormats(0) {}
00227 };
00228
00229 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> Int16;
00230 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> Int32;
00231 <span class="keyword">typedef</span> <span class="keywordtype">float</span> Float32;
00232 <span class="keyword">typedef</span> <span class="keywordtype">double</span> Float64;
00233
00234 <span class="keywordtype">char</span> message_[1024];
00235 <span class="keywordtype">int</span> nDevices_;
00236 std::vector&lt;RtApiDevice&gt; devices_;
00237 RtApiStream stream_;
00238
00243 <span class="keyword">virtual</span> <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>) = 0;
00244
00253 <span class="keyword">virtual</span> <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00254
00263 <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,
00264 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00265 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00266
00271 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
00272
00277 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
00278
00280 <span class="keywordtype">void</span> clearDeviceInfo( RtApiDevice *info );
00281
00283 <span class="keywordtype">void</span> clearStreamInfo();
00284
00286 <span class="keywordtype">void</span> error( RtError::Type type );
00287
00292 <span class="keywordtype">void</span> verifyStream();
00293
00298 <span class="keywordtype">void</span> convertBuffer( <span class="keywordtype">char</span> *outBuffer, <span class="keywordtype">char</span> *inBuffer, ConvertInfo &amp;info );
00299
00301 <span class="keywordtype">void</span> byteSwapBuffer( <span class="keywordtype">char</span> *buffer, <span class="keywordtype">int</span> samples, RtAudioFormat format );
00302
00304 <span class="keywordtype">int</span> formatBytes( RtAudioFormat format );
00305 };
00306
00307
00308 <span class="comment">// **************************************************************** //</span>
00309 <span class="comment">//</span>
00310 <span class="comment">// RtAudio class declaration.</span>
00311 <span class="comment">//</span>
00312 <span class="comment">// RtAudio is a "controller" used to select an available audio i/o</span>
00313 <span class="comment">// interface. It presents a common API for the user to call but all</span>
00314 <span class="comment">// functionality is implemented by the class RtAudioApi and its</span>
00315 <span class="comment">// subclasses. RtAudio creates an instance of an RtAudioApi subclass</span>
00316 <span class="comment">// based on the user's API choice. If no choice is made, RtAudio</span>
00317 <span class="comment">// attempts to make a "logical" API selection.</span>
00318 <span class="comment">//</span>
00319 <span class="comment">// **************************************************************** //</span>
00320
<a name="l00321"></a><a class="code" href="classRtAudio.html">00321</a> <span class="keyword">class </span><a class="code" href="classRtAudio.html">RtAudio</a>
00322 {
00323 <span class="keyword">public</span>:
00324
<a name="l00326"></a><a class="code" href="classRtAudio.html#w8">00326</a> <span class="keyword">enum</span> <a class="code" href="classRtAudio.html#w8">RtAudioApi</a> {
00327 <a class="code" href="classRtAudio.html#w8w0">UNSPECIFIED</a>,
00328 <a class="code" href="classRtAudio.html#w8w1">LINUX_ALSA</a>,
00329 <a class="code" href="classRtAudio.html#w8w2">LINUX_OSS</a>,
00330 <a class="code" href="classRtAudio.html#w8w3">LINUX_JACK</a>,
00331 <a class="code" href="classRtAudio.html#w8w4">MACOSX_CORE</a>,
00332 <a class="code" href="classRtAudio.html#w8w5">IRIX_AL</a>,
00333 <a class="code" href="classRtAudio.html#w8w6">WINDOWS_ASIO</a>,
00334 <a class="code" href="classRtAudio.html#w8w7">WINDOWS_DS</a>
00335 };
00336
00338
00348 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( RtAudioApi api=UNSPECIFIED );
00349
00351
00362 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00363 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
00364 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00365 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers, RtAudioApi api=UNSPECIFIED );
00366
00368
00376 <a class="code" href="classRtAudio.html#a0">RtAudio</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00377 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
00378 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00379 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> *numberOfBuffers, RtAudioApi api=UNSPECIFIED );
00380
00382
00386 <a class="code" href="classRtAudio.html#a3">~RtAudio</a>();
00387
00389
00415 <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a4">openStream</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00416 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
00417 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00418 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00419
00421
00429 <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a4">openStream</a>( <span class="keywordtype">int</span> outputDevice, <span class="keywordtype">int</span> outputChannels,
00430 <span class="keywordtype">int</span> inputDevice, <span class="keywordtype">int</span> inputChannels,
00431 RtAudioFormat format, <span class="keywordtype">int</span> sampleRate,
00432 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> *numberOfBuffers );
00433
00435
<a name="l00454"></a><a class="code" href="classRtAudio.html#a6">00454</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a6">setStreamCallback</a>(RtAudioCallback callback, <span class="keywordtype">void</span> *userData) { rtapi_-&gt;setStreamCallback( callback, userData ); };
00455
00457
<a name="l00464"></a><a class="code" href="classRtAudio.html#a7">00464</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a7">cancelStreamCallback</a>() { rtapi_-&gt;cancelStreamCallback(); };
00465
<a name="l00467"></a><a class="code" href="classRtAudio.html#a8">00467</a> <span class="keywordtype">int</span> <a class="code" href="classRtAudio.html#a8">getDeviceCount</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> rtapi_-&gt;getDeviceCount(); };
00468
00470
<a name="l00478"></a><a class="code" href="classRtAudio.html#a9">00478</a> <a class="code" href="structRtAudioDeviceInfo.html">RtAudioDeviceInfo</a> <a class="code" href="classRtAudio.html#a9">getDeviceInfo</a>(<span class="keywordtype">int</span> device) { <span class="keywordflow">return</span> rtapi_-&gt;getDeviceInfo( device ); };
00479
00481
<a name="l00486"></a><a class="code" href="classRtAudio.html#a10">00486</a> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classRtAudio.html#a10">getStreamBuffer</a>() { <span class="keywordflow">return</span> rtapi_-&gt;getStreamBuffer(); };
00487
00489
<a name="l00494"></a><a class="code" href="classRtAudio.html#a11">00494</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a11">tickStream</a>() { rtapi_-&gt;tickStream(); };
00495
00497
<a name="l00501"></a><a class="code" href="classRtAudio.html#a12">00501</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a12">closeStream</a>() { rtapi_-&gt;closeStream(); };
00502
00504
<a name="l00508"></a><a class="code" href="classRtAudio.html#a13">00508</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a13">startStream</a>() { rtapi_-&gt;startStream(); };
00509
00511
<a name="l00515"></a><a class="code" href="classRtAudio.html#a14">00515</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a14">stopStream</a>() { rtapi_-&gt;stopStream(); };
00516
00518
<a name="l00522"></a><a class="code" href="classRtAudio.html#a15">00522</a> <span class="keywordtype">void</span> <a class="code" href="classRtAudio.html#a15">abortStream</a>() { rtapi_-&gt;abortStream(); };
00523
00524
00525 <span class="keyword">protected</span>:
00526
00527 <span class="keywordtype">void</span> initialize( RtAudioApi api );
00528
00529 RtApi *rtapi_;
00530 };
00531
00532
00533 <span class="comment">// RtApi Subclass prototypes.</span>
00534
00535 <span class="preprocessor">#if defined(__LINUX_ALSA__)</span>
00536 <span class="preprocessor"></span>
00537 <span class="keyword">class </span>RtApiAlsa: <span class="keyword">public</span> RtApi
00538 {
00539 <span class="keyword">public</span>:
00540
00541 RtApiAlsa();
00542 ~RtApiAlsa();
00543 <span class="keywordtype">void</span> tickStream();
00544 <span class="keywordtype">void</span> closeStream();
00545 <span class="keywordtype">void</span> startStream();
00546 <span class="keywordtype">void</span> stopStream();
00547 <span class="keywordtype">void</span> abortStream();
00548 <span class="keywordtype">int</span> streamWillBlock();
00549 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00550 <span class="keywordtype">void</span> cancelStreamCallback();
00551
00552 <span class="keyword">private</span>:
00553
00554 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00555 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00556 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00557 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00558 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00559 };
00560
00561 <span class="preprocessor">#endif</span>
00562 <span class="preprocessor"></span>
00563 <span class="preprocessor">#if defined(__LINUX_JACK__)</span>
00564 <span class="preprocessor"></span>
00565 <span class="keyword">class </span>RtApiJack: <span class="keyword">public</span> RtApi
00566 {
00567 <span class="keyword">public</span>:
00568
00569 RtApiJack();
00570 ~RtApiJack();
00571 <span class="keywordtype">void</span> tickStream();
00572 <span class="keywordtype">void</span> closeStream();
00573 <span class="keywordtype">void</span> startStream();
00574 <span class="keywordtype">void</span> stopStream();
00575 <span class="keywordtype">void</span> abortStream();
00576 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00577 <span class="keywordtype">void</span> cancelStreamCallback();
00578 <span class="comment">// This function is intended for internal use only. It must be</span>
00579 <span class="comment">// public because it is called by the internal callback handler,</span>
00580 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
00581 <span class="comment">// will most likely produce highly undesireable results!</span>
00582 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> nframes );
00583
00584 <span class="keyword">private</span>:
00585
00586 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00587 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00588 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00589 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00590 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00591 };
00592
00593 <span class="preprocessor">#endif</span>
00594 <span class="preprocessor"></span>
00595 <span class="preprocessor">#if defined(__LINUX_OSS__)</span>
00596 <span class="preprocessor"></span>
00597 <span class="keyword">class </span>RtApiOss: <span class="keyword">public</span> RtApi
00598 {
00599 <span class="keyword">public</span>:
00600
00601 RtApiOss();
00602 ~RtApiOss();
00603 <span class="keywordtype">void</span> tickStream();
00604 <span class="keywordtype">void</span> closeStream();
00605 <span class="keywordtype">void</span> startStream();
00606 <span class="keywordtype">void</span> stopStream();
00607 <span class="keywordtype">void</span> abortStream();
00608 <span class="keywordtype">int</span> streamWillBlock();
00609 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00610 <span class="keywordtype">void</span> cancelStreamCallback();
00611
00612 <span class="keyword">private</span>:
00613
00614 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00615 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00616 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00617 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00618 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00619 };
00620
00621 <span class="preprocessor">#endif</span>
00622 <span class="preprocessor"></span>
00623 <span class="preprocessor">#if defined(__MACOSX_CORE__)</span>
00624 <span class="preprocessor"></span>
00625 <span class="preprocessor">#include &lt;CoreAudio/AudioHardware.h&gt;</span>
00626
00627 <span class="keyword">class </span>RtApiCore: <span class="keyword">public</span> RtApi
00628 {
00629 <span class="keyword">public</span>:
00630
00631 RtApiCore();
00632 ~RtApiCore();
00633 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
00634 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
00635 <span class="keywordtype">void</span> tickStream();
00636 <span class="keywordtype">void</span> closeStream();
00637 <span class="keywordtype">void</span> startStream();
00638 <span class="keywordtype">void</span> stopStream();
00639 <span class="keywordtype">void</span> abortStream();
00640 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00641 <span class="keywordtype">void</span> cancelStreamCallback();
00642
00643 <span class="comment">// This function is intended for internal use only. It must be</span>
00644 <span class="comment">// public because it is called by the internal callback handler,</span>
00645 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
00646 <span class="comment">// will most likely produce highly undesireable results!</span>
00647 <span class="keywordtype">void</span> callbackEvent( AudioDeviceID deviceId, <span class="keywordtype">void</span> *inData, <span class="keywordtype">void</span> *outData );
00648
00649 <span class="keyword">private</span>:
00650
00651 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00652 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00653 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00654 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00655 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00656 };
00657
00658 <span class="preprocessor">#endif</span>
00659 <span class="preprocessor"></span>
00660 <span class="preprocessor">#if defined(__WINDOWS_DS__)</span>
00661 <span class="preprocessor"></span>
00662 <span class="keyword">class </span>RtApiDs: <span class="keyword">public</span> RtApi
00663 {
00664 <span class="keyword">public</span>:
00665
00666 RtApiDs();
00667 ~RtApiDs();
00668 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
00669 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
00670 <span class="keywordtype">void</span> tickStream();
00671 <span class="keywordtype">void</span> closeStream();
00672 <span class="keywordtype">void</span> startStream();
00673 <span class="keywordtype">void</span> stopStream();
00674 <span class="keywordtype">void</span> abortStream();
00675 <span class="keywordtype">int</span> streamWillBlock();
00676 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00677 <span class="keywordtype">void</span> cancelStreamCallback();
00678
00679 <span class="keyword">private</span>:
00680
00681 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00682 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00683 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00684 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00685 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00686 };
00687
00688 <span class="preprocessor">#endif</span>
00689 <span class="preprocessor"></span>
00690 <span class="preprocessor">#if defined(__WINDOWS_ASIO__)</span>
00691 <span class="preprocessor"></span>
00692 <span class="keyword">class </span>RtApiAsio: <span class="keyword">public</span> RtApi
00693 {
00694 <span class="keyword">public</span>:
00695
00696 RtApiAsio();
00697 ~RtApiAsio();
00698 <span class="keywordtype">void</span> tickStream();
00699 <span class="keywordtype">void</span> closeStream();
00700 <span class="keywordtype">void</span> startStream();
00701 <span class="keywordtype">void</span> stopStream();
00702 <span class="keywordtype">void</span> abortStream();
00703 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00704 <span class="keywordtype">void</span> cancelStreamCallback();
00705
00706 <span class="comment">// This function is intended for internal use only. It must be</span>
00707 <span class="comment">// public because it is called by the internal callback handler,</span>
00708 <span class="comment">// which is not a member of RtAudio. External use of this function</span>
00709 <span class="comment">// will most likely produce highly undesireable results!</span>
00710 <span class="keywordtype">void</span> callbackEvent( <span class="keywordtype">long</span> bufferIndex );
00711
00712 <span class="keyword">private</span>:
00713
00714 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00715 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00716 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00717 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00718 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00719 };
00720
00721 <span class="preprocessor">#endif</span>
00722 <span class="preprocessor"></span>
00723 <span class="preprocessor">#if defined(__IRIX_AL__)</span>
00724 <span class="preprocessor"></span>
00725 <span class="keyword">class </span>RtApiAl: <span class="keyword">public</span> RtApi
00726 {
00727 <span class="keyword">public</span>:
00728
00729 RtApiAl();
00730 ~RtApiAl();
00731 <span class="keywordtype">int</span> getDefaultOutputDevice(<span class="keywordtype">void</span>);
00732 <span class="keywordtype">int</span> getDefaultInputDevice(<span class="keywordtype">void</span>);
00733 <span class="keywordtype">void</span> tickStream();
00734 <span class="keywordtype">void</span> closeStream();
00735 <span class="keywordtype">void</span> startStream();
00736 <span class="keywordtype">void</span> stopStream();
00737 <span class="keywordtype">void</span> abortStream();
00738 <span class="keywordtype">int</span> streamWillBlock();
00739 <span class="keywordtype">void</span> setStreamCallback( RtAudioCallback callback, <span class="keywordtype">void</span> *userData );
00740 <span class="keywordtype">void</span> cancelStreamCallback();
00741
00742 <span class="keyword">private</span>:
00743
00744 <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);
00745 <span class="keywordtype">void</span> probeDeviceInfo( RtApiDevice *info );
00746 <span class="keywordtype">bool</span> probeDeviceOpen( <span class="keywordtype">int</span> device, StreamMode mode, <span class="keywordtype">int</span> channels,
00747 <span class="keywordtype">int</span> sampleRate, RtAudioFormat format,
00748 <span class="keywordtype">int</span> *bufferSize, <span class="keywordtype">int</span> numberOfBuffers );
00749 };
00750
00751 <span class="preprocessor">#endif</span>
00752 <span class="preprocessor"></span>
00753 <span class="comment">// Define the following flag to have extra information spewed to stderr.</span>
00754 <span class="comment">//#define __RTAUDIO_DEBUG__</span>
00755
00756 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>RtDuplex.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00029 <span class="comment">/***************************************************/</span>
00030
00031 <span class="preprocessor">#ifndef STK_RTDUPLEX_H</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTDUPLEX_H</span>
00033 <span class="preprocessor"></span>
00034 <span class="preprocessor">#include "Stk.h"</span>
00035 <span class="preprocessor">#include "RtAudio.h"</span>
00036
<a name="l00037"></a><a class="code" href="classRtDuplex.html">00037</a> <span class="keyword">class </span><a class="code" href="classRtDuplex.html">RtDuplex</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00038 {
00039 <span class="keyword">public</span>:
00041
00052 <a class="code" href="classRtDuplex.html#a0">RtDuplex</a>(<span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 2);
00053
00055 <a class="code" href="classRtDuplex.html#a1">~RtDuplex</a>();
00056
00058
00061 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a2">start</a>(<span class="keywordtype">void</span>);
00062
00064
00067 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a3">stop</a>(<span class="keywordtype">void</span>);
00068
00070 StkFloat <a class="code" href="classRtDuplex.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00071
00073
00076 StkFloat <a class="code" href="classRtDuplex.html#a5">tick</a>(<span class="keyword">const</span> StkFloat sample);
00077
00079
00082 StkFloat *<a class="code" href="classRtDuplex.html#a5">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00083
00085
00092 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtDuplex.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00093
00095 <span class="keyword">const</span> StkFloat *<a class="code" href="classRtDuplex.html#a8">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00096
00098
00101 StkFloat *<a class="code" href="classRtDuplex.html#a9">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
00102
00104
00110 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtDuplex.html#a9">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00111
00112 <span class="keyword">protected</span>:
00113
00114 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00115 StkFloat *data_;
00116 StkFloat *lastOutput_;
00117 <span class="keywordtype">int</span> bufferSize_;
00118 <span class="keywordtype">bool</span> stopped_;
00119 <span class="keywordtype">long</span> counter_;
00120 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
00121
00122 };
00123
00124 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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://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,167 @@
<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>
00036 <span class="comment">/**********************************************************************/</span>
00037
00038 <span class="comment">// RtMidi: Version 1.0.2, 21 September 2004</span>
00039
00040 <span class="preprocessor">#ifndef RTMIDI_H</span>
00041 <span class="preprocessor"></span><span class="preprocessor">#define RTMIDI_H</span>
00042 <span class="preprocessor"></span>
00043 <span class="preprocessor">#include "RtError.h"</span>
00044 <span class="preprocessor">#include &lt;string&gt;</span>
00045
<a name="l00046"></a><a class="code" href="classRtMidi.html">00046</a> <span class="keyword">class </span><a class="code" href="classRtMidi.html">RtMidi</a>
00047 {
00048 <span class="keyword">protected</span>:
00049
00050 <a class="code" href="classRtMidi.html">RtMidi</a>();
00051
00052 <span class="keyword">virtual</span> ~<a class="code" href="classRtMidi.html">RtMidi</a>() {};
00053
00054 <span class="comment">// A basic error reporting function for internal use in the RtMidi</span>
00055 <span class="comment">// subclasses. The behavior of this function can be modified to</span>
00056 <span class="comment">// suit specific needs.</span>
00057 <span class="keywordtype">void</span> error( <a class="code" href="classRtError.html#w11">RtError::Type</a> type );
00058
00059 <span class="keyword">virtual</span> <span class="keywordtype">void</span> openPort( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 ) = 0;
00060
00061 <span class="keywordtype">void</span> *apiData_;
00062 <span class="keywordtype">bool</span> connected_;
00063 std::string errorString_;
00064 };
00065
00066 <span class="comment">/**********************************************************************/</span>
00082 <span class="comment">/**********************************************************************/</span>
00083
00084 <span class="preprocessor">#include &lt;vector&gt;</span>
00085 <span class="preprocessor">#include &lt;queue&gt;</span>
00086
<a name="l00087"></a><a class="code" href="classRtMidiIn.html">00087</a> <span class="keyword">class </span><a class="code" href="classRtMidiIn.html">RtMidiIn</a> : <span class="keyword">public</span> <a class="code" href="classRtMidi.html">RtMidi</a>
00088 {
00089 <span class="keyword">public</span>:
00090
<a name="l00092"></a><a class="code" href="classRtMidiIn.html#w0">00092</a> <span class="keyword">typedef</span> void (*<a class="code" href="classRtMidiIn.html#w0">RtMidiCallback</a>)( <span class="keywordtype">double</span> timeStamp, std::vector&lt;unsigned char&gt; *message, <span class="keywordtype">void</span> *userData);
00093
00095
00098 <a class="code" href="classRtMidiIn.html#a0">RtMidiIn</a>();
00099
00101 <a class="code" href="classRtMidiIn.html#a1">~RtMidiIn</a>();
00102
00104
00108 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a2">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 );
00109
00111
00117 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a3">openVirtualPort</a>();
00118
00120
00126 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a4">setCallback</a>( <a class="code" href="classRtMidiIn.html#w0">RtMidiCallback</a> callback, <span class="keywordtype">void</span> *userData = 0 );
00127
00129
00133 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a5">cancelCallback</a>();
00134
00136 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a6">closePort</a>( <span class="keywordtype">void</span> );
00137
00139 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidiIn.html#a7">getPortCount</a>();
00140
00142
00145 std::string <a class="code" href="classRtMidiIn.html#a8">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 );
00146
00148
00152 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a9">setQueueSizeLimit</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueSize );
00153
00155
00162 <span class="keywordtype">void</span> <a class="code" href="classRtMidiIn.html#a10">ignoreTypes</a>( <span class="keywordtype">bool</span> midiSysex = <span class="keyword">true</span>, <span class="keywordtype">bool</span> midiTime = <span class="keyword">true</span>, <span class="keywordtype">bool</span> midiSense = <span class="keyword">true</span> );
00163
00165
00172 <span class="keywordtype">double</span> <a class="code" href="classRtMidiIn.html#a11">getMessage</a>( std::vector&lt;unsigned char&gt; *message );
00173
00174 <span class="comment">// A MIDI structure used internally by the class to store incoming</span>
00175 <span class="comment">// messages. Each message represents one and only one MIDI message.</span>
00176 <span class="keyword">struct </span>MidiMessage {
00177 std::vector&lt;unsigned char&gt; bytes;
00178 <span class="keywordtype">double</span> timeStamp;
00179
00180 <span class="comment">// Default constructor.</span>
00181 MidiMessage()
00182 :bytes(3), timeStamp(0.0) {}
00183 };
00184
00185 <span class="comment">// The RtMidiInData structure is used to pass private class data to</span>
00186 <span class="comment">// the MIDI input handling function or thread.</span>
00187 <span class="keyword">struct </span>RtMidiInData {
00188 std::queue&lt;MidiMessage&gt; queue;
00189 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> queueLimit;
00190 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ignoreFlags;
00191 <span class="keywordtype">bool</span> doInput;
00192 <span class="keywordtype">bool</span> firstMessage;
00193 <span class="keywordtype">void</span> *apiData;
00194 <span class="keywordtype">bool</span> usingCallback;
00195 <span class="keywordtype">void</span> *userCallback;
00196 <span class="keywordtype">void</span> *userData;
00197
00198 <span class="comment">// Default constructor.</span>
00199 RtMidiInData()
00200 : queueLimit(1024), ignoreFlags(7), doInput(false), firstMessage(true),
00201 apiData(0), usingCallback(false), userCallback(0), userData(0) {}
00202 };
00203
00204 <span class="keyword">private</span>:
00205
00206 <span class="keywordtype">void</span> initialize( <span class="keywordtype">void</span> );
00207 RtMidiInData inputData_;
00208
00209 };
00210
00211 <span class="comment">/**********************************************************************/</span>
00223 <span class="comment">/**********************************************************************/</span>
00224
<a name="l00225"></a><a class="code" href="classRtMidiOut.html">00225</a> <span class="keyword">class </span><a class="code" href="classRtMidiOut.html">RtMidiOut</a> : <span class="keyword">public</span> <a class="code" href="classRtMidi.html">RtMidi</a>
00226 {
00227 <span class="keyword">public</span>:
00228
00230
00233 <a class="code" href="classRtMidiOut.html#a0">RtMidiOut</a>();
00234
00236 <a class="code" href="classRtMidiOut.html#a1">~RtMidiOut</a>();
00237
00239
00245 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a2">openPort</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber = 0 );
00246
00248 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a3">closePort</a>();
00249
00251
00259 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a4">openVirtualPort</a>();
00260
00262 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classRtMidiOut.html#a5">getPortCount</a>();
00263
00265
00268 std::string <a class="code" href="classRtMidiOut.html#a6">getPortName</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> portNumber );
00269
00271
00275 <span class="keywordtype">void</span> <a class="code" href="classRtMidiOut.html#a7">sendMessage</a>( std::vector&lt;unsigned char&gt; *message );
00276
00277 <span class="keyword">private</span>:
00278
00279 <span class="keywordtype">void</span> initialize( <span class="keywordtype">void</span> );
00280 };
00281
00282 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,74 @@
<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>
00024 <span class="comment">/***************************************************/</span>
00025
00026 <span class="preprocessor">#ifndef STK_RTWVIN_H</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTWVIN_H</span>
00028 <span class="preprocessor"></span>
00029 <span class="preprocessor">#include "WvIn.h"</span>
00030 <span class="preprocessor">#include "RtAudio.h"</span>
00031
<a name="l00032"></a><a class="code" href="classRtWvIn.html">00032</a> <span class="keyword">class </span><a class="code" href="classRtWvIn.html">RtWvIn</a> : <span class="keyword">protected</span> <a class="code" href="classWvIn.html">WvIn</a>
00033 {
00034 <span class="keyword">public</span>:
00036
00047 <a class="code" href="classRtWvIn.html#a0">RtWvIn</a>(<span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 2);
00048
00050 <a class="code" href="classRtWvIn.html#a1">~RtWvIn</a>();
00051
00053
00056 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a2">start</a>(<span class="keywordtype">void</span>);
00057
00059
00062 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a3">stop</a>(<span class="keywordtype">void</span>);
00063
00065 StkFloat <a class="code" href="classRtWvIn.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00066
00068
00071 StkFloat <a class="code" href="classRtWvIn.html#a5">tick</a>(<span class="keywordtype">void</span>);
00072
00074
00077 StkFloat *<a class="code" href="classRtWvIn.html#a5">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00078
00080
00086 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtWvIn.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00087
00089 <span class="keyword">const</span> StkFloat *<a class="code" href="classRtWvIn.html#a8">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00090
00092
00095 <span class="keyword">const</span> StkFloat *<a class="code" href="classRtWvIn.html#a9">tickFrame</a>(<span class="keywordtype">void</span>);
00096
00098
00101 StkFloat *<a class="code" href="classRtWvIn.html#a9">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00102
00104
00109 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtWvIn.html#a9">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00110
00111 <span class="keyword">protected</span>:
00112
00113 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00114 <span class="keywordtype">bool</span> stopped_;
00115 <span class="keywordtype">long</span> counter_;
00116
00117 };
00118
00119 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>RtWvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00023 <span class="comment">/***************************************************/</span>
00024
00025 <span class="preprocessor">#ifndef STK_RTWVOUT_H</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTWVOUT_H</span>
00027 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "WvOut.h"</span>
00029 <span class="preprocessor">#include "RtAudio.h"</span>
00030
<a name="l00031"></a><a class="code" href="classRtWvOut.html">00031</a> <span class="keyword">class </span><a class="code" href="classRtWvOut.html">RtWvOut</a> : <span class="keyword">protected</span> <a class="code" href="classWvOut.html">WvOut</a>
00032 {
00033 <span class="keyword">public</span>:
00034
00036
00047 <a class="code" href="classRtWvOut.html#a0">RtWvOut</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 4 );
00048
00050 <a class="code" href="classRtWvOut.html#a1">~RtWvOut</a>();
00051
00053
00056 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a2">start</a>(<span class="keywordtype">void</span>);
00057
00059
00062 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a3">stop</a>(<span class="keywordtype">void</span>);
00063
00065 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classRtWvOut.html#a4">getFrames</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00066
00068 StkFloat <a class="code" href="classRtWvOut.html#a5">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00069
00071
00074 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>( <span class="keyword">const</span> StkFloat sample );
00075
00077
00080 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>( <span class="keyword">const</span> StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00081
00083
00089 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00090
00092
00095 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a9">tickFrame</a>( <span class="keyword">const</span> StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1 );
00096
00098
00103 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a9">tickFrame</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00104
00105 <span class="keyword">protected</span>:
00106
00107 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00108 StkFloat *dataPtr_;
00109 <span class="keywordtype">bool</span> stopped_;
00110 <span class="keywordtype">int</span> bufferSize_;
00111
00112 };
00113
00114 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,147 @@
<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.msg</h1><div class="fragment"><pre>00001 <span class="comment">/*********************************************************/</span>
00002 <span class="comment">/*</span>
00003 <span class="comment"> Definition of SKINI Message Types and Special Symbols</span>
00004 <span class="comment"> Synthesis toolKit Instrument Network Interface</span>
00005 <span class="comment"></span>
00006 <span class="comment"> These symbols should have the form:</span>
00007 <span class="comment"></span>
00008 <span class="comment"> \c __SK_&lt;name&gt;_</span>
00009 <span class="comment"></span>
00010 <span class="comment"> where &lt;name&gt; is the string used in the SKINI stream.</span>
00011 <span class="comment"></span>
00012 <span class="comment"> by Perry R. Cook, 1995 - 2004.</span>
00013 <span class="comment">*/</span>
00014 <span class="comment">/*********************************************************/</span>
00015
00016 <span class="preprocessor">#define NOPE -32767</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define YEP 1</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define SK_DBL -32766</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define SK_INT -32765</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define SK_STR -32764</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Exit_ 999</span>
00022 <span class="preprocessor"></span>
00023 <span class="comment">/***** MIDI COMPATIBLE MESSAGES *****/</span>
00024 <span class="comment">/*** (Status bytes for channel=0) ***/</span>
00025
00026 <span class="preprocessor">#define __SK_NoteOff_ 128</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NoteOn_ 144</span>
00028 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PolyPressure_ 160</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ControlChange_ 176</span>
00030 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProgramChange_ 192</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define __SK_AfterTouch_ 208</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ChannelPressure_ __SK_AfterTouch_</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PitchWheel_ 224</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PitchBend_ __SK_PitchWheel_</span>
00035 <span class="preprocessor"></span><span class="preprocessor">#define __SK_PitchChange_ 49</span>
00036 <span class="preprocessor"></span>
00037 <span class="preprocessor">#define __SK_Clock_ 248</span>
00038 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SongStart_ 250</span>
00039 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Continue_ 251</span>
00040 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SongStop_ 252</span>
00041 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ActiveSensing_ 254</span>
00042 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SystemReset_ 255</span>
00043 <span class="preprocessor"></span>
00044 <span class="preprocessor">#define __SK_Volume_ 7</span>
00045 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ModWheel_ 1</span>
00046 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Modulation_ __SK_ModWheel_</span>
00047 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Breath_ 2</span>
00048 <span class="preprocessor"></span><span class="preprocessor">#define __SK_FootControl_ 4</span>
00049 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Portamento_ 65</span>
00050 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Balance_ 8</span>
00051 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Pan_ 10</span>
00052 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Sustain_ 64</span>
00053 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Damper_ __SK_Sustain_</span>
00054 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Expression_ 11 </span>
00055 <span class="preprocessor"></span>
00056 <span class="preprocessor">#define __SK_AfterTouch_Cont_ 128</span>
00057 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ModFrequency_ __SK_Expression_</span>
00058 <span class="preprocessor"></span>
00059 <span class="preprocessor">#define __SK_ProphesyRibbon_ 16</span>
00060 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyWheelUp_ 2</span>
00061 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyWheelDown_ 3</span>
00062 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyPedal_ 18</span>
00063 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyKnob1_ 21</span>
00064 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ProphesyKnob2_ 22</span>
00065 <span class="preprocessor"></span>
00066 <span class="comment">/*** Instrument Family Specific ***/</span>
00067
00068 <span class="preprocessor">#define __SK_NoiseLevel_ __SK_FootControl_</span>
00069 <span class="preprocessor"></span>
00070 <span class="preprocessor">#define __SK_PickPosition_ __SK_FootControl_</span>
00071 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StringDamping_ __SK_Expression_</span>
00072 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StringDetune_ __SK_ModWheel_</span>
00073 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BodySize_ __SK_Breath_</span>
00074 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BowPressure_ __SK_Breath_</span>
00075 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BowPosition_ __SK_PickPosition_</span>
00076 <span class="preprocessor"></span><span class="preprocessor">#define __SK_BowBeta_ __SK_BowPosition_</span>
00077 <span class="preprocessor"></span>
00078 <span class="preprocessor">#define __SK_ReedStiffness_ __SK_Breath_</span>
00079 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ReedRestPos_ __SK_FootControl_</span>
00080 <span class="preprocessor"></span>
00081 <span class="preprocessor">#define __SK_FluteEmbouchure_ __SK_Breath_</span>
00082 <span class="preprocessor"></span><span class="preprocessor">#define __SK_JetDelay_ __SK_FluteEmbouchure_</span>
00083 <span class="preprocessor"></span>
00084 <span class="preprocessor">#define __SK_LipTension_ __SK_Breath_</span>
00085 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SlideLength_ __SK_FootControl_</span>
00086 <span class="preprocessor"></span>
00087 <span class="preprocessor">#define __SK_StrikePosition_ __SK_PickPosition_</span>
00088 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StickHardness_ __SK_Breath_</span>
00089 <span class="preprocessor"></span>
00090 <span class="preprocessor">#define __SK_TrillDepth_ 1051</span>
00091 <span class="preprocessor"></span><span class="preprocessor">#define __SK_TrillSpeed_ 1052</span>
00092 <span class="preprocessor"></span><span class="preprocessor">#define __SK_StrumSpeed_ __SK_TrillSpeed_</span>
00093 <span class="preprocessor"></span><span class="preprocessor">#define __SK_RollSpeed_ __SK_TrillSpeed_</span>
00094 <span class="preprocessor"></span>
00095 <span class="preprocessor">#define __SK_FilterQ_ __SK_Breath_</span>
00096 <span class="preprocessor"></span><span class="preprocessor">#define __SK_FilterFreq_ 1062</span>
00097 <span class="preprocessor"></span><span class="preprocessor">#define __SK_FilterSweepRate_ __SK_FootControl_</span>
00098 <span class="preprocessor"></span>
00099 <span class="preprocessor">#define __SK_ShakerInst_ 1071 </span>
00100 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ShakerEnergy_ __SK_Breath_</span>
00101 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ShakerDamping_ __SK_ModFrequency_</span>
00102 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ShakerNumObjects_ __SK_FootControl_</span>
00103 <span class="preprocessor"></span>
00104 <span class="preprocessor">#define __SK_Strumming_ 1090</span>
00105 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NotStrumming_ 1091</span>
00106 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Trilling_ 1092</span>
00107 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NotTrilling_ 1093</span>
00108 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Rolling_ __SK_Strumming_</span>
00109 <span class="preprocessor"></span><span class="preprocessor">#define __SK_NotRolling_ __SK_NotStrumming_</span>
00110 <span class="preprocessor"></span>
00111 <span class="preprocessor">#define __SK_PlayerSkill_ 2001</span>
00112 <span class="preprocessor"></span><span class="preprocessor">#define __SK_Chord_ 2002</span>
00113 <span class="preprocessor"></span><span class="preprocessor">#define __SK_ChordOff_ 2003</span>
00114 <span class="preprocessor"></span>
00115 <span class="preprocessor">#define __SK_SINGER_FilePath_ 3000</span>
00116 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Frequency_ 3001</span>
00117 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_NoteName_ 3002</span>
00118 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Shape_ 3003</span>
00119 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Glot_ 3004</span>
00120 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_VoicedUnVoiced_ 3005</span>
00121 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Synthesize_ 3006</span>
00122 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_Silence_ 3007</span>
00123 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_VibratoAmt_ __SK_ModWheel_</span>
00124 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_RndVibAmt_ 3008</span>
00125 <span class="preprocessor"></span><span class="preprocessor">#define __SK_SINGER_VibFreq_ __SK_Expression_</span>
00126 <span class="preprocessor"></span>
00127
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Sampler.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_SAMPLER_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_SAMPLER_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Instrmnt.h"</span>
00016 <span class="preprocessor">#include "ADSR.h"</span>
00017 <span class="preprocessor">#include "WvIn.h"</span>
00018 <span class="preprocessor">#include "WaveLoop.h"</span>
00019 <span class="preprocessor">#include "OnePole.h"</span>
00020
<a name="l00021"></a><a class="code" href="classSampler.html">00021</a> <span class="keyword">class </span><a class="code" href="classSampler.html">Sampler</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00022 {
00023 <span class="keyword">public</span>:
00025 <a class="code" href="classSampler.html#a0">Sampler</a>();
00026
00028 <span class="keyword">virtual</span> <a class="code" href="classSampler.html#a1">~Sampler</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a2">clear</a>();
00032
00034 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a3">setFrequency</a>(StkFloat frequency) = 0;
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a4">keyOn</a>();
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a5">keyOff</a>();
00041
00043 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a6">noteOff</a>(StkFloat amplitude);
00044
00046 <span class="keyword">virtual</span> StkFloat <a class="code" href="classSampler.html#a7">tick</a>() = 0;
00047
00049 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classSampler.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize) = 0;
00050
00052
00058 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSampler.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 ) = 0;
00059
00061 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value) = 0;
00062
00063 <span class="keyword">protected</span>:
00064 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00065 std::vector&lt;WvIn *&gt; attacks_;
00066 std::vector&lt;WaveLoop *&gt; loops_;
00067 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00068 StkFloat baseFrequency_;
00069 std::vector&lt;StkFloat&gt; attackRatios_;
00070 std::vector&lt;StkFloat&gt; loopRatios_;
00071 StkFloat attackGain_;
00072 StkFloat loopGain_;
00073
00074 };
00075
00076 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,81 @@
<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">#ifndef STK_SAXOFONY_H</span>
00039 <span class="preprocessor"></span><span class="preprocessor">#define STK_SAXOFONY_H</span>
00040 <span class="preprocessor"></span>
00041 <span class="preprocessor">#include "Instrmnt.h"</span>
00042 <span class="preprocessor">#include "DelayL.h"</span>
00043 <span class="preprocessor">#include "ReedTable.h"</span>
00044 <span class="preprocessor">#include "OneZero.h"</span>
00045 <span class="preprocessor">#include "Envelope.h"</span>
00046 <span class="preprocessor">#include "Noise.h"</span>
00047 <span class="preprocessor">#include "WaveLoop.h"</span>
00048
<a name="l00049"></a><a class="code" href="classSaxofony.html">00049</a> <span class="keyword">class </span><a class="code" href="classSaxofony.html">Saxofony</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00050 {
00051 <span class="keyword">public</span>:
00053
00056 <a class="code" href="classSaxofony.html#a0">Saxofony</a>(StkFloat lowestFrequency);
00057
00059 <a class="code" href="classSaxofony.html#a1">~Saxofony</a>();
00060
00062 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a2">clear</a>();
00063
00065 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a3">setFrequency</a>(StkFloat frequency);
00066
00068 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a4">setBlowPosition</a>(StkFloat aPosition);
00069
00071 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a5">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00072
00074 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a6">stopBlowing</a>(StkFloat rate);
00075
00077 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00078
00080 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a8">noteOff</a>(StkFloat amplitude);
00081
00083 StkFloat <a class="code" href="classSaxofony.html#a9">tick</a>();
00084
00086 StkFloat *<a class="code" href="classSaxofony.html#a9">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00087
00089
00095 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSaxofony.html#a9">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00096
00098 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00099
00100 <span class="keyword">protected</span>:
00101 <a class="code" href="classDelayL.html">DelayL</a> delays_[2];
00102 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
00103 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00104 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00105 <a class="code" href="classNoise.html">Noise</a> noise_;
00106 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_;
00107 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00108 StkFloat outputGain_;
00109 StkFloat noiseGain_;
00110 StkFloat vibratoGain_;
00111 StkFloat position_;
00112
00113 };
00114
00115 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,92 @@
<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">#ifndef STK_SHAKERS_H</span>
00056 <span class="preprocessor"></span><span class="preprocessor">#define STK_SHAKERS_H</span>
00057 <span class="preprocessor"></span>
00058 <span class="preprocessor">#include "Instrmnt.h"</span>
00059
00060 <span class="keyword">const</span> <span class="keywordtype">int</span> MAX_FREQS = 8;
00061 <span class="keyword">const</span> <span class="keywordtype">int</span> NUM_INSTR = 24;
00062
<a name="l00063"></a><a class="code" href="classShakers.html">00063</a> <span class="keyword">class </span><a class="code" href="classShakers.html">Shakers</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00064 {
00065 <span class="keyword">public</span>:
00067 <a class="code" href="classShakers.html#a0">Shakers</a>();
00068
00070 <a class="code" href="classShakers.html#a1">~Shakers</a>();
00071
00073
00077 <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a2">noteOn</a>(StkFloat instrument, StkFloat amplitude);
00078
00080 <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a3">noteOff</a>(StkFloat amplitude);
00081
00083 StkFloat <a class="code" href="classShakers.html#a4">tick</a>();
00084
00086 StkFloat *<a class="code" href="classShakers.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00087
00089
00095 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classShakers.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00096
00098 <span class="keywordtype">void</span> <a class="code" href="classShakers.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00099
00100 <span class="keyword">protected</span>:
00101
00102 <span class="keywordtype">int</span> setupName(<span class="keywordtype">char</span>* instr);
00103 <span class="keywordtype">int</span> setupNum(<span class="keywordtype">int</span> inst);
00104 <span class="keywordtype">int</span> setFreqAndReson(<span class="keywordtype">int</span> which, StkFloat freq, StkFloat reson);
00105 <span class="keywordtype">void</span> setDecays(StkFloat sndDecay, StkFloat sysDecay);
00106 <span class="keywordtype">void</span> setFinalZs(StkFloat z0, StkFloat z1, StkFloat z2);
00107 StkFloat wuter_tick();
00108 StkFloat tbamb_tick();
00109 StkFloat ratchet_tick();
00110
00111 <span class="keywordtype">int</span> instType_;
00112 <span class="keywordtype">int</span> ratchetPos_, lastRatchetPos_;
00113 StkFloat shakeEnergy_;
00114 StkFloat inputs_[MAX_FREQS];
00115 StkFloat outputs_[MAX_FREQS][2];
00116 StkFloat coeffs_[MAX_FREQS][2];
00117 StkFloat sndLevel_;
00118 StkFloat baseGain_;
00119 StkFloat gains_[MAX_FREQS];
00120 <span class="keywordtype">int</span> nFreqs_;
00121 StkFloat t_center_freqs_[MAX_FREQS];
00122 StkFloat center_freqs_[MAX_FREQS];
00123 StkFloat resons_[MAX_FREQS];
00124 StkFloat freq_rand_[MAX_FREQS];
00125 <span class="keywordtype">int</span> freqalloc_[MAX_FREQS];
00126 StkFloat soundDecay_;
00127 StkFloat systemDecay_;
00128 StkFloat nObjects_;
00129 StkFloat totalEnergy_;
00130 StkFloat ratchet_, ratchetDelta_;
00131 StkFloat finalZ_[3];
00132 StkFloat finalZCoeffs_[3];
00133 StkFloat defObjs_[NUM_INSTR];
00134 StkFloat defDecays_[NUM_INSTR];
00135 StkFloat decayScale_[NUM_INSTR];
00136
00137 };
00138
00139 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,74 @@
<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">#ifndef STK_SIMPLE_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_SIMPLE_H</span>
00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00024 <span class="preprocessor">#include "ADSR.h"</span>
00025 <span class="preprocessor">#include "WaveLoop.h"</span>
00026 <span class="preprocessor">#include "OnePole.h"</span>
00027 <span class="preprocessor">#include "BiQuad.h"</span>
00028 <span class="preprocessor">#include "Noise.h"</span>
00029
<a name="l00030"></a><a class="code" href="classSimple.html">00030</a> <span class="keyword">class </span><a class="code" href="classSimple.html">Simple</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00031 {
00032 <span class="keyword">public</span>:
00034
00037 <a class="code" href="classSimple.html#a0">Simple</a>();
00038
00040 <a class="code" href="classSimple.html#a1">~Simple</a>();
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a2">clear</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a3">setFrequency</a>(StkFloat frequency);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a4">keyOn</a>();
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a5">keyOff</a>();
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a7">noteOff</a>(StkFloat amplitude);
00059
00061 StkFloat <a class="code" href="classSimple.html#a8">tick</a>();
00062
00064 StkFloat *<a class="code" href="classSimple.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00065
00067
00073 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSimple.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00077
00078 <span class="keyword">protected</span>:
00079 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00080 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loop_;
00081 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00082 <a class="code" href="classBiQuad.html">BiQuad</a> biquad_;
00083 <a class="code" href="classNoise.html">Noise</a> noise_;
00084 StkFloat baseFrequency_;
00085 StkFloat loopGain_;
00086
00087 };
00088
00089 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,81 @@
<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">#ifndef STK_SINGWAVE_H</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_SINGWAVE_H</span>
00018 <span class="preprocessor"></span>
00019 <span class="preprocessor">#include "WaveLoop.h"</span>
00020 <span class="preprocessor">#include "Modulate.h"</span>
00021 <span class="preprocessor">#include "Envelope.h"</span>
00022
<a name="l00023"></a><a class="code" href="classSingWave.html">00023</a> <span class="keyword">class </span><a class="code" href="classSingWave.html">SingWave</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
00024 {
00025 <span class="keyword">public</span>:
00027
00031 <a class="code" href="classSingWave.html#a0">SingWave</a>( std::string fileName, <span class="keywordtype">bool</span> raw=<span class="keyword">false</span>);
00032
00034 <a class="code" href="classSingWave.html#a1">~SingWave</a>();
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a2">reset</a>();
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>();
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>(StkFloat peak);
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a5">setFrequency</a>(StkFloat frequency);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a6">setVibratoRate</a>(StkFloat rate);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a7">setVibratoGain</a>(StkFloat gain);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a8">setRandomGain</a>(StkFloat gain);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a9">setSweepRate</a>(StkFloat rate);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a10">setGainRate</a>(StkFloat rate);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a11">setGainTarget</a>(StkFloat target);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a12">noteOn</a>();
00068
00070 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a13">noteOff</a>();
00071
00073 StkFloat <a class="code" href="classSingWave.html#a14">tick</a>();
00074
00076 StkFloat *<a class="code" href="classSingWave.html#a14">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00077
00079
00085 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSingWave.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00086
00087 <span class="keyword">protected</span>:
00088
00089 <a class="code" href="classWaveLoop.html">WaveLoop</a> *wave_;
00090 <a class="code" href="classModulate.html">Modulate</a> *modulator_;
00091 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00092 <a class="code" href="classEnvelope.html">Envelope</a> pitchEnvelope_;
00093 StkFloat rate_;
00094 StkFloat sweepRate_;
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,71 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>Sitar.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00018 <span class="comment">/***************************************************/</span>
00019
00020 <span class="preprocessor">#ifndef STK_SITAR_H</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_SITAR_H</span>
00022 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00024 <span class="preprocessor">#include "DelayA.h"</span>
00025 <span class="preprocessor">#include "OneZero.h"</span>
00026 <span class="preprocessor">#include "Noise.h"</span>
00027 <span class="preprocessor">#include "ADSR.h"</span>
00028
<a name="l00029"></a><a class="code" href="classSitar.html">00029</a> <span class="keyword">class </span><a class="code" href="classSitar.html">Sitar</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00030 {
00031 <span class="keyword">public</span>:
00033 <a class="code" href="classSitar.html#a0">Sitar</a>( StkFloat lowestFrequency = 20 );
00034
00036 <a class="code" href="classSitar.html#a1">~Sitar</a>();
00037
00039 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a2">clear</a>();
00040
00042 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a3">setFrequency</a>(StkFloat frequency);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a4">pluck</a>(StkFloat amplitude);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a5">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a6">noteOff</a>(StkFloat amplitude);
00052
00054 StkFloat <a class="code" href="classSitar.html#a7">tick</a>();
00055
00057 StkFloat *<a class="code" href="classSitar.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00058
00060
00066 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSitar.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00067
00068 <span class="keyword">protected</span>:
00069 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00070 <a class="code" href="classOneZero.html">OneZero</a> loopFilter_;
00071 <a class="code" href="classNoise.html">Noise</a> noise_;
00072 <a class="code" href="classADSR.html">ADSR</a> envelope_;
00073
00074 StkFloat loopGain_;
00075 StkFloat amGain_;
00076 StkFloat delay_;
00077 StkFloat targetDelay_;
00078
00079 };
00080
00081 <span class="preprocessor">#endif</span>
00082 <span class="preprocessor"></span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,93 @@
<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">#ifndef STK_SKINI_H</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_SKINI_H</span>
00030 <span class="preprocessor"></span>
00031 <span class="preprocessor">#include "Stk.h"</span>
00032 <span class="preprocessor">#include &lt;vector&gt;</span>
00033 <span class="preprocessor">#include &lt;string&gt;</span>
00034 <span class="preprocessor">#include &lt;fstream&gt;</span>
00035
<a name="l00036"></a><a class="code" href="classSkini.html">00036</a> <span class="keyword">class </span><a class="code" href="classSkini.html">Skini</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00037 {
00038 <span class="keyword">public</span>:
00039
<a name="l00041"></a><a class="code" href="structSkini_1_1Message.html">00041</a> <span class="keyword">struct </span><a class="code" href="structSkini_1_1Message.html">Message</a> {
<a name="l00042"></a><a class="code" href="structSkini_1_1Message.html#o0">00042</a> <span class="keywordtype">long</span> <a class="code" href="structSkini_1_1Message.html#o0">type</a>;
<a name="l00043"></a><a class="code" href="structSkini_1_1Message.html#o1">00043</a> <span class="keywordtype">long</span> <a class="code" href="structSkini_1_1Message.html#o1">channel</a>;
<a name="l00044"></a><a class="code" href="structSkini_1_1Message.html#o2">00044</a> StkFloat <a class="code" href="structSkini_1_1Message.html#o2">time</a>;
<a name="l00045"></a><a class="code" href="structSkini_1_1Message.html#o3">00045</a> std::vector&lt;StkFloat&gt; <a class="code" href="structSkini_1_1Message.html#o3">floatValues</a>;
<a name="l00046"></a><a class="code" href="structSkini_1_1Message.html#o4">00046</a> std::vector&lt;long&gt; <a class="code" href="structSkini_1_1Message.html#o4">intValues</a>;
<a name="l00047"></a><a class="code" href="structSkini_1_1Message.html#o5">00047</a> std::string <a class="code" href="structSkini_1_1Message.html#o5">remainder</a>;
00049 <span class="comment">// Default constructor.</span>
00050 <a class="code" href="structSkini_1_1Message.html">Message</a>()
00051 :<a class="code" href="structSkini_1_1Message.html#o0">type</a>(0), <a class="code" href="structSkini_1_1Message.html#o1">channel</a>(0), <a class="code" href="structSkini_1_1Message.html#o2">time</a>(0.0), <a class="code" href="structSkini_1_1Message.html#o3">floatValues</a>(2), <a class="code" href="structSkini_1_1Message.html#o4">intValues</a>(2) {}
00052 };
00053
00055 <a class="code" href="classSkini.html#a0">Skini</a>();
00056
00058 <a class="code" href="classSkini.html#a1">~Skini</a>();
00059
00061
00065 <span class="keywordtype">bool</span> <a class="code" href="classSkini.html#a2">setFile</a>( std::string fileName );
00066
00068
00074 <span class="keywordtype">long</span> <a class="code" href="classSkini.html#a3">nextMessage</a>( <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00075
00077
00081 <span class="keywordtype">long</span> <a class="code" href="classSkini.html#a4">parseString</a>( std::string&amp; line, <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00082
00084 <span class="keyword">static</span> std::string <a class="code" href="classSkini.html#e0">whatsThisType</a>(<span class="keywordtype">long</span> type);
00085
00087 <span class="keyword">static</span> std::string <a class="code" href="classSkini.html#e1">whatsThisController</a>(<span class="keywordtype">long</span> number);
00088
00089 <span class="keyword">protected</span>:
00090
00091 <span class="keywordtype">void</span> tokenize( <span class="keyword">const</span> std::string&amp; str, std::vector&lt;std::string&gt;&amp; tokens, <span class="keyword">const</span> std::string&amp; delimiters );
00092
00093 std::ifstream file_;
00094 };
00095
00096 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> Midi2Pitch[129] = {
00097 8.18,8.66,9.18,9.72,10.30,10.91,11.56,12.25,
00098 12.98,13.75,14.57,15.43,16.35,17.32,18.35,19.45,
00099 20.60,21.83,23.12,24.50,25.96,27.50,29.14,30.87,
00100 32.70,34.65,36.71,38.89,41.20,43.65,46.25,49.00,
00101 51.91,55.00,58.27,61.74,65.41,69.30,73.42,77.78,
00102 82.41,87.31,92.50,98.00,103.83,110.00,116.54,123.47,
00103 130.81,138.59,146.83,155.56,164.81,174.61,185.00,196.00,
00104 207.65,220.00,233.08,246.94,261.63,277.18,293.66,311.13,
00105 329.63,349.23,369.99,392.00,415.30,440.00,466.16,493.88,
00106 523.25,554.37,587.33,622.25,659.26,698.46,739.99,783.99,
00107 830.61,880.00,932.33,987.77,1046.50,1108.73,1174.66,1244.51,
00108 1318.51,1396.91,1479.98,1567.98,1661.22,1760.00,1864.66,1975.53,
00109 2093.00,2217.46,2349.32,2489.02,2637.02,2793.83,2959.96,3135.96,
00110 3322.44,3520.00,3729.31,3951.07,4186.01,4434.92,4698.64,4978.03,
00111 5274.04,5587.65,5919.91,6271.93,6644.88,7040.00,7458.62,7902.13,
00112 8372.02,8869.84,9397.27,9956.06,10548.08,11175.30,11839.82,12543.85,
00113 13289.75};
00114
00115 <span class="preprocessor">#endif</span>
00116 <span class="preprocessor"></span>
00117
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,74 @@
<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">#ifndef STK_SOCKET_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_SOCKET_H</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Stk.h"</span>
00025
<a name="l00026"></a><a class="code" href="classSocket.html">00026</a> <span class="keyword">class </span><a class="code" href="classSocket.html">Socket</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00027 {
00028 <span class="keyword">public</span>:
00030
00033 <a class="code" href="classSocket.html#a0">Socket</a>( <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a6">port</a> = 2006 );
00034
00036
00039 <a class="code" href="classSocket.html#a0">Socket</a>( <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a6">port</a>, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname );
00040
00042 <a class="code" href="classSocket.html#a2">~Socket</a>();
00043
00045
00053 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a3">connect</a>( <span class="keywordtype">int</span> port, <span class="keyword">const</span> <span class="keywordtype">char</span> *hostname = <span class="stringliteral">"localhost"</span> );
00054
00056 <span class="keywordtype">void</span> <a class="code" href="classSocket.html#a4">close</a>( <span class="keywordtype">void</span> );
00057
00059 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a5">id</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00060
00062 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a6">port</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00063
00065
00071 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a7">accept</a>( <span class="keywordtype">void</span> );
00072
00074 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSocket.html#e0">setBlocking</a>( <span class="keywordtype">int</span> socket, <span class="keywordtype">bool</span> enable );
00075
00077 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSocket.html#a4">close</a>( <span class="keywordtype">int</span> socket );
00078
00080 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSocket.html#e2">isValid</a>( <span class="keywordtype">int</span> socket );
00081
00083 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a8">writeBuffer</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
00084
00086 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a8">writeBuffer</a>(<span class="keywordtype">int</span> socket, <span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags );
00087
00089 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a9">readBuffer</a>(<span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
00090
00092 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a9">readBuffer</a>(<span class="keywordtype">int</span> socket, <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags );
00093
00094 <span class="keyword">protected</span>:
00095
00096 <span class="keywordtype">int</span> soket_;
00097 <span class="keywordtype">int</span> port_;
00098 <span class="keywordtype">bool</span> server_;
00099
00100 };
00101
00102 <span class="preprocessor">#endif // defined(STK_SOCKET_H)</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Sphere.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00010 <span class="comment">/***************************************************/</span>
00011
00012 <span class="preprocessor">#ifndef STK_SPHERE_H</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_SPHERE_H</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "Stk.h"</span>
00016 <span class="preprocessor">#include "Vector3D.h"</span>
00017
<a name="l00018"></a><a class="code" href="classSphere.html">00018</a> <span class="keyword">class </span><a class="code" href="classSphere.html">Sphere</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00019 {
00020 <span class="keyword">public</span>:
00022 <a class="code" href="classSphere.html#a0">Sphere</a>(StkFloat radius = 1.0 );
00023
00025 <a class="code" href="classSphere.html#a1">~Sphere</a>();
00026
00028 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a2">setPosition</a>(StkFloat x, StkFloat y, StkFloat z);
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a3">setVelocity</a>(StkFloat x, StkFloat y, StkFloat z);
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a4">setRadius</a>(StkFloat radius);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a5">setMass</a>(StkFloat mass);
00038
00040 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a6">getPosition</a>();
00041
00043 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a7">getRelativePosition</a>(<a class="code" href="classVector3D.html">Vector3D</a> *position);
00044
00046 StkFloat <a class="code" href="classSphere.html#a8">getVelocity</a>(<a class="code" href="classVector3D.html">Vector3D</a>* velocity);
00047
00049 StkFloat <a class="code" href="classSphere.html#a9">isInside</a>(<a class="code" href="classVector3D.html">Vector3D</a> *position);
00050
00052 StkFloat <a class="code" href="classSphere.html#a10">getRadius</a>();
00053
00055 StkFloat <a class="code" href="classSphere.html#a11">getMass</a>();
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a12">addVelocity</a>(StkFloat x, StkFloat y, StkFloat z);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a13">tick</a>(StkFloat timeIncrement);
00062
00063 <span class="keyword">private</span>:
00064 <a class="code" href="classVector3D.html">Vector3D</a> position_;
00065 <a class="code" href="classVector3D.html">Vector3D</a> velocity_;
00066 <a class="code" href="classVector3D.html">Vector3D</a> workingVector_;
00067 StkFloat radius_;
00068 StkFloat mass_;
00069 };
00070
00071 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>StifKarp.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00022 <span class="comment">/***************************************************/</span>
00023
00024 <span class="preprocessor">#ifndef STK_STIFKARP_H</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_STIFKARP_H</span>
00026 <span class="preprocessor"></span>
00027 <span class="preprocessor">#include "Instrmnt.h"</span>
00028 <span class="preprocessor">#include "DelayL.h"</span>
00029 <span class="preprocessor">#include "DelayA.h"</span>
00030 <span class="preprocessor">#include "OneZero.h"</span>
00031 <span class="preprocessor">#include "Noise.h"</span>
00032 <span class="preprocessor">#include "BiQuad.h"</span>
00033
<a name="l00034"></a><a class="code" href="classStifKarp.html">00034</a> <span class="keyword">class </span><a class="code" href="classStifKarp.html">StifKarp</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00035 {
00036 <span class="keyword">public</span>:
00038 <a class="code" href="classStifKarp.html#a0">StifKarp</a>(StkFloat lowestFrequency);
00039
00041 <a class="code" href="classStifKarp.html#a1">~StifKarp</a>();
00042
00044 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a2">clear</a>();
00045
00047 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a3">setFrequency</a>(StkFloat frequency);
00048
00050 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a4">setStretch</a>(StkFloat stretch);
00051
00053 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a5">setPickupPosition</a>(StkFloat position);
00054
00056
00061 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a6">setBaseLoopGain</a>(StkFloat aGain);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a7">pluck</a>(StkFloat amplitude);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00068
00070 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a9">noteOff</a>(StkFloat amplitude);
00071
00073 StkFloat <a class="code" href="classStifKarp.html#a10">tick</a>();
00074
00076 StkFloat *<a class="code" href="classStifKarp.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00077
00079
00085 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classStifKarp.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00086
00088 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00089
00090 <span class="keyword">protected</span>:
00091 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00092 <a class="code" href="classDelayL.html">DelayL</a> combDelay_;
00093 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00094 <a class="code" href="classNoise.html">Noise</a> noise_;
00095 <a class="code" href="classBiQuad.html">BiQuad</a> biquad_[4];
00096
00097 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00098 StkFloat loopGain_;
00099 StkFloat baseLoopGain_;
00100 StkFloat lastFrequency_;
00101 StkFloat lastLength_;
00102 StkFloat stretching_;
00103 StkFloat pluckAmplitude_;
00104 StkFloat pickupPosition_;
00105
00106 };
00107
00108 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

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

@@ -0,0 +1,227 @@
<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">#ifndef STK_STK_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_STK_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include &lt;string&gt;</span>
00019 <span class="preprocessor">#include &lt;iostream&gt;</span>
00020 <span class="preprocessor">#include &lt;sstream&gt;</span>
00021 <span class="preprocessor">#include &lt;valarray&gt;</span>
00022
00023 <span class="comment">// Most data in STK is passed and calculated with the</span>
00024 <span class="comment">// following user-definable floating-point type. You</span>
00025 <span class="comment">// can change this to "float" if you prefer or perhaps</span>
00026 <span class="comment">// a "long double" in the future.</span>
00027 <span class="keyword">typedef</span> <span class="keywordtype">double</span> StkFloat;
00028
00029 <span class="comment">// The "MY_FLOAT" type was deprecated in STK</span>
00030 <span class="comment">// versions higher than 4.1.3 and replaced with the variable</span>
00031 <span class="comment">// "StkFloat". </span>
00032 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span>
00033 <span class="preprocessor"></span> <span class="keyword">typedef</span> StkFloat MY_FLOAT;
00034 <span class="preprocessor"> #pragma deprecated(MY_FLOAT)</span>
00035 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__GXX__) </span>
00036 <span class="preprocessor"></span> <span class="keyword">typedef</span> StkFloat MY_FLOAT __attribute__ ((deprecated));
00037 <span class="preprocessor">#else</span>
00038 <span class="preprocessor"></span> <span class="keyword">typedef</span> StkFloat MY_FLOAT; <span class="comment">// temporary</span>
00039 <span class="preprocessor">#endif</span>
00040 <span class="preprocessor"></span>
00041
00043
<a name="l00048"></a><a class="code" href="classStkError.html">00048</a> <span class="keyword">class </span><a class="code" href="classStkError.html">StkError</a>
00049 {
00050 <span class="keyword">public</span>:
00051 <span class="keyword">enum</span> Type {
00052 STATUS,
00053 WARNING,
00054 DEBUG_WARNING,
00055 FUNCTION_ARGUMENT,
00056 FILE_NOT_FOUND,
00057 FILE_UNKNOWN_FORMAT,
00058 FILE_ERROR,
00059 PROCESS_THREAD,
00060 PROCESS_SOCKET,
00061 PROCESS_SOCKET_IPADDR,
00062 AUDIO_SYSTEM,
00063 MIDI_SYSTEM,
00064 UNSPECIFIED
00065 };
00066
00067 <span class="keyword">protected</span>:
00068 std::string message_;
00069 Type type_;
00070
00071 <span class="keyword">public</span>:
<a name="l00073"></a><a class="code" href="classStkError.html#a0">00073</a> <a class="code" href="classStkError.html#a0">StkError</a>(<span class="keyword">const</span> std::string&amp; message, Type type = StkError::UNSPECIFIED) : message_(message), type_(type) {}
00074
<a name="l00076"></a><a class="code" href="classStkError.html#a1">00076</a> <span class="keyword">virtual</span> <a class="code" href="classStkError.html#a1">~StkError</a>(<span class="keywordtype">void</span>) {};
00077
<a name="l00079"></a><a class="code" href="classStkError.html#a2">00079</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classStkError.html#a2">printMessage</a>(<span class="keywordtype">void</span>) { std::cerr &lt;&lt; <span class="charliteral">'\n'</span> &lt;&lt; message_ &lt;&lt; <span class="stringliteral">"\n\n"</span>; }
00080
<a name="l00082"></a><a class="code" href="classStkError.html#a3">00082</a> <span class="keyword">virtual</span> <span class="keyword">const</span> Type&amp; <a class="code" href="classStkError.html#a3">getType</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> type_; }
00083
<a name="l00085"></a><a class="code" href="classStkError.html#a4">00085</a> <span class="keyword">virtual</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classStkError.html#a4">getMessage</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_; }
00086
<a name="l00088"></a><a class="code" href="classStkError.html#a5">00088</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classStkError.html#a5">getMessageCString</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_.c_str(); }
00089 };
00090
00091
<a name="l00092"></a><a class="code" href="classStk.html">00092</a> <span class="keyword">class </span><a class="code" href="classStk.html">Stk</a>
00093 {
00094 <span class="keyword">public</span>:
00095
00096 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> StkFormat;
<a name="l00097"></a><a class="code" href="classStk.html#s0">00097</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s0">STK_SINT8</a>;
<a name="l00098"></a><a class="code" href="classStk.html#s1">00098</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s1">STK_SINT16</a>;
<a name="l00099"></a><a class="code" href="classStk.html#s2">00099</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s2">STK_SINT24</a>;
<a name="l00100"></a><a class="code" href="classStk.html#s3">00100</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s3">STK_SINT32</a>;
<a name="l00101"></a><a class="code" href="classStk.html#s4">00101</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s4">STK_FLOAT32</a>;
<a name="l00102"></a><a class="code" href="classStk.html#s5">00102</a> <span class="keyword">static</span> <span class="keyword">const</span> StkFormat <a class="code" href="classStk.html#s5">STK_FLOAT64</a>;
00104
<a name="l00105"></a><a class="code" href="classStk.html#e0">00105</a> <span class="keyword">static</span> StkFloat <a class="code" href="classStk.html#e0">sampleRate</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> srate_; }
00106
00108
<a name="l00116"></a><a class="code" href="classStk.html#e1">00116</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e1">setSampleRate</a>(StkFloat rate) { <span class="keywordflow">if</span> (rate &gt; 0.0) srate_ = rate; }
00117
<a name="l00119"></a><a class="code" href="classStk.html#e2">00119</a> <span class="keyword">static</span> std::string <a class="code" href="classStk.html#e2">rawwavePath</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> rawwavepath_; }
00120
00122 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e3">setRawwavePath</a>(std::string path);
00123
00125 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e4">swap16</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
00126
00128 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e5">swap32</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
00129
00131 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e6">swap64</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *ptr);
00132
00134 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e7">sleep</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> milliseconds);
00135
00137 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e8">handleError</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *message, StkError::Type type );
00138
00140 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStk.html#e8">handleError</a>( std::string message, StkError::Type type );
00141
00142 <span class="keyword">private</span>:
00143 <span class="keyword">static</span> StkFloat srate_;
00144 <span class="keyword">static</span> std::string rawwavepath_;
00145
00146 <span class="keyword">protected</span>:
00147
00148 std::ostringstream errorString_;
00149
00151 <a class="code" href="classStk.html#b0">Stk</a>(<span class="keywordtype">void</span>);
00152
00154 <span class="keyword">virtual</span> <a class="code" href="classStk.html#b1">~Stk</a>(<span class="keywordtype">void</span>);
00155
00157 <span class="keywordtype">void</span> <a class="code" href="classStk.html#e8">handleError</a>( StkError::Type type );
00158 };
00159
00160
00161 <span class="comment">/***************************************************/</span>
00175 <span class="comment">/***************************************************/</span>
00176
<a name="l00177"></a><a class="code" href="classStkFrames.html">00177</a> <span class="keyword">class </span><a class="code" href="classStkFrames.html">StkFrames</a>
00178 {
00179 <span class="keyword">public</span>:
00180
00182 <a class="code" href="classStkFrames.html#a0">StkFrames</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames = 0, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, <span class="keywordtype">bool</span> <a class="code" href="classStkFrames.html#a8">interleaved</a> = <span class="keyword">true</span> );
00183
00185 <a class="code" href="classStkFrames.html#a0">StkFrames</a>( <span class="keyword">const</span> StkFloat&amp; value, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels, <span class="keywordtype">bool</span> <a class="code" href="classStkFrames.html#a8">interleaved</a> = <span class="keyword">true</span> );
00186
00188
<a name="l00194"></a><a class="code" href="classStkFrames.html#a2">00194</a> StkFloat&amp; <a class="code" href="classStkFrames.html#a2">operator[]</a>( size_t n ) { <span class="keywordflow">return</span> data_[n]; };
00195
00197
<a name="l00201"></a><a class="code" href="classStkFrames.html#a3">00201</a> StkFloat <a class="code" href="classStkFrames.html#a2">operator[]</a>( size_t n )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data_[n]; };
00202
<a name="l00204"></a><a class="code" href="classStkFrames.html#a4">00204</a> size_t <a class="code" href="classStkFrames.html#a4">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> size_; };
00205
00207
00211 <span class="keywordtype">void</span> <a class="code" href="classStkFrames.html#a5">resize</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, StkFloat value = 0.0 );
00212
<a name="l00214"></a><a class="code" href="classStkFrames.html#a6">00214</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classStkFrames.html#a6">channels</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> nChannels_; };
00215
<a name="l00217"></a><a class="code" href="classStkFrames.html#a7">00217</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classStkFrames.html#a7">frames</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> nFrames_; };
00218
<a name="l00220"></a><a class="code" href="classStkFrames.html#a8">00220</a> <span class="keywordtype">bool</span> <a class="code" href="classStkFrames.html#a8">interleaved</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> interleaved_; };
00221
<a name="l00223"></a><a class="code" href="classStkFrames.html#a9">00223</a> <span class="keywordtype">void</span> <a class="code" href="classStkFrames.html#a9">setInterleaved</a>( <span class="keywordtype">bool</span> isInterleaved ) { interleaved_ = isInterleaved; };
00224
00225 <span class="keyword">private</span>:
00226 std::valarray&lt;StkFloat&gt; data_;
00227 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nFrames_;
00228 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels_;
00229 size_t size_;
00230 <span class="keywordtype">bool</span> interleaved_;
00231
00232 };
00233
00234
00235 <span class="comment">// Here are a few other useful typedefs.</span>
00236 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">short</span> SINT16;
00237 <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">int</span> SINT32;
00238 <span class="keyword">typedef</span> <span class="keywordtype">float</span> FLOAT32;
00239 <span class="keyword">typedef</span> <span class="keywordtype">double</span> FLOAT64;
00240
00241 <span class="comment">// The default sampling rate.</span>
00242 <span class="keyword">const</span> StkFloat SRATE = 44100.0;
00243
00244 <span class="comment">// The default real-time audio input and output buffer size. If</span>
00245 <span class="comment">// clicks are occuring in the input and/or output sound stream, a</span>
00246 <span class="comment">// larger buffer size may help. Larger buffer sizes, however, produce</span>
00247 <span class="comment">// more latency.</span>
00248 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> RT_BUFFER_SIZE = 512;
00249
00250 <span class="comment">// The default rawwave path value is set with the preprocessor</span>
00251 <span class="comment">// definition RAWWAVE_PATH. This can be specified as an argument to</span>
00252 <span class="comment">// the configure script, in an integrated development environment, or</span>
00253 <span class="comment">// below. The global STK rawwave path variable can be dynamically set</span>
00254 <span class="comment">// with the Stk::setRawwavePath() function. This value is</span>
00255 <span class="comment">// concatenated to the beginning of all references to rawwave files in</span>
00256 <span class="comment">// the various STK core classes (ex. Clarinet.cpp). If you wish to</span>
00257 <span class="comment">// move the rawwaves directory to a different location in your file</span>
00258 <span class="comment">// system, you will need to set this path definition appropriately.</span>
00259 <span class="preprocessor">#if !defined(RAWWAVE_PATH)</span>
00260 <span class="preprocessor"></span><span class="preprocessor"> #define RAWWAVE_PATH "../../rawwaves/"</span>
00261 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00262 <span class="preprocessor"></span>
00263 <span class="keyword">const</span> StkFloat PI = 3.14159265359;
00264 <span class="keyword">const</span> StkFloat TWO_PI = 2 * PI;
00265 <span class="keyword">const</span> StkFloat ONE_OVER_128 = 0.0078125;
00266
00267 <span class="preprocessor">#if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)</span>
00268 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_WINDOWS__</span>
00269 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00270 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__LINUX_OSS__) || defined(__LINUX_ALSA__) || defined(__LINUX_JACK__)</span>
00271 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_LINUX__</span>
00272 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00273 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__IRIX_AL__)</span>
00274 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_IRIX__</span>
00275 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00276 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__MACOSX_CORE__)</span>
00277 <span class="preprocessor"></span><span class="preprocessor"> #define __OS_MACOSX__</span>
00278 <span class="preprocessor"></span><span class="preprocessor"> #define __STK_REALTIME__</span>
00279 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00280 <span class="preprocessor"></span>
00281 <span class="comment">//#define _STK_DEBUG_</span>
00282
00283 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,54 @@
<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">#ifndef STK_SUBNOISE_H</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_SUBNOISE_H</span>
00015 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "Noise.h"</span>
00017
<a name="l00018"></a><a class="code" href="classSubNoise.html">00018</a> <span class="keyword">class </span><a class="code" href="classSubNoise.html">SubNoise</a> : <span class="keyword">public</span> <a class="code" href="classNoise.html">Noise</a>
00019 {
00020 <span class="keyword">public</span>:
00021
00023 <a class="code" href="classSubNoise.html#a0">SubNoise</a>(<span class="keywordtype">int</span> <a class="code" href="classSubNoise.html#a2">subRate</a> = 16);
00024
00026 <a class="code" href="classSubNoise.html#a1">~SubNoise</a>();
00027
00029 <span class="keywordtype">int</span> <a class="code" href="classSubNoise.html#a2">subRate</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00030
00032 <span class="keywordtype">void</span> <a class="code" href="classSubNoise.html#a3">setRate</a>(<span class="keywordtype">int</span> subRate);
00033
00035 StkFloat <a class="code" href="classSubNoise.html#a4">tick</a>();
00036
00038 StkFloat *<a class="code" href="classSubNoise.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00039
00041
00047 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classSubNoise.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00048
00049 <span class="keyword">protected</span>:
00050 <span class="keywordtype">int</span> counter_;
00051 <span class="keywordtype">int</span> rate_;
00052
00053 };
00054
00055 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

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>Table.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00015 <span class="comment">/***************************************************/</span>
00016
00017 <span class="preprocessor">#ifndef STK_TABLE_H</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_TABLE_H</span>
00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#include "Function.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="classFunction.html">Function</a>
00023 {
00024 <span class="keyword">public</span>:
00026
00030 <a class="code" href="classTable.html#a0">Table</a>( std::string fileName );
00031
00033 <a class="code" href="classTable.html#a1">~Table</a>();
00034
00036 <span class="keywordtype">long</span> <a class="code" href="classTable.html#a2">getLength</a>() <span class="keyword">const</span>;
00037
00039
00043 StkFloat <a class="code" href="classTable.html#a3">tick</a>(StkFloat index);
00044
00046 StkFloat *<a class="code" href="classTable.html#a3">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00047
00049
00055 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTable.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00056
00057 <span class="keyword">protected</span>:
00058 <span class="keywordtype">long</span> length_;
00059 std::valarray&lt;StkFloat&gt; data_;
00060
00061 };
00062
00063 <span class="preprocessor">#endif // defined(__TABLE_H)</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,98 @@
<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">#ifndef STK_TCPWVIN_H</span>
00030 <span class="preprocessor"></span><span class="preprocessor">#define STK_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 <span class="preprocessor">#include "Mutex.h"</span>
00036
00037 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00038 <span class="keywordtype">bool</span> finished;
00039 <span class="keywordtype">void</span> *object;
00040 } thread_info;
00041
<a name="l00042"></a><a class="code" href="classTcpWvIn.html">00042</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>
00043 {
00044 <span class="keyword">public</span>:
00046
00049 <a class="code" href="classTcpWvIn.html#a0">TcpWvIn</a>( <span class="keywordtype">int</span> port = 2006 );
00050
00052 <a class="code" href="classTcpWvIn.html#a1">~TcpWvIn</a>();
00053
00055
00058 <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::StkFormat format = <a class="code" href="classStk.html#s1">STK_SINT16</a>);
00059
00061
00065 <span class="keywordtype">bool</span> <a class="code" href="classTcpWvIn.html#a3">isConnected</a>(<span class="keywordtype">void</span>);
00066
00068 StkFloat <a class="code" href="classTcpWvIn.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00069
00071 StkFloat <a class="code" href="classTcpWvIn.html#a5">tick</a>(<span class="keywordtype">void</span>);
00072
00074 StkFloat *<a class="code" href="classTcpWvIn.html#a5">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00075
00077
00083 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTcpWvIn.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00084
00086 <span class="keyword">const</span> StkFloat *<a class="code" href="classTcpWvIn.html#a8">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00087
00089 <span class="keyword">const</span> StkFloat *<a class="code" href="classTcpWvIn.html#a9">tickFrame</a>(<span class="keywordtype">void</span>);
00090
00092 StkFloat *<a class="code" href="classTcpWvIn.html#a9">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00093
00095
00100 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTcpWvIn.html#a9">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00101
00102 <span class="comment">// Called by the thread routine to receive data via the socket connection</span>
00103 <span class="comment">// and fill the socket buffer. This is not intended for general use but</span>
00104 <span class="comment">// had to be made public for access from the thread.</span>
00105 <span class="keywordtype">void</span> receive(<span class="keywordtype">void</span>);
00106
00107 <span class="keyword">protected</span>:
00108
00109 <span class="comment">// Initialize class variables.</span>
00110 <span class="keywordtype">void</span> init( <span class="keywordtype">int</span> port );
00111
00112 <span class="comment">// Read buffered socket data into the data buffer ... will block if none available.</span>
00113 <span class="keywordtype">int</span> readData( <span class="keywordtype">void</span> );
00114
00115 <a class="code" href="classSocket.html">Socket</a> *soket_;
00116 <a class="code" href="classThread.html">Thread</a> *thread_;
00117 <a class="code" href="classMutex.html">Mutex</a> mutex_;
00118 <span class="keywordtype">char</span> *buffer_;
00119 <span class="keywordtype">long</span> bufferBytes_;
00120 <span class="keywordtype">long</span> bytesFilled_;
00121 <span class="keywordtype">long</span> writePoint_;
00122 <span class="keywordtype">long</span> readPoint_;
00123 <span class="keywordtype">long</span> counter_;
00124 <span class="keywordtype">int</span> dataSize_;
00125 <span class="keywordtype">bool</span> connected_;
00126 <span class="keywordtype">int</span> fd_;
00127 thread_info threadInfo_;
00128
00129 };
00130
00131 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,74 @@
<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">#ifndef STK_TCPWVOUT_H</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_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::StkFormat 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::StkFormat 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 StkFloat <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>( <span class="keyword">const</span> StkFloat sample );
00069
00071
00074 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a7">tick</a>( <span class="keyword">const</span> StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00075
00077
00083 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a7">tick</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00084
00086
00089 <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a10">tickFrame</a>( <span class="keyword">const</span> StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1 );
00090
00092
00097 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classTcpWvOut.html#a10">tickFrame</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00098
00099 <span class="keyword">protected</span>:
00100
00101 <span class="comment">// Write a buffer of length \e frames via the socket connection.</span>
00102 <span class="keywordtype">void</span> writeData( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frames );
00103
00104 <span class="keywordtype">char</span> *buffer_;
00105 <a class="code" href="classSocket.html">Socket</a> *soket_;
00106 <span class="keywordtype">int</span> dataSize_;
00107 };
00108
00109 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Thread.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00021 <span class="comment">/***************************************************/</span>
00022
00023 <span class="preprocessor">#ifndef STK_THREAD_H</span>
00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_THREAD_H</span>
00025 <span class="preprocessor"></span>
00026 <span class="preprocessor">#include "Stk.h"</span>
00027
00028 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
00029 <span class="preprocessor"></span>
00030 <span class="preprocessor"> #include &lt;pthread.h&gt;</span>
00031 <span class="preprocessor"> #define THREAD_TYPE</span>
00032 <span class="preprocessor"></span> <span class="keyword">typedef</span> pthread_t THREAD_HANDLE;
00033 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * THREAD_RETURN;
00034 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * (*THREAD_FUNCTION)(<span class="keywordtype">void</span> *);
00035
00036 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span>
00037 <span class="preprocessor"></span>
00038 <span class="preprocessor"> #include &lt;windows.h&gt;</span>
00039 <span class="preprocessor"> #include &lt;process.h&gt;</span>
00040 <span class="preprocessor"> #define THREAD_TYPE __stdcall</span>
00041 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> THREAD_HANDLE;
00042 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> THREAD_RETURN;
00043 <span class="keyword">typedef</span> unsigned (__stdcall *THREAD_FUNCTION)(<span class="keywordtype">void</span> *);
00044
00045 <span class="preprocessor">#endif</span>
00046 <span class="preprocessor"></span>
<a name="l00047"></a><a class="code" href="classThread.html">00047</a> <span class="keyword">class </span><a class="code" href="classThread.html">Thread</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00048 {
00049 <span class="keyword">public</span>:
00051 <a class="code" href="classThread.html#a0">Thread</a>();
00052
00054 <a class="code" href="classThread.html#a1">~Thread</a>();
00055
00057
00062 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a2">start</a>( THREAD_FUNCTION routine, <span class="keywordtype">void</span> * ptr = NULL );
00063
00065
00072 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a3">cancel</a>(<span class="keywordtype">void</span>);
00073
00075
00078 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a4">wait</a>(<span class="keywordtype">void</span>);
00079
00081
00086 <span class="keywordtype">void</span> <a class="code" href="classThread.html#a5">testCancel</a>(<span class="keywordtype">void</span>);
00087
00088 <span class="keyword">protected</span>:
00089
00090 THREAD_HANDLE thread_;
00091
00092 };
00093
00094 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>TubeBell.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00031 <span class="comment">/***************************************************/</span>
00032
00033 <span class="preprocessor">#ifndef STK_TUBEBELL_H</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_TUBEBELL_H</span>
00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span>
00037
<a name="l00038"></a><a class="code" href="classTubeBell.html">00038</a> <span class="keyword">class </span><a class="code" href="classTubeBell.html">TubeBell</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00039 {
00040 <span class="keyword">public</span>:
00042
00045 <a class="code" href="classTubeBell.html#a0">TubeBell</a>();
00046
00048 <a class="code" href="classTubeBell.html#a1">~TubeBell</a>();
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classTubeBell.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00052
00054 StkFloat <a class="code" href="classTubeBell.html#a3">tick</a>();
00055
00057 StkFloat *<a class="code" href="classTubeBell.html#a3">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00058
00060
00066 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTubeBell.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00067 };
00068
00069 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>TwoPole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_TWOPOLE_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_TWOPOLE_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
00019
<a name="l00020"></a><a class="code" href="classTwoPole.html">00020</a> <span class="keyword">class </span><a class="code" href="classTwoPole.html">TwoPole</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00021 {
00022 <span class="keyword">public</span>:
00023
00025 <a class="code" href="classTwoPole.html#a0">TwoPole</a>();
00026
00028 <a class="code" href="classTwoPole.html#a1">~TwoPole</a>();
00029
00031 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a2">clear</a>(<span class="keywordtype">void</span>);
00032
00034 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a3">setB0</a>(StkFloat b0);
00035
00037 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a4">setA1</a>(StkFloat a1);
00038
00040 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a5">setA2</a>(StkFloat a2);
00041
00043
00056 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a6">setResonance</a>(StkFloat frequency, StkFloat radius, <span class="keywordtype">bool</span> normalize = <span class="keyword">false</span>);
00057
00059
00063 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a7">setGain</a>(StkFloat gain);
00064
00066 StkFloat <a class="code" href="classTwoPole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00067
00069 StkFloat <a class="code" href="classTwoPole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00070
00072 StkFloat <a class="code" href="classTwoPole.html#a10">tick</a>(StkFloat sample);
00073
00075 StkFloat *<a class="code" href="classTwoPole.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00076
00078
00084 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTwoPole.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00085 };
00086
00087 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

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>TwoZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00013 <span class="comment">/***************************************************/</span>
00014
00015 <span class="preprocessor">#ifndef STK_TWOZERO_H</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_TWOZERO_H</span>
00017 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "Filter.h"</span>
00019
<a name="l00020"></a><a class="code" href="classTwoZero.html">00020</a> <span class="keyword">class </span><a class="code" href="classTwoZero.html">TwoZero</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a>
00021 {
00022 <span class="keyword">public</span>:
00024 <a class="code" href="classTwoZero.html#a0">TwoZero</a>();
00025
00027 <a class="code" href="classTwoZero.html#a1">~TwoZero</a>();
00028
00030 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a2">clear</a>(<span class="keywordtype">void</span>);
00031
00033 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a3">setB0</a>(StkFloat b0);
00034
00036 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a4">setB1</a>(StkFloat b1);
00037
00039 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a5">setB2</a>(StkFloat b2);
00040
00042
00052 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a6">setNotch</a>(StkFloat frequency, StkFloat radius);
00053
00055
00059 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a7">setGain</a>(StkFloat gain);
00060
00062 StkFloat <a class="code" href="classTwoZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00063
00065 StkFloat <a class="code" href="classTwoZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00066
00068 StkFloat <a class="code" href="classTwoZero.html#a10">tick</a>(StkFloat sample);
00069
00071 StkFloat *<a class="code" href="classTwoZero.html#a10">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00072
00074
00080 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTwoZero.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00081 };
00082
00083 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Vector3D.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00009 <span class="comment">/***************************************************/</span>
00010
00011 <span class="preprocessor">#ifndef STK_VECTOR3D_H</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_VECTOR3D_H</span>
00013 <span class="preprocessor"></span>
00014 <span class="preprocessor">#include "Stk.h"</span>
00015
<a name="l00016"></a><a class="code" href="classVector3D.html">00016</a> <span class="keyword">class </span><a class="code" href="classVector3D.html">Vector3D</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00017 {
00018
00019 <span class="keyword">public</span>:
00021 <a class="code" href="classVector3D.html#a0">Vector3D</a>(StkFloat initX=0.0, StkFloat initY=0.0, StkFloat initZ=0.0);
00022
00024 <a class="code" href="classVector3D.html#a1">~Vector3D</a>();
00025
00027 StkFloat <a class="code" href="classVector3D.html#a2">getX</a>();
00028
00030 StkFloat <a class="code" href="classVector3D.html#a3">getY</a>();
00031
00033 StkFloat <a class="code" href="classVector3D.html#a4">getZ</a>();
00034
00036 StkFloat <a class="code" href="classVector3D.html#a5">getLength</a>();
00037
00039 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a6">setXYZ</a>(StkFloat x, StkFloat y, StkFloat z);
00040
00042 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a7">setX</a>(StkFloat x);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a8">setY</a>(StkFloat y);
00046
00048 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a9">setZ</a>(StkFloat z);
00049
00050 <span class="keyword">protected</span>:
00051 StkFloat myX_;
00052 StkFloat myY_;
00053 StkFloat myZ_;
00054 };
00055
00056 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>VoicForm.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00026 <span class="comment">/***************************************************/</span>
00027
00028 <span class="preprocessor">#ifndef STK_VOICFORM_H</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_VOICFORM_H</span>
00030 <span class="preprocessor"></span>
00031 <span class="preprocessor">#include "Instrmnt.h"</span>
00032 <span class="preprocessor">#include "Envelope.h"</span>
00033 <span class="preprocessor">#include "Noise.h"</span>
00034 <span class="preprocessor">#include "SingWave.h"</span>
00035 <span class="preprocessor">#include "FormSwep.h"</span>
00036 <span class="preprocessor">#include "OnePole.h"</span>
00037 <span class="preprocessor">#include "OneZero.h"</span>
00038
<a name="l00039"></a><a class="code" href="classVoicForm.html">00039</a> <span class="keyword">class </span><a class="code" href="classVoicForm.html">VoicForm</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00040 {
00041 <span class="keyword">public</span>:
00043
00046 <a class="code" href="classVoicForm.html#a0">VoicForm</a>();
00047
00049 <a class="code" href="classVoicForm.html#a1">~VoicForm</a>();
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a2">clear</a>();
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a3">setFrequency</a>(StkFloat frequency);
00056
00058 <span class="keywordtype">bool</span> <a class="code" href="classVoicForm.html#a4">setPhoneme</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* phoneme);
00059
00061 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a5">setVoiced</a>(StkFloat vGain);
00062
00064 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a6">setUnVoiced</a>(StkFloat nGain);
00065
00067 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a7">setFilterSweepRate</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> whichOne, StkFloat rate);
00068
00070 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a8">setPitchSweepRate</a>(StkFloat rate);
00071
00073 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a9">speak</a>();
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a10">quiet</a>();
00077
00079 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a11">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00080
00082 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a12">noteOff</a>(StkFloat amplitude);
00083
00085 StkFloat <a class="code" href="classVoicForm.html#a13">tick</a>();
00086
00088 StkFloat *<a class="code" href="classVoicForm.html#a13">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00089
00091
00097 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classVoicForm.html#a13">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00098
00100 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a16">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00101
00102 <span class="keyword">protected</span>:
00103 <a class="code" href="classSingWave.html">SingWave</a> *voiced_;
00104 <a class="code" href="classNoise.html">Noise</a> noise_;
00105 <a class="code" href="classEnvelope.html">Envelope</a> noiseEnv_;
00106 <a class="code" href="classFormSwep.html">FormSwep</a> filters_[4];
00107 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
00108 <a class="code" href="classOneZero.html">OneZero</a> onezero_;
00109
00110 };
00111
00112 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

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>Voicer.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00030 <span class="comment">/***************************************************/</span>
00031
00032 <span class="preprocessor">#ifndef STK_VOICER_H</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define STK_VOICER_H</span>
00034 <span class="preprocessor"></span>
00035 <span class="preprocessor">#include "Instrmnt.h"</span>
00036 <span class="preprocessor">#include &lt;vector&gt;</span>
00037
<a name="l00038"></a><a class="code" href="classVoicer.html">00038</a> <span class="keyword">class </span><a class="code" href="classVoicer.html">Voicer</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00039 {
00040 <span class="keyword">public</span>:
00042 <a class="code" href="classVoicer.html#a0">Voicer</a>( StkFloat decayTime=0.2 );
00043
00045 <a class="code" href="classVoicer.html#a1">~Voicer</a>();
00046
00048
00052 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a2">addInstrument</a>( <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument, <span class="keywordtype">int</span> channel=0 );
00053
00055
00060 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a3">removeInstrument</a>( <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument );
00061
00063
00071 <span class="keywordtype">long</span> <a class="code" href="classVoicer.html#a4">noteOn</a>( StkFloat noteNumber, StkFloat amplitude, <span class="keywordtype">int</span> channel=0 );
00072
00074
00077 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a5">noteOff</a>( StkFloat noteNumber, StkFloat amplitude, <span class="keywordtype">int</span> channel=0 );
00078
00080
00083 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a5">noteOff</a>( <span class="keywordtype">long</span> tag, StkFloat amplitude );
00084
00086
00089 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a7">setFrequency</a>( StkFloat noteNumber, <span class="keywordtype">int</span> channel=0 );
00090
00092
00095 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a7">setFrequency</a>( <span class="keywordtype">long</span> tag, StkFloat noteNumber );
00096
00098 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a9">pitchBend</a>( StkFloat value, <span class="keywordtype">int</span> channel=0 );
00099
00101 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a9">pitchBend</a>( <span class="keywordtype">long</span> tag, StkFloat value );
00102
00104 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a11">controlChange</a>( <span class="keywordtype">int</span> number, StkFloat value, <span class="keywordtype">int</span> channel=0 );
00105
00107 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a11">controlChange</a>( <span class="keywordtype">long</span> tag, <span class="keywordtype">int</span> number, StkFloat value );
00108
00110 <span class="keywordtype">void</span> <a class="code" href="classVoicer.html#a13">silence</a>( <span class="keywordtype">void</span> );
00111
00113 StkFloat <a class="code" href="classVoicer.html#a14">tick</a>();
00114
00116 StkFloat *<a class="code" href="classVoicer.html#a14">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00117
00119
00125 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classVoicer.html#a14">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00126
00128 StkFloat <a class="code" href="classVoicer.html#a17">lastOut</a>() <span class="keyword">const</span>;
00129
00131 StkFloat <a class="code" href="classVoicer.html#a18">lastOutLeft</a>() <span class="keyword">const</span>;
00132
00134 StkFloat <a class="code" href="classVoicer.html#a19">lastOutRight</a>() <span class="keyword">const</span>;
00135
00136 <span class="keyword">protected</span>:
00137
00138 <span class="keyword">struct </span>Voice {
00139 <a class="code" href="classInstrmnt.html">Instrmnt</a> *instrument;
00140 <span class="keywordtype">long</span> tag;
00141 StkFloat noteNumber;
00142 StkFloat frequency;
00143 <span class="keywordtype">int</span> sounding;
00144 <span class="keywordtype">int</span> channel;
00145
00146 <span class="comment">// Default constructor.</span>
00147 Voice()
00148 :instrument(0), tag(0), noteNumber(-1.0), frequency(0.0),
00149 sounding(0), channel(0) {}
00150 };
00151
00152 std::vector&lt;Voice&gt; voices_;
00153 <span class="keywordtype">long</span> tags_;
00154 <span class="keywordtype">int</span> muteTime_;
00155 StkFloat lastOutput_;
00156 StkFloat lastOutputLeft_;
00157 StkFloat lastOutputRight_;
00158 };
00159
00160 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>WaveLoop.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00019 <span class="comment">/***************************************************/</span>
00020
00021 <span class="preprocessor">#ifndef STK_WAVELOOP_H</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_WAVELOOP_H</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "WvIn.h"</span>
00025
<a name="l00026"></a><a class="code" href="classWaveLoop.html">00026</a> <span class="keyword">class </span><a class="code" href="classWaveLoop.html">WaveLoop</a> : <span class="keyword">public</span> <a class="code" href="classWvIn.html">WvIn</a>
00027 {
00028 <span class="keyword">public</span>:
00030 <a class="code" href="classWaveLoop.html#a0">WaveLoop</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span> );
00031
00033 <span class="keyword">virtual</span> <a class="code" href="classWaveLoop.html#a1">~WaveLoop</a>();
00034
00036
00042 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a2">setFrequency</a>(StkFloat frequency);
00043
00045 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a3">addTime</a>(StkFloat time);
00046
00048
00053 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a4">addPhase</a>(StkFloat angle);
00054
00056
00061 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a5">addPhaseOffset</a>(StkFloat angle);
00062
00064 <span class="keyword">const</span> StkFloat *<a class="code" href="classWaveLoop.html#a6">tickFrame</a>(<span class="keywordtype">void</span>);
00065
00067
00070 StkFloat *<a class="code" href="classWaveLoop.html#a6">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00071
00073
00079 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWaveLoop.html#a6">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00080
00081 <span class="keyword">protected</span>:
00082
00083 <span class="comment">// Read file data.</span>
00084 <span class="keywordtype">void</span> readData(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> index);
00085
00086 StkFloat phaseOffset_;
00087
00088 };
00089
00090 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Whistle.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00017 <span class="comment">/***************************************************/</span>
00018
00019 <span class="preprocessor">#ifndef STK_WHISTLE_H</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_WHISTLE_H</span>
00021 <span class="preprocessor"></span>
00022 <span class="preprocessor">#include "Instrmnt.h"</span>
00023 <span class="preprocessor">#include "Sphere.h"</span>
00024 <span class="preprocessor">#include "Vector3D.h"</span>
00025 <span class="preprocessor">#include "Noise.h"</span>
00026 <span class="preprocessor">#include "WaveLoop.h"</span>
00027 <span class="preprocessor">#include "OnePole.h"</span>
00028 <span class="preprocessor">#include "Envelope.h"</span>
00029
<a name="l00030"></a><a class="code" href="classWhistle.html">00030</a> <span class="keyword">class </span><a class="code" href="classWhistle.html">Whistle</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00031 {
00032 <span class="keyword">public</span>:
00034
00037 <a class="code" href="classWhistle.html#a0">Whistle</a>();
00038
00040 <a class="code" href="classWhistle.html#a1">~Whistle</a>();
00041
00043 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a2">clear</a>();
00044
00046 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a3">setFrequency</a>(StkFloat frequency);
00047
00049 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00050
00052 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a5">stopBlowing</a>(StkFloat rate);
00053
00055 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00056
00058 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a7">noteOff</a>(StkFloat amplitude);
00059
00061 StkFloat <a class="code" href="classWhistle.html#a8">tick</a>();
00062
00064 StkFloat *<a class="code" href="classWhistle.html#a8">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00065
00067
00073 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWhistle.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00074
00076 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00077
00078 <span class="keyword">protected</span>:
00079
00080 <a class="code" href="classVector3D.html">Vector3D</a> *tempVectorP_;
00081 <a class="code" href="classVector3D.html">Vector3D</a> tempVector_;
00082 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
00083 <a class="code" href="classNoise.html">Noise</a> noise_;
00084 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00085 <a class="code" href="classSphere.html">Sphere</a> can_; <span class="comment">// Declare a Spherical "can".</span>
00086 <a class="code" href="classSphere.html">Sphere</a> pea_, bumper_; <span class="comment">// One spherical "pea", and a spherical "bumper".</span>
00087
00088 <a class="code" href="classWaveLoop.html">WaveLoop</a> *sine_;
00089
00090 StkFloat baseFrequency_;
00091 StkFloat noiseGain_;
00092 StkFloat fippleFreqMod_;
00093 StkFloat fippleGainMod_;
00094 StkFloat blowFreqMod_;
00095 StkFloat tickSize_;
00096 StkFloat canLoss_;
00097 <span class="keywordtype">int</span> subSample_, subSampCount_;
00098 };
00099
00100 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</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>Wurley.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span>
00031 <span class="comment">/***************************************************/</span>
00032
00033 <span class="preprocessor">#ifndef STK_WURLEY_H</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_WURLEY_H</span>
00035 <span class="preprocessor"></span>
00036 <span class="preprocessor">#include "FM.h"</span>
00037
<a name="l00038"></a><a class="code" href="classWurley.html">00038</a> <span class="keyword">class </span><a class="code" href="classWurley.html">Wurley</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a>
00039 {
00040 <span class="keyword">public</span>:
00042
00045 <a class="code" href="classWurley.html#a0">Wurley</a>();
00046
00048 <a class="code" href="classWurley.html#a1">~Wurley</a>();
00049
00051 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a2">setFrequency</a>(StkFloat frequency);
00052
00054 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00055
00057 StkFloat <a class="code" href="classWurley.html#a4">tick</a>();
00058
00060 StkFloat *<a class="code" href="classWurley.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00061
00063
00069 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWurley.html#a4">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00070 };
00071
00072 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,140 @@
<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>
00043 <span class="comment">/***************************************************/</span>
00044
00045 <span class="preprocessor">#ifndef STK_WVIN_H</span>
00046 <span class="preprocessor"></span><span class="preprocessor">#define STK_WVIN_H</span>
00047 <span class="preprocessor"></span>
00048 <span class="comment">// Files larger than CHUNK_THRESHOLD will be copied into memory</span>
00049 <span class="comment">// in CHUNK_SIZE increments, rather than completely loaded into</span>
00050 <span class="comment">// a buffer at once.</span>
00051
00052 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> CHUNK_THRESHOLD = 5000000; <span class="comment">// 5 Mb</span>
00053 <span class="keyword">const</span> <span class="keywordtype">long</span> CHUNK_SIZE = 1024; <span class="comment">// sample frames</span>
00054
00055 <span class="preprocessor">#include "Stk.h"</span>
00056
<a name="l00057"></a><a class="code" href="classWvIn.html">00057</a> <span class="keyword">class </span><a class="code" href="classWvIn.html">WvIn</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00058 {
00059 <span class="keyword">public</span>:
00061 <a class="code" href="classWvIn.html#a0">WvIn</a>();
00062
00064
00068 <a class="code" href="classWvIn.html#a0">WvIn</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>, <span class="keywordtype">bool</span> doNormalize = <span class="keyword">true</span> );
00069
00071 <span class="keyword">virtual</span> <a class="code" href="classWvIn.html#a2">~WvIn</a>();
00072
00074
00078 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a3">openFile</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>, <span class="keywordtype">bool</span> doNormalize = <span class="keyword">true</span> );
00079
00081 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a4">closeFile</a>(<span class="keywordtype">void</span>);
00082
00084 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a5">reset</a>(<span class="keywordtype">void</span>);
00085
00087
00093 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a6">normalize</a>(<span class="keywordtype">void</span>);
00094
00096
00102 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a6">normalize</a>(StkFloat peak);
00103
00105 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classWvIn.html#a8">getSize</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00106
00108 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classWvIn.html#a9">getChannels</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00109
00111
00116 StkFloat <a class="code" href="classWvIn.html#a10">getFileRate</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00117
00119 <span class="keywordtype">bool</span> <a class="code" href="classWvIn.html#a11">isFinished</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00120
00122
00125 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a12">setRate</a>(StkFloat aRate);
00126
00128 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a13">addTime</a>(StkFloat aTime);
00129
00131
00137 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a14">setInterpolate</a>(<span class="keywordtype">bool</span> doInterpolate);
00138
00140 <span class="keyword">virtual</span> StkFloat <a class="code" href="classWvIn.html#a15">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00141
00143
00146 <span class="keyword">virtual</span> StkFloat <a class="code" href="classWvIn.html#a16">tick</a>(<span class="keywordtype">void</span>);
00147
00149
00152 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classWvIn.html#a16">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00153
00155
00162 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWvIn.html#a16">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00163
00165 <span class="keyword">virtual</span> <span class="keyword">const</span> StkFloat *<a class="code" href="classWvIn.html#a19">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00166
00168
00171 <span class="keyword">virtual</span> <span class="keyword">const</span> StkFloat *<a class="code" href="classWvIn.html#a20">tickFrame</a>(<span class="keywordtype">void</span>);
00172
00174
00177 <span class="keyword">virtual</span> StkFloat *<a class="code" href="classWvIn.html#a20">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames);
00178
00180
00186 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWvIn.html#a20">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00187
00188 <span class="keyword">protected</span>:
00189
00190 <span class="comment">// Initialize class variables.</span>
00191 <span class="keywordtype">void</span> init( <span class="keywordtype">void</span> );
00192
00193 <span class="comment">// Read file data.</span>
00194 <span class="keyword">virtual</span> <span class="keywordtype">void</span> readData(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> index);
00195
00196 <span class="comment">// Get STK RAW file information.</span>
00197 <span class="keywordtype">bool</span> getRawInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00198
00199 <span class="comment">// Get WAV file header information.</span>
00200 <span class="keywordtype">bool</span> getWavInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00201
00202 <span class="comment">// Get SND (AU) file header information.</span>
00203 <span class="keywordtype">bool</span> getSndInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00204
00205 <span class="comment">// Get AIFF file header information.</span>
00206 <span class="keywordtype">bool</span> getAifInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00207
00208 <span class="comment">// Get MAT-file header information.</span>
00209 <span class="keywordtype">bool</span> getMatInfo( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00210
00211 FILE *fd_;
00212 StkFloat *data_;
00213 StkFloat *lastOutputs_;
00214 <span class="keywordtype">bool</span> chunking_;
00215 <span class="keywordtype">bool</span> finished_;
00216 <span class="keywordtype">bool</span> interpolate_;
00217 <span class="keywordtype">bool</span> byteswap_;
00218 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> fileSize_;
00219 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> bufferSize_;
00220 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> dataOffset_;
00221 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
00222 <span class="keywordtype">long</span> chunkPointer_;
00223 StkFormat dataType_;
00224 StkFloat fileRate_;
00225 StkFloat gain_;
00226 StkFloat time_;
00227 StkFloat rate_;
00228 };
00229
00230 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,129 @@
<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">#ifndef STK_WVOUT_H</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#define STK_WVOUT_H</span>
00038 <span class="preprocessor"></span>
00039 <span class="preprocessor">#include "Stk.h"</span>
00040
00041 <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> BUFFER_SIZE = 1024; <span class="comment">// sample frames</span>
00042
<a name="l00043"></a><a class="code" href="classWvOut.html">00043</a> <span class="keyword">class </span><a class="code" href="classWvOut.html">WvOut</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00044 {
00045 <span class="keyword">public</span>:
00046
00047 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> FILE_TYPE;
00048
<a name="l00049"></a><a class="code" href="classWvOut.html#s0">00049</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s0">WVOUT_RAW</a>;
<a name="l00050"></a><a class="code" href="classWvOut.html#s1">00050</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s1">WVOUT_WAV</a>;
<a name="l00051"></a><a class="code" href="classWvOut.html#s2">00051</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s2">WVOUT_SND</a>;
<a name="l00052"></a><a class="code" href="classWvOut.html#s3">00052</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s3">WVOUT_AIF</a>;
<a name="l00053"></a><a class="code" href="classWvOut.html#s4">00053</a> <span class="keyword">static</span> <span class="keyword">const</span> FILE_TYPE <a class="code" href="classWvOut.html#s4">WVOUT_MAT</a>;
00055
00056 <a class="code" href="classWvOut.html#a0">WvOut</a>();
00057
00059
00062 <a class="code" href="classWvOut.html#a0">WvOut</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, FILE_TYPE type = WVOUT_WAV, Stk::StkFormat format = STK_SINT16 );
00063
00065 <span class="keyword">virtual</span> <a class="code" href="classWvOut.html#a2">~WvOut</a>();
00066
00068
00071 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a3">openFile</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1,
00072 WvOut::FILE_TYPE type = WVOUT_WAV, Stk::StkFormat format = STK_SINT16 );
00073
00075 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a4">closeFile</a>( <span class="keywordtype">void</span> );
00076
00078 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classWvOut.html#a5">getFrames</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00079
00081 StkFloat <a class="code" href="classWvOut.html#a6">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00082
<a name="l00084"></a><a class="code" href="classWvOut.html#a7">00084</a> <span class="keywordtype">bool</span> <a class="code" href="classWvOut.html#a7">getClipStatus</a>( <span class="keywordtype">void</span> ) { <span class="keywordflow">return</span> clipping_; };
00085
<a name="l00087"></a><a class="code" href="classWvOut.html#a8">00087</a> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a8">resetClipStatus</a>( <span class="keywordtype">void</span> ) { clipping_ = <span class="keyword">false</span>; };
00088
00090
00093 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a9">tick</a>(<span class="keyword">const</span> StkFloat sample);
00094
00096
00099 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a9">tick</a>( <span class="keyword">const</span> StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize );
00100
00102
00108 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a9">tick</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00109
00111
00114 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a12">tickFrame</a>( <span class="keyword">const</span> StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
00115
00117
00122 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a12">tickFrame</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00123
00124 <span class="keyword">protected</span>:
00125
00126 <span class="comment">// Initialize class variables.</span>
00127 <span class="keywordtype">void</span> init( <span class="keywordtype">void</span> );
00128
00129 <span class="comment">// Write data to output file;</span>
00130 <span class="keyword">virtual</span> <span class="keywordtype">void</span> writeData( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frames );
00131
00132 <span class="comment">// Check for sample clipping and clamp.</span>
00133 <span class="keywordtype">void</span> clipTest( StkFloat&amp; sample );
00134
00135 <span class="comment">// Write STK RAW file header.</span>
00136 <span class="keywordtype">bool</span> setRawFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00137
00138 <span class="comment">// Write WAV file header.</span>
00139 <span class="keywordtype">bool</span> setWavFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00140
00141 <span class="comment">// Close WAV file, updating the header.</span>
00142 <span class="keywordtype">void</span> closeWavFile( <span class="keywordtype">void</span> );
00143
00144 <span class="comment">// Write SND (AU) file header.</span>
00145 <span class="keywordtype">bool</span> setSndFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00146
00147 <span class="comment">// Close SND file, updating the header.</span>
00148 <span class="keywordtype">void</span> closeSndFile( <span class="keywordtype">void</span> );
00149
00150 <span class="comment">// Write AIFF file header.</span>
00151 <span class="keywordtype">bool</span> setAifFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00152
00153 <span class="comment">// Close AIFF file, updating the header.</span>
00154 <span class="keywordtype">void</span> closeAifFile( <span class="keywordtype">void</span> );
00155
00156 <span class="comment">// Write MAT-file header.</span>
00157 <span class="keywordtype">bool</span> setMatFile( <span class="keyword">const</span> <span class="keywordtype">char</span> *fileName );
00158
00159 <span class="comment">// Close MAT-file, updating the header.</span>
00160 <span class="keywordtype">void</span> closeMatFile( <span class="keywordtype">void</span> );
00161
00162 FILE *fd_;
00163 std::valarray&lt;StkFloat&gt; data_;
00164 FILE_TYPE fileType_;
00165 StkFormat dataType_;
00166 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
00167 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> counter_;
00168 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> totalCount_;
00169 <span class="keywordtype">bool</span> byteswap_;
00170 <span class="keywordtype">bool</span> clipping_;
00171
00172 };
00173
00174 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

114
doc/html/annotated.html Normal file
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>STK Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="classADSR.html">ADSR</a></td><td class="indexvalue">STK ADSR envelope class </td></tr>
<tr><td class="indexkey"><a class="el" href="classAsymp.html">Asymp</a></td><td class="indexvalue">STK asymptotic curve envelope class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBandedWG.html">BandedWG</a></td><td class="indexvalue">Banded waveguide modeling class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBeeThree.html">BeeThree</a></td><td class="indexvalue">STK Hammond-oid organ <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classBiQuad.html">BiQuad</a></td><td class="indexvalue">STK biquad (two-pole, two-zero) filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="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="classBowTable.html">BowTable</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="classEffect.html">Effect</a></td><td class="indexvalue">STK abstract effects parent class </td></tr>
<tr><td class="indexkey"><a class="el" href="classEnvelope.html">Envelope</a></td><td class="indexvalue">STK envelope base class </td></tr>
<tr><td class="indexkey"><a class="el" href="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="classFunction.html">Function</a></td><td class="indexvalue">STK abstract function parent class </td></tr>
<tr><td class="indexkey"><a class="el" href="classGenerator.html">Generator</a></td><td class="indexvalue">STK abstract unit generator parent class </td></tr>
<tr><td class="indexkey"><a class="el" href="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="classJetTable.html">JetTable</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="classMidiFileIn.html">MidiFileIn</a></td><td class="indexvalue">A standard MIDI file reading/parsing class </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="classMutex.html">Mutex</a></td><td class="indexvalue">STK mutex 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="classReedTable.html">ReedTable</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="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 (blocking) 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">An abstract base class for realtime MIDI input/output </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtMidiIn.html">RtMidiIn</a></td><td class="indexvalue">A realtime MIDI input class </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtMidiOut.html">RtMidiOut</a></td><td class="indexvalue">A realtime MIDI output class </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtWvIn.html">RtWvIn</a></td><td class="indexvalue">STK realtime audio (blocking) input class </td></tr>
<tr><td class="indexkey"><a class="el" href="classRtWvOut.html">RtWvOut</a></td><td class="indexvalue">STK realtime audio (blocking) 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="structSkini_1_1Message.html">Skini::Message</a></td><td class="indexvalue">A message structure to store and pass parsed SKINI messages </td></tr>
<tr><td class="indexkey"><a class="el" href="classSocket.html">Socket</a></td><td class="indexvalue">STK TCP socket client/server class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSphere.html">Sphere</a></td><td class="indexvalue">STK sphere class </td></tr>
<tr><td class="indexkey"><a class="el" href="classStifKarp.html">StifKarp</a></td><td class="indexvalue">STK plucked stiff string instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classStk.html">Stk</a></td><td class="indexvalue">STK base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classStkError.html">StkError</a></td><td class="indexvalue">STK error handling class </td></tr>
<tr><td class="indexkey"><a class="el" href="classStkFrames.html">StkFrames</a></td><td class="indexvalue">An STK class to handle vectorized audio data </td></tr>
<tr><td class="indexkey"><a class="el" href="classSubNoise.html">SubNoise</a></td><td class="indexvalue">STK sub-sampled noise generator </td></tr>
<tr><td class="indexkey"><a class="el" href="classTable.html">Table</a></td><td class="indexvalue">STK table lookup class </td></tr>
<tr><td class="indexkey"><a class="el" href="classTcpWvIn.html">TcpWvIn</a></td><td class="indexvalue">STK internet streaming input class </td></tr>
<tr><td class="indexkey"><a class="el" href="classTcpWvOut.html">TcpWvOut</a></td><td class="indexvalue">STK internet streaming output class </td></tr>
<tr><td class="indexkey"><a class="el" href="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://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,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>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="classGenerator.html#a0">Generator</a>()</td><td><a class="el" href="classGenerator.html">Generator</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a13">getState</a>(void) const </td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e8">handleError</a>(const char *message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e9">handleError</a>(std::string message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b2">handleError</a>(StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a3">keyOff</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a2">keyOn</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a2">lastOut</a>() const </td><td><a class="el" href="classGenerator.html">Generator</a></td><td><code> [inline, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e2">rawwavePath</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e0">sampleRate</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a11">setAllTimes</a>(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a4">setAttackRate</a>(StkFloat rate)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a8">setAttackTime</a>(StkFloat time)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a5">setDecayRate</a>(StkFloat rate)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a9">setDecayTime</a>(StkFloat time)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a4">setRate</a>(StkFloat rate)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e3">setRawwavePath</a>(std::string path)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a7">setReleaseRate</a>(StkFloat rate)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a10">setReleaseTime</a>(StkFloat time)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e1">setSampleRate</a>(StkFloat rate)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a6">setSustainLevel</a>(StkFloat level)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a12">setTarget</a>(StkFloat target)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a5">setTime</a>(StkFloat time)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a14">setValue</a>(StkFloat value)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e7">sleep</a>(unsigned long milliseconds)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b0">Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s4">STK_FLOAT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s5">STK_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#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_SINT24</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#s3">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>(StkFloat *vector, unsigned int vectorSize)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a17">tick</a>(StkFrames &amp;frames, unsigned int channel=1)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classADSR.html#a1">~ADSR</a>(void)</td><td><a class="el" href="classADSR.html">ADSR</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a1">~Envelope</a>(void)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a1">~Generator</a>()</td><td><a class="el" href="classGenerator.html">Generator</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b1">~Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, virtual]</code></td></tr>
</table><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

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

@@ -0,0 +1,161 @@
<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><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,112,69,136">
<area href="classGenerator.html" alt="Generator" shape="rect" coords="0,56,69,80">
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,69,24">
</map>
<a href="classADSR-members.html">List of all members.</a><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 - 2004.
<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>.<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> (StkFloat rate)</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> (StkFloat rate)</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> (StkFloat level)</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> (StkFloat rate)</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> (StkFloat time)</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> (StkFloat time)</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> (StkFloat time)</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> (StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set sustain level and attach, decay, and release 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> (StkFloat target)</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> (StkFloat value)</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>
StkFloat&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>
StkFloat *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a16">tick</a> (StkFloat *vector, unsigned int vectorSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute <em>vectorSize</em> outputs and return them in <em>vector</em>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classADSR.html#a17">tick</a> (<a class="el" href="classStkFrames.html">StkFrames</a> &amp;frames, unsigned int channel=1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs. </em> <a href="#a17"></a><em><br><br></td></tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a17" doxytag="ADSR::tick" ></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"> <a class="el" href="classStkFrames.html">StkFrames</a>&amp; ADSR::tick </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>frames</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>unsigned int&nbsp;</td>
<td class="mdname" nowrap> <em>channel</em> = 1</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs.
<p>
The <code>channel</code> argument should be one or greater (the first channel is specified by 1). An <a class="el" href="classStkError.html">StkError</a> will be thrown if the <code>channel</code> argument is zero or it is greater than the number of channels in the <a class="el" href="classStkFrames.html">StkFrames</a> object.
<p>
Reimplemented from <a class="el" href="classEnvelope.html#a11">Envelope</a>. </td>
</tr>
</table>
<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://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: 472 B

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>Asymp Member List</h1>This is the complete list of members for <a class="el" href="classAsymp.html">Asymp</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a0">Asymp</a>(void)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a0">Envelope</a>(void)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a0">Generator</a>()</td><td><a class="el" href="classGenerator.html">Generator</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a8">getState</a>(void) const </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#e8">handleError</a>(const char *message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e9">handleError</a>(std::string message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b2">handleError</a>(StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a3">keyOff</a>(void)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a2">keyOn</a>(void)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a2">lastOut</a>() const </td><td><a class="el" href="classGenerator.html">Generator</a></td><td><code> [inline, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e2">rawwavePath</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e0">sampleRate</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a4">setRate</a>(StkFloat rate)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e3">setRawwavePath</a>(std::string path)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e1">setSampleRate</a>(StkFloat rate)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a6">setTarget</a>(StkFloat target)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a4">setTau</a>(StkFloat tau)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a5">setTime</a>(StkFloat time)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a7">setValue</a>(StkFloat value)</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#e7">sleep</a>(unsigned long milliseconds)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b0">Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s4">STK_FLOAT32</a></td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#s5">STK_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#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_SINT24</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#s3">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="classAsymp.html#a7">tick</a>(void)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a8">tick</a>(StkFloat *vector, unsigned int vectorSize)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a9">tick</a>(StkFrames &amp;frames, unsigned int channel=1)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classAsymp.html#a1">~Asymp</a>(void)</td><td><a class="el" href="classAsymp.html">Asymp</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classEnvelope.html#a1">~Envelope</a>(void)</td><td><a class="el" href="classEnvelope.html">Envelope</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classGenerator.html#a1">~Generator</a>()</td><td><a class="el" href="classGenerator.html">Generator</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b1">~Stk</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected, virtual]</code></td></tr>
</table><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

157
doc/html/classAsymp.html Normal file
View File

@@ -0,0 +1,157 @@
<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>Asymp Class Reference</h1><code>#include &lt;<a class="el" href="Asymp_8h-source.html">Asymp.h</a>&gt;</code>
<p>
<p>Inheritance diagram for Asymp:
<p><center><img src="classAsymp.png" usemap="#Asymp_map" border="0" alt=""></center>
<map name="Asymp_map">
<area href="classEnvelope.html" alt="Envelope" shape="rect" coords="0,112,69,136">
<area href="classGenerator.html" alt="Generator" shape="rect" coords="0,56,69,80">
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,69,24">
</map>
<a href="classAsymp-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
STK asymptotic curve envelope class.
<p>
This class implements a simple envelope generator which asymptotically approaches a target value. The algorithm used is of the form:<p>
x[n] = a x[n-1] + (1-a) target,<p>
where a = exp(-T/tau), T is the sample period, and tau is a time constant. The user can set the time constant (default value = 0.3) and target value. Theoretically, this recursion never reaches its target, though the calculations in this class are stopped when the current value gets within a small threshold value of the target (at which time the current value is set to the target). It responds to <em>keyOn</em> and <em>keyOff</em> messages by ramping to 1.0 on keyOn and to 0.0 on keyOff.<p>
by Perry R. Cook and Gary P. Scavone, 1995 - 2004.
<p>
<p>
Definition at line <a class="el" href="Asymp_8h-source.html#l00033">33</a> of file <a class="el" href="Asymp_8h-source.html">Asymp.h</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="Asymp::Asymp" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a0">Asymp</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="Asymp::~Asymp" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a1">~Asymp</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="Asymp::keyOn" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a2">keyOn</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set target = 1. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="Asymp::keyOff" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a3">keyOff</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set target = 0. <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="classAsymp.html#a4">setTau</a> (StkFloat tau)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the asymptotic rate via the time factor <em>tau</em> (must be &gt; 0). </em> <a href="#a4"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a5" doxytag="Asymp::setTime" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a5">setTime</a> (StkFloat time)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the asymptotic rate based on a time duration (must be &gt; 0). <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a6" doxytag="Asymp::setTarget" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a6">setTarget</a> (StkFloat target)</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="a7" doxytag="Asymp::tick" ></a>
StkFloat&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a7">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="a8" doxytag="Asymp::tick" ></a>
StkFloat *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a8">tick</a> (StkFloat *vector, unsigned int vectorSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute <em>vectorSize</em> outputs and return them in <em>vector</em>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classAsymp.html#a9">tick</a> (<a class="el" href="classStkFrames.html">StkFrames</a> &amp;frames, unsigned int channel=1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs. </em> <a href="#a9"></a><em><br><br></td></tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a4" doxytag="Asymp::setTau" ></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 Asymp::setTau </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">StkFloat&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>tau</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Set the asymptotic rate via the time factor <em>tau</em> (must be &gt; 0).
<p>
The rate is computed as described above. The value of <em>tau</em> must be greater than zero. Values of <em>tau</em> close to zero produce fast approach rates, while values greater than 1.0 produce rather slow rates. </td>
</tr>
</table>
<a class="anchor" name="a9" doxytag="Asymp::tick" ></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"> <a class="el" href="classStkFrames.html">StkFrames</a>&amp; Asymp::tick </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>frames</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>unsigned int&nbsp;</td>
<td class="mdname" nowrap> <em>channel</em> = 1</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs.
<p>
The <code>channel</code> argument should be one or greater (the first channel is specified by 1). An <a class="el" href="classStkError.html">StkError</a> will be thrown if the <code>channel</code> argument is zero or it is greater than the number of channels in the <a class="el" href="classStkFrames.html">StkFrames</a> object.
<p>
Reimplemented from <a class="el" href="classEnvelope.html#a11">Envelope</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="Asymp_8h-source.html">Asymp.h</a></ul>
<HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

BIN
doc/html/classAsymp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 B

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>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#a14">controlChange</a>(int number, StkFloat 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#e8">handleError</a>(const char *message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e9">handleError</a>(std::string message, StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#b2">handleError</a>(StkError::Type type)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="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="classBandedWG.html#a10">noteOff</a>(StkFloat 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>(StkFloat frequency, StkFloat 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>(StkFloat 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> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e0">sampleRate</a>(void)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a5">setFrequency</a>(StkFloat 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 path)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classStk.html#e1">setSampleRate</a>(StkFloat rate)</td><td><a class="el" href="classStk.html">Stk</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classBandedWG.html#a3">setStrikePosition</a>(StkFloat 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>(StkFloat amplitude, StkFloat 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#s4">STK_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#s5">STK_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#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_SINT24</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#s3">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>(StkFloat 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="classBandedWG.html#a12">tick</a>(StkFloat *vector, unsigned int vectorSize)</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#a13">tick</a>(StkFrames &amp;frames, unsigned int channel=1)</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#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://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>

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

@@ -0,0 +1,149 @@
<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><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><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 - 2004. 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>.<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> (StkFloat 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> (StkFloat 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> (StkFloat amplitude, StkFloat 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> (StkFloat 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> (StkFloat 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> (StkFloat frequency, StkFloat 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> (StkFloat 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>
StkFloat&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::tick" ></a>
StkFloat *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a12">tick</a> (StkFloat *vector, unsigned int vectorSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computer <em>vectorSize</em> outputs and return them in <em>vector</em>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a13">tick</a> (<a class="el" href="classStkFrames.html">StkFrames</a> &amp;frames, unsigned int channel=1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs. </em> <a href="#a13"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a14" doxytag="BandedWG::controlChange" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classBandedWG.html#a14">controlChange</a> (int number, StkFloat 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><h2>Member Function Documentation</h2>
<a class="anchor" name="a13" doxytag="BandedWG::tick" ></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"> <a class="el" href="classStkFrames.html">StkFrames</a>&amp; BandedWG::tick </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>frames</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>unsigned int&nbsp;</td>
<td class="mdname" nowrap> <em>channel</em> = 1</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs.
<p>
The <code>channel</code> argument should be one or greater (the first channel is specified by 1). An <a class="el" href="classStkError.html">StkError</a> will be thrown if the <code>channel</code> argument is zero or it is greater than the number of channels in the <a class="el" href="classStkFrames.html">StkFrames</a> object.
<p>
Reimplemented from <a class="el" href="classInstrmnt.html#a10">Instrmnt</a>. </td>
</tr>
</table>
<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://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