Release 4.2.1 tarball

This commit is contained in:
Gary Scavone
2013-09-29 23:40:35 +02:00
committed by Stephen Sinclair
parent 11cf5faa0a
commit 21b93795e7
1041 changed files with 23984 additions and 16348 deletions

1027
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -8,71 +8,69 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>ADSR.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00016 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00017 <h1>ADSR.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00018 <span class="preprocessor">#ifndef STK_ADSR_H</span> <a name="l00016"></a>00016 <span class="comment">/***************************************************/</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_ADSR_H</span> <a name="l00017"></a>00017
00020 <span class="preprocessor"></span> <a name="l00018"></a>00018 <span class="preprocessor">#ifndef STK_ADSR_H</span>
00021 <span class="preprocessor">#include "Envelope.h"</span> <a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_ADSR_H</span>
00022 <a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "Envelope.h"</span>
<a name="l00022"></a>00022
<a name="l00023"></a><a class="code" href="classADSR.html">00023</a> <span class="keyword">class </span><a class="code" href="classADSR.html">ADSR</a> : <span class="keyword">public</span> <a class="code" href="classEnvelope.html">Envelope</a> <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 { <a name="l00024"></a>00024 {
00025 <span class="keyword">public</span>: <a name="l00025"></a>00025 <span class="keyword">public</span>:
00026 <a name="l00026"></a>00026
00028 <span class="keyword">enum</span> { ATTACK, DECAY, SUSTAIN, RELEASE, DONE }; <a name="l00028"></a>00028 <span class="keyword">enum</span> { ATTACK, DECAY, SUSTAIN, RELEASE, DONE };
00029 <a name="l00029"></a>00029
00031 <a class="code" href="classADSR.html#a0">ADSR</a>(<span class="keywordtype">void</span>); <a name="l00031"></a>00031 <a class="code" href="classADSR.html#a0">ADSR</a>(<span class="keywordtype">void</span>);
00032 <a name="l00032"></a>00032
00034 <a class="code" href="classADSR.html#a1">~ADSR</a>(<span class="keywordtype">void</span>); <a name="l00034"></a>00034 <a class="code" href="classADSR.html#a1">~ADSR</a>(<span class="keywordtype">void</span>);
00035 <a name="l00035"></a>00035
00037 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a2">keyOn</a>(<span class="keywordtype">void</span>); <a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a2">keyOn</a>(<span class="keywordtype">void</span>);
00038 <a name="l00038"></a>00038
00040 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a3">keyOff</a>(<span class="keywordtype">void</span>); <a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
00041 <a name="l00041"></a>00041
00043 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a4">setAttackRate</a>(StkFloat rate); <a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a4">setAttackRate</a>(StkFloat rate);
00044 <a name="l00044"></a>00044
00046 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a5">setDecayRate</a>(StkFloat rate); <a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a5">setDecayRate</a>(StkFloat rate);
00047 <a name="l00047"></a>00047
00049 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a6">setSustainLevel</a>(StkFloat level); <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a6">setSustainLevel</a>(StkFloat level);
00050 <a name="l00050"></a>00050
00052 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a7">setReleaseRate</a>(StkFloat rate); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a7">setReleaseRate</a>(StkFloat rate);
00053 <a name="l00053"></a>00053
00055 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a8">setAttackTime</a>(StkFloat time); <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a8">setAttackTime</a>(StkFloat time);
00056 <a name="l00056"></a>00056
00058 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a9">setDecayTime</a>(StkFloat time); <a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a9">setDecayTime</a>(StkFloat time);
00059 <a name="l00059"></a>00059
00061 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a10">setReleaseTime</a>(StkFloat time); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a10">setReleaseTime</a>(StkFloat time);
00062 <a name="l00062"></a>00062
00064 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a11">setAllTimes</a>(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime); <a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a11">setAllTimes</a>(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime);
00065 <a name="l00065"></a>00065
00067 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a12">setTarget</a>(StkFloat target); <a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a12">setTarget</a>(StkFloat target);
00068 <a name="l00068"></a>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>; <a name="l00070"></a>00070 <span class="keywordtype">int</span> <a class="code" href="classADSR.html#a13">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00071 <a name="l00071"></a>00071
00073 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a14">setValue</a>(StkFloat value); <a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classADSR.html#a14">setValue</a>(StkFloat value);
00074 <a name="l00074"></a>00074
00076 StkFloat <a class="code" href="classADSR.html#a15">tick</a>(<span class="keywordtype">void</span>); <a name="l00075"></a>00075 <span class="keyword">protected</span>:
00077 <a name="l00076"></a>00076
00079 StkFloat *<a class="code" href="classADSR.html#a15">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00077"></a>00077 StkFloat computeSample( <span class="keywordtype">void</span> );
00080 <a name="l00078"></a>00078
00082 <a name="l00079"></a>00079 StkFloat attackRate_;
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 ); <a name="l00080"></a>00080 StkFloat decayRate_;
00089 <a name="l00081"></a>00081 StkFloat sustainLevel_;
00090 <span class="keyword">protected</span>: <a name="l00082"></a>00082 StkFloat releaseRate_;
00091 StkFloat attackRate_; <a name="l00083"></a>00083 };
00092 StkFloat decayRate_; <a name="l00084"></a>00084
00093 StkFloat sustainLevel_; <a name="l00085"></a>00085 <span class="preprocessor">#endif</span>
00094 StkFloat releaseRate_;
00095 };
00096
00097 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,54 +8,52 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Asymp.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00024 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00025 <h1>Asymp.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00026 <span class="preprocessor">#ifndef STK_ASYMP_H</span> <a name="l00024"></a>00024 <span class="comment">/***************************************************/</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_ASYMP_H</span> <a name="l00025"></a>00025
00028 <span class="preprocessor"></span> <a name="l00026"></a>00026 <span class="preprocessor">#ifndef STK_ASYMP_H</span>
00029 <span class="preprocessor">#include "Envelope.h"</span> <a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_ASYMP_H</span>
00030 <a name="l00028"></a>00028 <span class="preprocessor"></span>
00031 <span class="keyword">const</span> StkFloat TARGET_THRESHOLD = 0.000001; <a name="l00029"></a>00029 <span class="preprocessor">#include "Envelope.h"</span>
00032 <a name="l00030"></a>00030
<a name="l00031"></a>00031 <span class="keyword">const</span> StkFloat TARGET_THRESHOLD = 0.000001;
<a name="l00032"></a>00032
<a name="l00033"></a><a class="code" href="classAsymp.html">00033</a> <span class="keyword">class </span><a class="code" href="classAsymp.html">Asymp</a> : <span class="keyword">public</span> <a class="code" href="classEnvelope.html">Envelope</a> <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 { <a name="l00034"></a>00034 {
00035 <span class="keyword">public</span>: <a name="l00035"></a>00035 <span class="keyword">public</span>:
00036 <a name="l00036"></a>00036
00038 <a class="code" href="classAsymp.html#a0">Asymp</a>(<span class="keywordtype">void</span>); <a name="l00038"></a>00038 <a class="code" href="classAsymp.html#a0">Asymp</a>(<span class="keywordtype">void</span>);
00039 <a name="l00039"></a>00039
00041 <a class="code" href="classAsymp.html#a1">~Asymp</a>(<span class="keywordtype">void</span>); <a name="l00041"></a>00041 <a class="code" href="classAsymp.html#a1">~Asymp</a>(<span class="keywordtype">void</span>);
00042 <a name="l00042"></a>00042
00044 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a2">keyOn</a>(<span class="keywordtype">void</span>); <a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a2">keyOn</a>(<span class="keywordtype">void</span>);
00045 <a name="l00045"></a>00045
00047 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a3">keyOff</a>(<span class="keywordtype">void</span>); <a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a3">keyOff</a>(<span class="keywordtype">void</span>);
00048 <a name="l00048"></a>00048
00050 <a name="l00050"></a>00050
00056 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a4">setTau</a>(StkFloat tau); <a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a4">setTau</a>(StkFloat tau);
00057 <a name="l00057"></a>00057
00059 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a5">setTime</a>(StkFloat time); <a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a5">setTime</a>(StkFloat time);
00060 <a name="l00060"></a>00060
00062 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a6">setTarget</a>(StkFloat target); <a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="classAsymp.html#a6">setTarget</a>(StkFloat target);
00063 <a name="l00063"></a>00063
00065 StkFloat <a class="code" href="classAsymp.html#a7">tick</a>(<span class="keywordtype">void</span>); <a name="l00064"></a>00064 <span class="keyword">protected</span>:
00066 <a name="l00065"></a>00065
00068 StkFloat *<a class="code" href="classAsymp.html#a7">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00066"></a>00066 StkFloat computeSample( <span class="keywordtype">void</span> );
00069 <a name="l00067"></a>00067
00071 <a name="l00068"></a>00068 StkFloat factor_;
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 ); <a name="l00069"></a>00069 StkFloat constant_;
00078 <a name="l00070"></a>00070 };
00079 <span class="keyword">protected</span>: <a name="l00071"></a>00071
00080 StkFloat factor_; <a name="l00072"></a>00072 <span class="preprocessor">#endif</span>
00081 StkFloat constant_;
00082 };
00083
00084 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

@@ -8,39 +8,38 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>BeeThree.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00033 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00034 <h1>BeeThree.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00035 <span class="preprocessor">#ifndef STK_BEETHREE_H</span> <a name="l00033"></a>00033 <span class="comment">/***************************************************/</span>
00036 <span class="preprocessor"></span><span class="preprocessor">#define STK_BEETHREE_H</span> <a name="l00034"></a>00034
00037 <span class="preprocessor"></span> <a name="l00035"></a>00035 <span class="preprocessor">#ifndef STK_BEETHREE_H</span>
00038 <span class="preprocessor">#include "FM.h"</span> <a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#define STK_BEETHREE_H</span>
00039 <a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a>00038 <span class="preprocessor">#include "FM.h"</span>
<a name="l00039"></a>00039
<a name="l00040"></a><a class="code" href="classBeeThree.html">00040</a> <span class="keyword">class </span><a class="code" href="classBeeThree.html">BeeThree</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <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 { <a name="l00041"></a>00041 {
00042 <span class="keyword">public</span>: <a name="l00042"></a>00042 <span class="keyword">public</span>:
00044 <a name="l00044"></a>00044
00047 <a class="code" href="classBeeThree.html#a0">BeeThree</a>(); <a name="l00047"></a>00047 <a class="code" href="classBeeThree.html#a0">BeeThree</a>();
00048 <a name="l00048"></a>00048
00050 <a class="code" href="classBeeThree.html#a1">~BeeThree</a>(); <a name="l00050"></a>00050 <a class="code" href="classBeeThree.html#a1">~BeeThree</a>();
00051 <a name="l00051"></a>00051
00053 <span class="keywordtype">void</span> <a class="code" href="classBeeThree.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classBeeThree.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00054 <a name="l00054"></a>00054
00056 StkFloat <a class="code" href="classBeeThree.html#a3">tick</a>(); <a name="l00055"></a>00055 <span class="keyword">protected</span>:
00057 <a name="l00056"></a>00056
00059 StkFloat *<a class="code" href="classBeeThree.html#a3">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); <a name="l00057"></a>00057 StkFloat computeSample( <span class="keywordtype">void</span> );
00060 <a name="l00058"></a>00058 };
00062 <a name="l00059"></a>00059
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 ); <a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
00069 };
00070
00071 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

@@ -0,0 +1,61 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>BlitSaw.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00020"></a>00020 <span class="comment">/***************************************************/</span>
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="preprocessor">#ifndef STK_BLITSAW_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLITSAW_H</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "Generator.h"</span>
<a name="l00026"></a>00026
<a name="l00027"></a><a class="code" href="classBlitSaw.html">00027</a> <span class="keyword">class </span><a class="code" href="classBlitSaw.html">BlitSaw</a>: <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a>
<a name="l00028"></a>00028 {
<a name="l00029"></a>00029 <span class="keyword">public</span>:
<a name="l00031"></a>00031 <a class="code" href="classBlitSaw.html#a0">BlitSaw</a>( StkFloat frequency = 220.0 );
<a name="l00032"></a>00032
<a name="l00034"></a>00034 <a class="code" href="classBlitSaw.html#a1">~BlitSaw</a>();
<a name="l00035"></a>00035
<a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classBlitSaw.html#a2">reset</a>();
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classBlitSaw.html#a3">setFrequency</a>( StkFloat frequency );
<a name="l00041"></a>00041
<a name="l00043"></a>00043
<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classBlitSaw.html#a4">setHarmonics</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nHarmonics = 0 );
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keyword">protected</span>:
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="keywordtype">void</span> updateHarmonics( <span class="keywordtype">void</span> );
<a name="l00060"></a>00060 StkFloat computeSample( <span class="keywordtype">void</span> );
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nHarmonics_;
<a name="l00063"></a>00063 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> m_;
<a name="l00064"></a>00064 StkFloat rate_;
<a name="l00065"></a>00065 StkFloat phase_;
<a name="l00066"></a>00066 StkFloat p_;
<a name="l00067"></a>00067 StkFloat C2_;
<a name="l00068"></a>00068 StkFloat a_;
<a name="l00069"></a>00069 StkFloat state_;
<a name="l00070"></a>00070
<a name="l00071"></a>00071 };
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="preprocessor">#endif</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

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

View File

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

View File

@@ -8,70 +8,68 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>BlowBotl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00017 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00018 <h1>BlowBotl.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00019 <span class="preprocessor">#ifndef STK_BLOWBOTL_H</span> <a name="l00017"></a>00017 <span class="comment">/***************************************************/</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLOWBOTL_H</span> <a name="l00018"></a>00018
00021 <span class="preprocessor"></span> <a name="l00019"></a>00019 <span class="preprocessor">#ifndef STK_BLOWBOTL_H</span>
00022 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLOWBOTL_H</span>
00023 <span class="preprocessor">#include "JetTable.h"</span> <a name="l00021"></a>00021 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "BiQuad.h"</span> <a name="l00022"></a>00022 <span class="preprocessor">#include "Instrmnt.h"</span>
00025 <span class="preprocessor">#include "PoleZero.h"</span> <a name="l00023"></a>00023 <span class="preprocessor">#include "JetTable.h"</span>
00026 <span class="preprocessor">#include "Noise.h"</span> <a name="l00024"></a>00024 <span class="preprocessor">#include "BiQuad.h"</span>
00027 <span class="preprocessor">#include "ADSR.h"</span> <a name="l00025"></a>00025 <span class="preprocessor">#include "PoleZero.h"</span>
00028 <span class="preprocessor">#include "WaveLoop.h"</span> <a name="l00026"></a>00026 <span class="preprocessor">#include "Noise.h"</span>
00029 <a name="l00027"></a>00027 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00029"></a>00029
<a name="l00030"></a><a class="code" href="classBlowBotl.html">00030</a> <span class="keyword">class </span><a class="code" href="classBlowBotl.html">BlowBotl</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00031"></a>00031 {
00032 <span class="keyword">public</span>: <a name="l00032"></a>00032 <span class="keyword">public</span>:
00034 <a name="l00034"></a>00034
00037 <a class="code" href="classBlowBotl.html#a0">BlowBotl</a>(); <a name="l00037"></a>00037 <a class="code" href="classBlowBotl.html#a0">BlowBotl</a>();
00038 <a name="l00038"></a>00038
00040 <a class="code" href="classBlowBotl.html#a1">~BlowBotl</a>(); <a name="l00040"></a>00040 <a class="code" href="classBlowBotl.html#a1">~BlowBotl</a>();
00041 <a name="l00041"></a>00041
00043 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a2">clear</a>(); <a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a2">clear</a>();
00044 <a name="l00044"></a>00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a3">setFrequency</a>(StkFloat frequency); <a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a3">setFrequency</a>(StkFloat frequency);
00047 <a name="l00047"></a>00047
00049 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate); <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00050 <a name="l00050"></a>00050
00052 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a5">stopBlowing</a>(StkFloat rate); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a5">stopBlowing</a>(StkFloat rate);
00053 <a name="l00053"></a>00053
00055 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00056 <a name="l00056"></a>00056
00058 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a7">noteOff</a>(StkFloat amplitude); <a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a7">noteOff</a>(StkFloat amplitude);
00059 <a name="l00059"></a>00059
00061 StkFloat <a class="code" href="classBlowBotl.html#a8">tick</a>(); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a8">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00062 <a name="l00062"></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); <a name="l00063"></a>00063 <span class="keyword">protected</span>:
00065 <a name="l00064"></a>00064
00067 <a name="l00065"></a>00065 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00066"></a>00066
00074 <a name="l00067"></a>00067 <a class="code" href="classJetTable.html">JetTable</a> jetTable_;
00076 <span class="keywordtype">void</span> <a class="code" href="classBlowBotl.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00068"></a>00068 <a class="code" href="classBiQuad.html">BiQuad</a> resonator_;
00077 <a name="l00069"></a>00069 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
00078 <span class="keyword">protected</span>: <a name="l00070"></a>00070 <a class="code" href="classNoise.html">Noise</a> noise_;
00079 <a class="code" href="classJetTable.html">JetTable</a> jetTable_; <a name="l00071"></a>00071 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00080 <a class="code" href="classBiQuad.html">BiQuad</a> resonator_; <a name="l00072"></a>00072 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
00081 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_; <a name="l00073"></a>00073 StkFloat maxPressure_;
00082 <a class="code" href="classNoise.html">Noise</a> noise_; <a name="l00074"></a>00074 StkFloat noiseGain_;
00083 <a class="code" href="classADSR.html">ADSR</a> adsr_; <a name="l00075"></a>00075 StkFloat vibratoGain_;
00084 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_; <a name="l00076"></a>00076 StkFloat outputGain_;
00085 StkFloat maxPressure_; <a name="l00077"></a>00077
00086 StkFloat noiseGain_; <a name="l00078"></a>00078 };
00087 StkFloat vibratoGain_; <a name="l00079"></a>00079
00088 StkFloat outputGain_; <a name="l00080"></a>00080 <span class="preprocessor">#endif</span>
00089
00090 };
00091
00092 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,80 +8,78 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>BlowHole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00034 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00035 <h1>BlowHole.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00036 <span class="preprocessor">#ifndef STK_BLOWHOLE_H</span> <a name="l00034"></a>00034 <span class="comment">/***************************************************/</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLOWHOLE_H</span> <a name="l00035"></a>00035
00038 <span class="preprocessor"></span> <a name="l00036"></a>00036 <span class="preprocessor">#ifndef STK_BLOWHOLE_H</span>
00039 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define STK_BLOWHOLE_H</span>
00040 <span class="preprocessor">#include "DelayL.h"</span> <a name="l00038"></a>00038 <span class="preprocessor"></span>
00041 <span class="preprocessor">#include "ReedTable.h"</span> <a name="l00039"></a>00039 <span class="preprocessor">#include "Instrmnt.h"</span>
00042 <span class="preprocessor">#include "OneZero.h"</span> <a name="l00040"></a>00040 <span class="preprocessor">#include "DelayL.h"</span>
00043 <span class="preprocessor">#include "PoleZero.h"</span> <a name="l00041"></a>00041 <span class="preprocessor">#include "ReedTable.h"</span>
00044 <span class="preprocessor">#include "Envelope.h"</span> <a name="l00042"></a>00042 <span class="preprocessor">#include "OneZero.h"</span>
00045 <span class="preprocessor">#include "Noise.h"</span> <a name="l00043"></a>00043 <span class="preprocessor">#include "PoleZero.h"</span>
00046 <span class="preprocessor">#include "WaveLoop.h"</span> <a name="l00044"></a>00044 <span class="preprocessor">#include "Envelope.h"</span>
00047 <a name="l00045"></a>00045 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00046"></a>00046 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00047"></a>00047
<a name="l00048"></a><a class="code" href="classBlowHole.html">00048</a> <span class="keyword">class </span><a class="code" href="classBlowHole.html">BlowHole</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00049"></a>00049 {
00050 <span class="keyword">public</span>: <a name="l00050"></a>00050 <span class="keyword">public</span>:
00052 <a name="l00052"></a>00052
00055 <a class="code" href="classBlowHole.html#a0">BlowHole</a>(StkFloat lowestFrequency); <a name="l00055"></a>00055 <a class="code" href="classBlowHole.html#a0">BlowHole</a>(StkFloat lowestFrequency);
00056 <a name="l00056"></a>00056
00058 <a class="code" href="classBlowHole.html#a1">~BlowHole</a>(); <a name="l00058"></a>00058 <a class="code" href="classBlowHole.html#a1">~BlowHole</a>();
00059 <a name="l00059"></a>00059
00061 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a2">clear</a>(); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a2">clear</a>();
00062 <a name="l00062"></a>00062
00064 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a3">setFrequency</a>(StkFloat frequency); <a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a3">setFrequency</a>(StkFloat frequency);
00065 <a name="l00065"></a>00065
00067 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a4">setTonehole</a>(StkFloat newValue); <a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a4">setTonehole</a>(StkFloat newValue);
00068 <a name="l00068"></a>00068
00070 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a5">setVent</a>(StkFloat newValue); <a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a5">setVent</a>(StkFloat newValue);
00071 <a name="l00071"></a>00071
00073 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a6">startBlowing</a>(StkFloat amplitude, StkFloat rate); <a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a6">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00074 <a name="l00074"></a>00074
00076 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a7">stopBlowing</a>(StkFloat rate); <a name="l00076"></a>00076 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a7">stopBlowing</a>(StkFloat rate);
00077 <a name="l00077"></a>00077
00079 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00080 <a name="l00080"></a>00080
00082 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a9">noteOff</a>(StkFloat amplitude); <a name="l00082"></a>00082 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a9">noteOff</a>(StkFloat amplitude);
00083 <a name="l00083"></a>00083
00085 StkFloat <a class="code" href="classBlowHole.html#a10">tick</a>(); <a name="l00085"></a>00085 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00086 <a name="l00086"></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); <a name="l00087"></a>00087 <span class="keyword">protected</span>:
00089 <a name="l00088"></a>00088
00091 <a name="l00089"></a>00089 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00090"></a>00090
00098 <a name="l00091"></a>00091 <a class="code" href="classDelayL.html">DelayL</a> delays_[3];
00100 <span class="keywordtype">void</span> <a class="code" href="classBlowHole.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00092"></a>00092 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
00101 <a name="l00093"></a>00093 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00102 <span class="keyword">protected</span>: <a name="l00094"></a>00094 <a class="code" href="classPoleZero.html">PoleZero</a> tonehole_;
00103 <a class="code" href="classDelayL.html">DelayL</a> delays_[3]; <a name="l00095"></a>00095 <a class="code" href="classPoleZero.html">PoleZero</a> vent_;
00104 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_; <a name="l00096"></a>00096 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00105 <a class="code" href="classOneZero.html">OneZero</a> filter_; <a name="l00097"></a>00097 <a class="code" href="classNoise.html">Noise</a> noise_;
00106 <a class="code" href="classPoleZero.html">PoleZero</a> tonehole_; <a name="l00098"></a>00098 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
00107 <a class="code" href="classPoleZero.html">PoleZero</a> vent_; <a name="l00099"></a>00099 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00108 <a class="code" href="classEnvelope.html">Envelope</a> envelope_; <a name="l00100"></a>00100 StkFloat scatter_;
00109 <a class="code" href="classNoise.html">Noise</a> noise_; <a name="l00101"></a>00101 StkFloat thCoeff_;
00110 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_; <a name="l00102"></a>00102 StkFloat rhGain_;
00111 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_; <a name="l00103"></a>00103 StkFloat outputGain_;
00112 StkFloat scatter_; <a name="l00104"></a>00104 StkFloat noiseGain_;
00113 StkFloat thCoeff_; <a name="l00105"></a>00105 StkFloat vibratoGain_;
00114 StkFloat rhGain_; <a name="l00106"></a>00106
00115 StkFloat outputGain_; <a name="l00107"></a>00107 };
00116 StkFloat noiseGain_; <a name="l00108"></a>00108
00117 StkFloat vibratoGain_; <a name="l00109"></a>00109 <span class="preprocessor">#endif</span>
00118
00119 };
00120
00121 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,48 +8,45 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>BowTable.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00010 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00011 <h1>BowTable.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00012 <span class="preprocessor">#ifndef STK_BOWTABL_H</span> <a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_BOWTABL_H</span> <a name="l00011"></a>00011
00014 <span class="preprocessor"></span> <a name="l00012"></a>00012 <span class="preprocessor">#ifndef STK_BOWTABL_H</span>
00015 <span class="preprocessor">#include "Function.h"</span> <a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_BOWTABL_H</span>
00016 <a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "Function.h"</span>
<a name="l00016"></a>00016
<a name="l00017"></a><a class="code" href="classBowTable.html">00017</a> <span class="keyword">class </span><a class="code" href="classBowTable.html">BowTable</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a> <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 { <a name="l00018"></a>00018 {
00019 <span class="keyword">public</span>: <a name="l00019"></a>00019 <span class="keyword">public</span>:
00021 <a class="code" href="classBowTable.html#a0">BowTable</a>(); <a name="l00021"></a>00021 <a class="code" href="classBowTable.html#a0">BowTable</a>();
00022 <a name="l00022"></a>00022
00024 <a class="code" href="classBowTable.html#a1">~BowTable</a>(); <a name="l00024"></a>00024 <a class="code" href="classBowTable.html#a1">~BowTable</a>();
00025 <a name="l00025"></a>00025
00027 <a name="l00027"></a>00027
00033 <span class="keywordtype">void</span> <a class="code" href="classBowTable.html#a2">setOffset</a>(StkFloat offset); <a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="classBowTable.html#a2">setOffset</a>(StkFloat offset);
00034 <a name="l00034"></a>00034
00036 <a name="l00036"></a>00036
00040 <span class="keywordtype">void</span> <a class="code" href="classBowTable.html#a3">setSlope</a>(StkFloat slope); <a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classBowTable.html#a3">setSlope</a>(StkFloat slope);
00041 <a name="l00041"></a>00041
00043 <a name="l00042"></a>00042 <span class="keyword">protected</span>:
00047 StkFloat <a class="code" href="classBowTable.html#a4">tick</a>( StkFloat input); <a name="l00043"></a>00043
00048 <a name="l00044"></a>00044 StkFloat computeSample( StkFloat input );
00050 StkFloat *<a class="code" href="classBowTable.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00045"></a>00045
00051 <a name="l00046"></a>00046 StkFloat offset_;
00053 <a name="l00047"></a>00047 StkFloat slope_;
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 ); <a name="l00048"></a>00048
00060 <a name="l00049"></a>00049 };
00061 <span class="keyword">protected</span>: <a name="l00050"></a>00050
00062 StkFloat offset_; <a name="l00051"></a>00051 <span class="preprocessor">#endif</span>
00063 StkFloat slope_;
00064
00065 };
00066
00067 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,72 +8,70 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Bowed.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00022 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00023 <h1>Bowed.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00024 <span class="preprocessor">#ifndef STK_BOWED_H</span> <a name="l00022"></a>00022 <span class="comment">/***************************************************/</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_BOWED_H</span> <a name="l00023"></a>00023
00026 <span class="preprocessor"></span> <a name="l00024"></a>00024 <span class="preprocessor">#ifndef STK_BOWED_H</span>
00027 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_BOWED_H</span>
00028 <span class="preprocessor">#include "DelayL.h"</span> <a name="l00026"></a>00026 <span class="preprocessor"></span>
00029 <span class="preprocessor">#include "BowTable.h"</span> <a name="l00027"></a>00027 <span class="preprocessor">#include "Instrmnt.h"</span>
00030 <span class="preprocessor">#include "OnePole.h"</span> <a name="l00028"></a>00028 <span class="preprocessor">#include "DelayL.h"</span>
00031 <span class="preprocessor">#include "BiQuad.h"</span> <a name="l00029"></a>00029 <span class="preprocessor">#include "BowTable.h"</span>
00032 <span class="preprocessor">#include "WaveLoop.h"</span> <a name="l00030"></a>00030 <span class="preprocessor">#include "OnePole.h"</span>
00033 <span class="preprocessor">#include "ADSR.h"</span> <a name="l00031"></a>00031 <span class="preprocessor">#include "BiQuad.h"</span>
00034 <a name="l00032"></a>00032 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00034"></a>00034
<a name="l00035"></a><a class="code" href="classBowed.html">00035</a> <span class="keyword">class </span><a class="code" href="classBowed.html">Bowed</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00036"></a>00036 {
00037 <span class="keyword">public</span>: <a name="l00037"></a>00037 <span class="keyword">public</span>:
00039 <a class="code" href="classBowed.html#a0">Bowed</a>(StkFloat lowestFrequency); <a name="l00039"></a>00039 <a class="code" href="classBowed.html#a0">Bowed</a>(StkFloat lowestFrequency);
00040 <a name="l00040"></a>00040
00042 <a class="code" href="classBowed.html#a1">~Bowed</a>(); <a name="l00042"></a>00042 <a class="code" href="classBowed.html#a1">~Bowed</a>();
00043 <a name="l00043"></a>00043
00045 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a2">clear</a>(); <a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a2">clear</a>();
00046 <a name="l00046"></a>00046
00048 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a3">setFrequency</a>(StkFloat frequency); <a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a3">setFrequency</a>(StkFloat frequency);
00049 <a name="l00049"></a>00049
00051 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a4">setVibrato</a>(StkFloat gain); <a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a4">setVibrato</a>(StkFloat gain);
00052 <a name="l00052"></a>00052
00054 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a5">startBowing</a>(StkFloat amplitude, StkFloat rate); <a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a5">startBowing</a>(StkFloat amplitude, StkFloat rate);
00055 <a name="l00055"></a>00055
00057 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a6">stopBowing</a>(StkFloat rate); <a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a6">stopBowing</a>(StkFloat rate);
00058 <a name="l00058"></a>00058
00060 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00061 <a name="l00061"></a>00061
00063 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a8">noteOff</a>(StkFloat amplitude); <a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a8">noteOff</a>(StkFloat amplitude);
00064 <a name="l00064"></a>00064
00066 StkFloat <a class="code" href="classBowed.html#a9">tick</a>(); <a name="l00066"></a>00066 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00067 <a name="l00067"></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); <a name="l00068"></a>00068 <span class="keyword">protected</span>:
00070 <a name="l00069"></a>00069
00072 <a name="l00070"></a>00070 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00071"></a>00071
00079 <a name="l00072"></a>00072 <a class="code" href="classDelayL.html">DelayL</a> neckDelay_;
00081 <span class="keywordtype">void</span> <a class="code" href="classBowed.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00073"></a>00073 <a class="code" href="classDelayL.html">DelayL</a> bridgeDelay_;
00082 <a name="l00074"></a>00074 <a class="code" href="classBowTable.html">BowTable</a> bowTable_;
00083 <span class="keyword">protected</span>: <a name="l00075"></a>00075 <a class="code" href="classOnePole.html">OnePole</a> stringFilter_;
00084 <a class="code" href="classDelayL.html">DelayL</a> neckDelay_; <a name="l00076"></a>00076 <a class="code" href="classBiQuad.html">BiQuad</a> bodyFilter_;
00085 <a class="code" href="classDelayL.html">DelayL</a> bridgeDelay_; <a name="l00077"></a>00077 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
00086 <a class="code" href="classBowTable.html">BowTable</a> bowTable_; <a name="l00078"></a>00078 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00087 <a class="code" href="classOnePole.html">OnePole</a> stringFilter_; <a name="l00079"></a>00079 StkFloat maxVelocity_;
00088 <a class="code" href="classBiQuad.html">BiQuad</a> bodyFilter_; <a name="l00080"></a>00080 StkFloat baseDelay_;
00089 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_; <a name="l00081"></a>00081 StkFloat vibratoGain_;
00090 <a class="code" href="classADSR.html">ADSR</a> adsr_; <a name="l00082"></a>00082 StkFloat betaRatio_;
00091 StkFloat maxVelocity_; <a name="l00083"></a>00083
00092 StkFloat baseDelay_; <a name="l00084"></a>00084 };
00093 StkFloat vibratoGain_; <a name="l00085"></a>00085
00094 StkFloat betaRatio_; <a name="l00086"></a>00086 <span class="preprocessor">#endif</span>
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,71 +8,69 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Brass.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00021 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00022 <h1>Brass.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00023 <span class="preprocessor">#ifndef STK_BRASS_H</span> <a name="l00021"></a>00021 <span class="comment">/***************************************************/</span>
00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_BRASS_H</span> <a name="l00022"></a>00022
00025 <span class="preprocessor"></span> <a name="l00023"></a>00023 <span class="preprocessor">#ifndef STK_BRASS_H</span>
00026 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_BRASS_H</span>
00027 <span class="preprocessor">#include "DelayA.h"</span> <a name="l00025"></a>00025 <span class="preprocessor"></span>
00028 <span class="preprocessor">#include "BiQuad.h"</span> <a name="l00026"></a>00026 <span class="preprocessor">#include "Instrmnt.h"</span>
00029 <span class="preprocessor">#include "PoleZero.h"</span> <a name="l00027"></a>00027 <span class="preprocessor">#include "DelayA.h"</span>
00030 <span class="preprocessor">#include "ADSR.h"</span> <a name="l00028"></a>00028 <span class="preprocessor">#include "BiQuad.h"</span>
00031 <span class="preprocessor">#include "WaveLoop.h"</span> <a name="l00029"></a>00029 <span class="preprocessor">#include "PoleZero.h"</span>
00032 <a name="l00030"></a>00030 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00032"></a>00032
<a name="l00033"></a><a class="code" href="classBrass.html">00033</a> <span class="keyword">class </span><a class="code" href="classBrass.html">Brass</a>: <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00034"></a>00034 {
00035 <span class="keyword">public</span>: <a name="l00035"></a>00035 <span class="keyword">public</span>:
00037 <a name="l00037"></a>00037
00040 <a class="code" href="classBrass.html#a0">Brass</a>(StkFloat lowestFrequency); <a name="l00040"></a>00040 <a class="code" href="classBrass.html#a0">Brass</a>(StkFloat lowestFrequency);
00041 <a name="l00041"></a>00041
00043 <a class="code" href="classBrass.html#a1">~Brass</a>(); <a name="l00043"></a>00043 <a class="code" href="classBrass.html#a1">~Brass</a>();
00044 <a name="l00044"></a>00044
00046 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a2">clear</a>(); <a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a2">clear</a>();
00047 <a name="l00047"></a>00047
00049 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a3">setFrequency</a>(StkFloat frequency); <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a3">setFrequency</a>(StkFloat frequency);
00050 <a name="l00050"></a>00050
00052 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a4">setLip</a>(StkFloat frequency); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a4">setLip</a>(StkFloat frequency);
00053 <a name="l00053"></a>00053
00055 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a5">startBlowing</a>(StkFloat amplitude, StkFloat rate); <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a5">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00056 <a name="l00056"></a>00056
00058 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a6">stopBlowing</a>(StkFloat rate); <a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a6">stopBlowing</a>(StkFloat rate);
00059 <a name="l00059"></a>00059
00061 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00062 <a name="l00062"></a>00062
00064 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a8">noteOff</a>(StkFloat amplitude); <a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a8">noteOff</a>(StkFloat amplitude);
00065 <a name="l00065"></a>00065
00067 StkFloat <a class="code" href="classBrass.html#a9">tick</a>(); <a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00068 <a name="l00068"></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); <a name="l00069"></a>00069 <span class="keyword">protected</span>:
00071 <a name="l00070"></a>00070
00073 <a name="l00071"></a>00071 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00072"></a>00072
00080 <a name="l00073"></a>00073 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00082 <span class="keywordtype">void</span> <a class="code" href="classBrass.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00074"></a>00074 <a class="code" href="classBiQuad.html">BiQuad</a> lipFilter_;
00083 <a name="l00075"></a>00075 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_;
00084 <span class="keyword">protected</span>: <a name="l00076"></a>00076 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00085 <a class="code" href="classDelayA.html">DelayA</a> delayLine_; <a name="l00077"></a>00077 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
00086 <a class="code" href="classBiQuad.html">BiQuad</a> lipFilter_; <a name="l00078"></a>00078 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00087 <a class="code" href="classPoleZero.html">PoleZero</a> dcBlock_; <a name="l00079"></a>00079 StkFloat lipTarget_;
00088 <a class="code" href="classADSR.html">ADSR</a> adsr_; <a name="l00080"></a>00080 StkFloat slideTarget_;
00089 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_; <a name="l00081"></a>00081 StkFloat vibratoGain_;
00090 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_; <a name="l00082"></a>00082 StkFloat maxPressure_;
00091 StkFloat lipTarget_; <a name="l00083"></a>00083
00092 StkFloat slideTarget_; <a name="l00084"></a>00084 };
00093 StkFloat vibratoGain_; <a name="l00085"></a>00085
00094 StkFloat maxPressure_; <a name="l00086"></a>00086 <span class="preprocessor">#endif</span>
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,53 +8,51 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Chorus.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00009 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00010 <h1>Chorus.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00011 <span class="preprocessor">#ifndef STK_CHORUS_H</span> <a name="l00009"></a>00009 <span class="comment">/***************************************************/</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_CHORUS_H</span> <a name="l00010"></a>00010
00013 <span class="preprocessor"></span> <a name="l00011"></a>00011 <span class="preprocessor">#ifndef STK_CHORUS_H</span>
00014 <span class="preprocessor">#include "Effect.h"</span> <a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_CHORUS_H</span>
00015 <span class="preprocessor">#include "DelayL.h"</span> <a name="l00013"></a>00013 <span class="preprocessor"></span>
00016 <span class="preprocessor">#include "WaveLoop.h"</span> <a name="l00014"></a>00014 <span class="preprocessor">#include "Effect.h"</span>
00017 <a name="l00015"></a>00015 <span class="preprocessor">#include "DelayL.h"</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classChorus.html">00018</a> <span class="keyword">class </span><a class="code" href="classChorus.html">Chorus</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a> <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 { <a name="l00019"></a>00019 {
00020 <span class="keyword">public</span>: <a name="l00020"></a>00020 <span class="keyword">public</span>:
00022 <a name="l00022"></a>00022
00025 <a class="code" href="classChorus.html#a0">Chorus</a>( StkFloat baseDelay = 6000 ); <a name="l00025"></a>00025 <a class="code" href="classChorus.html#a0">Chorus</a>( StkFloat baseDelay = 6000 );
00026 <a name="l00026"></a>00026
00028 <a class="code" href="classChorus.html#a1">~Chorus</a>(); <a name="l00028"></a>00028 <a class="code" href="classChorus.html#a1">~Chorus</a>();
00029 <a name="l00029"></a>00029
00031 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a2">clear</a>(); <a name="l00031"></a>00031 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a2">clear</a>();
00032 <a name="l00032"></a>00032
00034 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a3">setModDepth</a>(StkFloat depth); <a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a3">setModDepth</a>(StkFloat depth);
00035 <a name="l00035"></a>00035
00037 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a4">setModFrequency</a>(StkFloat frequency); <a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classChorus.html#a4">setModFrequency</a>(StkFloat frequency);
00038 <a name="l00038"></a>00038
00040 StkFloat <a class="code" href="classChorus.html#a5">tick</a>(StkFloat input); <a name="l00039"></a>00039 <span class="keyword">protected</span>:
00041 <a name="l00040"></a>00040
00043 StkFloat *<a class="code" href="classChorus.html#a5">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00041"></a>00041 StkFloat computeSample( StkFloat input );
00044 <a name="l00042"></a>00042
00046 <a name="l00043"></a>00043 <a class="code" href="classDelayL.html">DelayL</a> delayLine_[2];
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 ); <a name="l00044"></a>00044 <a class="code" href="classSineWave.html">SineWave</a> mods_[2];
00053 <a name="l00045"></a>00045 StkFloat baseLength_;
00054 <span class="keyword">protected</span>: <a name="l00046"></a>00046 StkFloat modDepth_;
00055 <a class="code" href="classDelayL.html">DelayL</a> delayLine_[2]; <a name="l00047"></a>00047
00056 <a class="code" href="classWaveLoop.html">WaveLoop</a> *mods_[2]; <a name="l00048"></a>00048 };
00057 StkFloat baseLength_; <a name="l00049"></a>00049
00058 StkFloat modDepth_; <a name="l00050"></a>00050 <span class="preprocessor">#endif</span>
00059 <a name="l00051"></a>00051 <span class="preprocessor"></span>
00060 };
00061
00062 <span class="preprocessor">#endif</span>
00063 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,70 +8,68 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Clarinet.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00023 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00024 <h1>Clarinet.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00025 <span class="preprocessor">#ifndef STK_CLARINET_H</span> <a name="l00023"></a>00023 <span class="comment">/***************************************************/</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_CLARINET_H</span> <a name="l00024"></a>00024
00027 <span class="preprocessor"></span> <a name="l00025"></a>00025 <span class="preprocessor">#ifndef STK_CLARINET_H</span>
00028 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_CLARINET_H</span>
00029 <span class="preprocessor">#include "DelayL.h"</span> <a name="l00027"></a>00027 <span class="preprocessor"></span>
00030 <span class="preprocessor">#include "ReedTable.h"</span> <a name="l00028"></a>00028 <span class="preprocessor">#include "Instrmnt.h"</span>
00031 <span class="preprocessor">#include "OneZero.h"</span> <a name="l00029"></a>00029 <span class="preprocessor">#include "DelayL.h"</span>
00032 <span class="preprocessor">#include "Envelope.h"</span> <a name="l00030"></a>00030 <span class="preprocessor">#include "ReedTable.h"</span>
00033 <span class="preprocessor">#include "Noise.h"</span> <a name="l00031"></a>00031 <span class="preprocessor">#include "OneZero.h"</span>
00034 <span class="preprocessor">#include "WaveLoop.h"</span> <a name="l00032"></a>00032 <span class="preprocessor">#include "Envelope.h"</span>
00035 <a name="l00033"></a>00033 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00035"></a>00035
<a name="l00036"></a><a class="code" href="classClarinet.html">00036</a> <span class="keyword">class </span><a class="code" href="classClarinet.html">Clarinet</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00037"></a>00037 {
00038 <span class="keyword">public</span>: <a name="l00038"></a>00038 <span class="keyword">public</span>:
00040 <a name="l00040"></a>00040
00043 <a class="code" href="classClarinet.html#a0">Clarinet</a>(StkFloat lowestFrequency); <a name="l00043"></a>00043 <a class="code" href="classClarinet.html#a0">Clarinet</a>(StkFloat lowestFrequency);
00044 <a name="l00044"></a>00044
00046 <a class="code" href="classClarinet.html#a1">~Clarinet</a>(); <a name="l00046"></a>00046 <a class="code" href="classClarinet.html#a1">~Clarinet</a>();
00047 <a name="l00047"></a>00047
00049 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a2">clear</a>(); <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a2">clear</a>();
00050 <a name="l00050"></a>00050
00052 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a3">setFrequency</a>(StkFloat frequency); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a3">setFrequency</a>(StkFloat frequency);
00053 <a name="l00053"></a>00053
00055 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate); <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00056 <a name="l00056"></a>00056
00058 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a5">stopBlowing</a>(StkFloat rate); <a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a5">stopBlowing</a>(StkFloat rate);
00059 <a name="l00059"></a>00059
00061 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00062 <a name="l00062"></a>00062
00064 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a7">noteOff</a>(StkFloat amplitude); <a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a7">noteOff</a>(StkFloat amplitude);
00065 <a name="l00065"></a>00065
00067 StkFloat <a class="code" href="classClarinet.html#a8">tick</a>(); <a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a8">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00068 <a name="l00068"></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); <a name="l00069"></a>00069 <span class="keyword">protected</span>:
00071 <a name="l00070"></a>00070
00073 <a name="l00071"></a>00071 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00072"></a>00072
00080 <a name="l00073"></a>00073 <a class="code" href="classDelayL.html">DelayL</a> delayLine_;
00082 <span class="keywordtype">void</span> <a class="code" href="classClarinet.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00074"></a>00074 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
00083 <a name="l00075"></a>00075 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00084 <span class="keyword">protected</span>: <a name="l00076"></a>00076 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00085 <a class="code" href="classDelayL.html">DelayL</a> delayLine_; <a name="l00077"></a>00077 <a class="code" href="classNoise.html">Noise</a> noise_;
00086 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_; <a name="l00078"></a>00078 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
00087 <a class="code" href="classOneZero.html">OneZero</a> filter_; <a name="l00079"></a>00079 <span class="keywordtype">long</span> length_;
00088 <a class="code" href="classEnvelope.html">Envelope</a> envelope_; <a name="l00080"></a>00080 StkFloat outputGain_;
00089 <a class="code" href="classNoise.html">Noise</a> noise_; <a name="l00081"></a>00081 StkFloat noiseGain_;
00090 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_; <a name="l00082"></a>00082 StkFloat vibratoGain_;
00091 <span class="keywordtype">long</span> length_; <a name="l00083"></a>00083
00092 StkFloat outputGain_; <a name="l00084"></a>00084 };
00093 StkFloat noiseGain_; <a name="l00085"></a>00085
00094 StkFloat vibratoGain_; <a name="l00086"></a>00086 <span class="preprocessor">#endif</span>
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,57 +8,55 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>DelayA.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00023 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00024 <h1>DelayA.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00025 <span class="preprocessor">#ifndef STK_DELAYA_H</span> <a name="l00020"></a>00020 <span class="comment">/***************************************************/</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAYA_H</span> <a name="l00021"></a>00021
00027 <span class="preprocessor"></span> <a name="l00022"></a>00022 <span class="preprocessor">#ifndef STK_DELAYA_H</span>
00028 <span class="preprocessor">#include "Delay.h"</span> <a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAYA_H</span>
00029 <a name="l00024"></a>00024 <span class="preprocessor"></span>
<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> <a name="l00025"></a>00025 <span class="preprocessor">#include "Delay.h"</span>
00031 { <a name="l00026"></a>00026
00032 <span class="keyword">public</span>: <a name="l00027"></a><a class="code" href="classDelayA.html">00027</a> <span class="keyword">class </span><a class="code" href="classDelayA.html">DelayA</a> : <span class="keyword">public</span> <a class="code" href="classDelay.html">Delay</a>
00033 <a name="l00028"></a>00028 {
00035 <a class="code" href="classDelayA.html#a0">DelayA</a>(); <a name="l00029"></a>00029 <span class="keyword">public</span>:
00036 <a name="l00030"></a>00030
00038 <a name="l00032"></a>00032 <a class="code" href="classDelayA.html#a0">DelayA</a>();
00043 <a class="code" href="classDelayA.html#a0">DelayA</a>(StkFloat delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay); <a name="l00033"></a>00033
00044 <a name="l00035"></a>00035
00046 <a class="code" href="classDelayA.html#a2">~DelayA</a>(); <a name="l00040"></a>00040 <a class="code" href="classDelayA.html#a0">DelayA</a>(StkFloat delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
00047 <a name="l00041"></a>00041
00049 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a3">clear</a>(); <a name="l00043"></a>00043 <a class="code" href="classDelayA.html#a2">~DelayA</a>();
00050 <a name="l00044"></a>00044
00052 <a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a3">clear</a>();
00055 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a4">setDelay</a>(StkFloat delay); <a name="l00047"></a>00047
00056 <a name="l00049"></a>00049
00058 StkFloat <a class="code" href="classDelayA.html#a5">getDelay</a>(<span class="keywordtype">void</span>); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classDelayA.html#a4">setDelay</a>(StkFloat delay);
00059 <a name="l00053"></a>00053
00061 <a name="l00055"></a>00055 StkFloat <a class="code" href="classDelayA.html#a5">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064 StkFloat <a class="code" href="classDelayA.html#a6">nextOut</a>(<span class="keywordtype">void</span>); <a name="l00056"></a>00056
00065 <a name="l00058"></a>00058
00067 StkFloat <a class="code" href="classDelayA.html#a7">tick</a>(StkFloat sample); <a name="l00061"></a>00061 StkFloat <a class="code" href="classDelayA.html#a6">nextOut</a>(<span class="keywordtype">void</span>);
00068 <a name="l00062"></a>00062
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); <a name="l00063"></a>00063 <span class="keyword">protected</span>:
00071 <a name="l00064"></a>00064
00073 <a name="l00065"></a>00065 StkFloat computeSample( StkFloat input );
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 ); <a name="l00066"></a>00066
00080 <a name="l00067"></a>00067 StkFloat alpha_;
00081 <span class="keyword">protected</span>: <a name="l00068"></a>00068 StkFloat coeff_;
00082 StkFloat alpha_; <a name="l00069"></a>00069 StkFloat apInput_;
00083 StkFloat coeff_; <a name="l00070"></a>00070 StkFloat nextOutput_;
00084 StkFloat apInput_; <a name="l00071"></a>00071 <span class="keywordtype">bool</span> doNextOut_;
00085 StkFloat nextOutput_; <a name="l00072"></a>00072 };
00086 <span class="keywordtype">bool</span> doNextOut_; <a name="l00073"></a>00073
00087 }; <a name="l00074"></a>00074 <span class="preprocessor">#endif</span>
00088
00089 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,54 +8,52 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>DelayL.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00023 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00024 <h1>DelayL.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00025 <span class="preprocessor">#ifndef STK_DELAYL_H</span> <a name="l00023"></a>00023 <span class="comment">/***************************************************/</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAYL_H</span> <a name="l00024"></a>00024
00027 <span class="preprocessor"></span> <a name="l00025"></a>00025 <span class="preprocessor">#ifndef STK_DELAYL_H</span>
00028 <span class="preprocessor">#include "Delay.h"</span> <a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAYL_H</span>
00029 <a name="l00027"></a>00027 <span class="preprocessor"></span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "Delay.h"</span>
<a name="l00029"></a>00029
<a name="l00030"></a><a class="code" href="classDelayL.html">00030</a> <span class="keyword">class </span><a class="code" href="classDelayL.html">DelayL</a> : <span class="keyword">public</span> <a class="code" href="classDelay.html">Delay</a> <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 { <a name="l00031"></a>00031 {
00032 <span class="keyword">public</span>: <a name="l00032"></a>00032 <span class="keyword">public</span>:
00033 <a name="l00033"></a>00033
00035 <a class="code" href="classDelayL.html#a0">DelayL</a>(); <a name="l00035"></a>00035 <a class="code" href="classDelayL.html#a0">DelayL</a>();
00036 <a name="l00036"></a>00036
00038 <a name="l00038"></a>00038
00043 <a class="code" href="classDelayL.html#a0">DelayL</a>(StkFloat delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay); <a name="l00043"></a>00043 <a class="code" href="classDelayL.html#a0">DelayL</a>(StkFloat delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
00044 <a name="l00044"></a>00044
00046 <a class="code" href="classDelayL.html#a2">~DelayL</a>(); <a name="l00046"></a>00046 <a class="code" href="classDelayL.html#a2">~DelayL</a>();
00047 <a name="l00047"></a>00047
00049 <a name="l00049"></a>00049
00052 <span class="keywordtype">void</span> <a class="code" href="classDelayL.html#a3">setDelay</a>(StkFloat delay); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classDelayL.html#a3">setDelay</a>(StkFloat delay);
00053 <a name="l00053"></a>00053
00055 StkFloat <a class="code" href="classDelayL.html#a4">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00055"></a>00055 StkFloat <a class="code" href="classDelayL.html#a4">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00056 <a name="l00056"></a>00056
00058 <a name="l00058"></a>00058
00061 StkFloat <a class="code" href="classDelayL.html#a5">nextOut</a>(<span class="keywordtype">void</span>); <a name="l00061"></a>00061 StkFloat <a class="code" href="classDelayL.html#a5">nextOut</a>(<span class="keywordtype">void</span>);
00062 <a name="l00062"></a>00062
00064 StkFloat <a class="code" href="classDelayL.html#a6">tick</a>(StkFloat sample); <a name="l00063"></a>00063 <span class="keyword">protected</span>:
00065 <a name="l00064"></a>00064
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); <a name="l00065"></a>00065 StkFloat computeSample( StkFloat input );
00068 <a name="l00066"></a>00066
00070 <a name="l00067"></a>00067 StkFloat alpha_;
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 ); <a name="l00068"></a>00068 StkFloat omAlpha_;
00077 <a name="l00069"></a>00069 StkFloat nextOutput_;
00078 <span class="keyword">protected</span>: <a name="l00070"></a>00070 <span class="keywordtype">bool</span> doNextOut_;
00079 StkFloat alpha_; <a name="l00071"></a>00071 };
00080 StkFloat omAlpha_; <a name="l00072"></a>00072
00081 StkFloat nextOutput_; <a name="l00073"></a>00073 <span class="preprocessor">#endif</span>
00082 <span class="keywordtype">bool</span> doNextOut_;
00083 };
00084
00085 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,66 +8,71 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Delay.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00019 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00020 <h1>Delay.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00021 <span class="preprocessor">#ifndef STK_DELAY_H</span> <a name="l00019"></a>00019 <span class="comment">/***************************************************/</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAY_H</span> <a name="l00020"></a>00020
00023 <span class="preprocessor"></span> <a name="l00021"></a>00021 <span class="preprocessor">#ifndef STK_DELAY_H</span>
00024 <span class="preprocessor">#include "Filter.h"</span> <a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_DELAY_H</span>
00025 <a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "Filter.h"</span>
<a name="l00025"></a>00025
<a name="l00026"></a><a class="code" href="classDelay.html">00026</a> <span class="keyword">class </span><a class="code" href="classDelay.html">Delay</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a> <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 { <a name="l00027"></a>00027 {
00028 <span class="keyword">public</span>: <a name="l00028"></a>00028 <span class="keyword">public</span>:
00029 <a name="l00029"></a>00029
00031 <a class="code" href="classDelay.html#a0">Delay</a>(); <a name="l00031"></a>00031 <a class="code" href="classDelay.html#a0">Delay</a>();
00032 <a name="l00032"></a>00032
00034 <a name="l00034"></a>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); <a name="l00039"></a>00039 <a class="code" href="classDelay.html#a0">Delay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxDelay);
00040 <a name="l00040"></a>00040
00042 <span class="keyword">virtual</span> <a class="code" href="classDelay.html#a2">~Delay</a>(); <a name="l00042"></a>00042 <span class="keyword">virtual</span> <a class="code" href="classDelay.html#a2">~Delay</a>();
00043 <a name="l00043"></a>00043
00045 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a3">clear</a>(); <a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a3">clear</a>();
00046 <a name="l00046"></a>00046
00048 <a name="l00048"></a>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); <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a4">setMaximumDelay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay);
00056 <a name="l00056"></a>00056
00058 <a name="l00058"></a>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); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classDelay.html#a5">setDelay</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay);
00062 <a name="l00062"></a>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>; <a name="l00064"></a>00064 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classDelay.html#a6">getDelay</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00065 <a name="l00065"></a>00065
00067 StkFloat <a class="code" href="classDelay.html#a7">energy</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00067"></a>00067 StkFloat <a class="code" href="classDelay.html#a7">energy</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00068 <a name="l00068"></a>00068
00070 <a name="l00070"></a>00070
00075 StkFloat <a class="code" href="classDelay.html#a8">contentsAt</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> tapDelay); <a name="l00075"></a>00075 StkFloat <a class="code" href="classDelay.html#a8">contentsAt</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> tapDelay);
00076 <a name="l00076"></a>00076
00078 StkFloat <a class="code" href="classDelay.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00078"></a>00078 StkFloat <a class="code" href="classDelay.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00079 <a name="l00079"></a>00079
00081 <a name="l00081"></a>00081
00084 <span class="keyword">virtual</span> StkFloat <a class="code" href="classDelay.html#a10">nextOut</a>(<span class="keywordtype">void</span>); <a name="l00084"></a>00084 <span class="keyword">virtual</span> StkFloat <a class="code" href="classDelay.html#a10">nextOut</a>(<span class="keywordtype">void</span>);
00085 <a name="l00085"></a>00085
00087 <span class="keyword">virtual</span> StkFloat <a class="code" href="classDelay.html#a11">tick</a>(StkFloat sample); <a name="l00087"></a>00087 <span class="keyword">virtual</span> StkFloat <a class="code" href="classDelay.html#a11">tick</a>(StkFloat sample);
00088 <a name="l00088"></a>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); <a name="l00090"></a>00090
00091 <a name="l00096"></a>00096 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classDelay.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
00093 <a name="l00097"></a>00097
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 ); <a name="l00098"></a>00098 <span class="keyword">protected</span>:
00100 <a name="l00099"></a>00099
00101 <span class="keyword">protected</span>: <a name="l00100"></a>00100 <span class="comment">// This function must be implemented in all subclasses. It is used</span>
00102 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> inPoint_; <a name="l00101"></a>00101 <span class="comment">// to get around a C++ problem with overloaded virtual functions.</span>
00103 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> outPoint_; <a name="l00102"></a>00102 <span class="keyword">virtual</span> StkFloat computeSample( StkFloat input );
00104 StkFloat delay_; <a name="l00103"></a>00103
00105 }; <a name="l00104"></a>00104 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> inPoint_;
00106 <a name="l00105"></a>00105 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> outPoint_;
00107 <span class="preprocessor">#endif</span> <a name="l00106"></a>00106 StkFloat delay_;
00108 <span class="preprocessor"></span> <a name="l00107"></a>00107 };
<a name="l00108"></a>00108
<a name="l00109"></a>00109 <span class="preprocessor">#endif</span>
<a name="l00110"></a>00110 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,53 +8,52 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Drummer.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00016 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00017 <h1>Drummer.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00018 <span class="preprocessor">#ifndef STK_DRUMMER_H</span> <a name="l00016"></a>00016 <span class="comment">/***************************************************/</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_DRUMMER_H</span> <a name="l00017"></a>00017
00020 <span class="preprocessor"></span> <a name="l00018"></a>00018 <span class="preprocessor">#ifndef STK_DRUMMER_H</span>
00021 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_DRUMMER_H</span>
00022 <span class="preprocessor">#include "WvIn.h"</span> <a name="l00020"></a>00020 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include "OnePole.h"</span> <a name="l00021"></a>00021 <span class="preprocessor">#include "Instrmnt.h"</span>
00024 <a name="l00022"></a>00022 <span class="preprocessor">#include "FileWvIn.h"</span>
00025 <span class="keyword">const</span> <span class="keywordtype">int</span> DRUM_NUMWAVES = 11; <a name="l00023"></a>00023 <span class="preprocessor">#include "OnePole.h"</span>
00026 <span class="keyword">const</span> <span class="keywordtype">int</span> DRUM_POLYPHONY = 4; <a name="l00024"></a>00024
00027 <a name="l00025"></a>00025 <span class="keyword">const</span> <span class="keywordtype">int</span> DRUM_NUMWAVES = 11;
<a name="l00026"></a>00026 <span class="keyword">const</span> <span class="keywordtype">int</span> DRUM_POLYPHONY = 4;
<a name="l00027"></a>00027
<a name="l00028"></a><a class="code" href="classDrummer.html">00028</a> <span class="keyword">class </span><a class="code" href="classDrummer.html">Drummer</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00029"></a>00029 {
00030 <span class="keyword">public</span>: <a name="l00030"></a>00030 <span class="keyword">public</span>:
00032 <a name="l00032"></a>00032
00035 <a class="code" href="classDrummer.html#a0">Drummer</a>(); <a name="l00035"></a>00035 <a class="code" href="classDrummer.html#a0">Drummer</a>();
00036 <a name="l00036"></a>00036
00038 <a class="code" href="classDrummer.html#a1">~Drummer</a>(); <a name="l00038"></a>00038 <a class="code" href="classDrummer.html#a1">~Drummer</a>();
00039 <a name="l00039"></a>00039
00041 <a name="l00041"></a>00041
00047 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a2">noteOn</a>(StkFloat instrument, StkFloat amplitude); <a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a2">noteOn</a>(StkFloat instrument, StkFloat amplitude);
00048 <a name="l00048"></a>00048
00050 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a3">noteOff</a>(StkFloat amplitude); <a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classDrummer.html#a3">noteOff</a>(StkFloat amplitude);
00051 <a name="l00051"></a>00051
00053 StkFloat <a class="code" href="classDrummer.html#a4">tick</a>(); <a name="l00052"></a>00052 <span class="keyword">protected</span>:
00054 <a name="l00053"></a>00053
00056 StkFloat *<a class="code" href="classDrummer.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); <a name="l00054"></a>00054 StkFloat computeSample( <span class="keywordtype">void</span> );
00057 <a name="l00055"></a>00055
00059 <a name="l00056"></a>00056 <a class="code" href="classFileWvIn.html">FileWvIn</a> waves_[DRUM_POLYPHONY];
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 ); <a name="l00057"></a>00057 <a class="code" href="classOnePole.html">OnePole</a> filters_[DRUM_POLYPHONY];
00066 <a name="l00058"></a>00058 std::vector&lt;int&gt; soundOrder_;
00067 <span class="keyword">protected</span>: <a name="l00059"></a>00059 std::vector&lt;int&gt; soundNumber_;
00068 <a class="code" href="classWvIn.html">WvIn</a> *waves_[DRUM_POLYPHONY]; <a name="l00060"></a>00060 <span class="keywordtype">int</span> nSounding_;
00069 <a class="code" href="classOnePole.html">OnePole</a> *filters_[DRUM_POLYPHONY]; <a name="l00061"></a>00061 };
00070 <span class="keywordtype">int</span> sounding_[DRUM_POLYPHONY]; <a name="l00062"></a>00062
00071 <span class="keywordtype">int</span> nSounding_; <a name="l00063"></a>00063 <span class="preprocessor">#endif</span>
00072 };
00073
00074 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,50 +8,48 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Echo.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00009 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00010 <h1>Echo.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00011 <span class="preprocessor">#ifndef STK_ECHO_H</span> <a name="l00009"></a>00009 <span class="comment">/***************************************************/</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_ECHO_H</span> <a name="l00010"></a>00010
00013 <span class="preprocessor"></span> <a name="l00011"></a>00011 <span class="preprocessor">#ifndef STK_ECHO_H</span>
00014 <span class="preprocessor">#include "Effect.h"</span> <a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_ECHO_H</span>
00015 <span class="preprocessor">#include "Delay.h"</span> <a name="l00013"></a>00013 <span class="preprocessor"></span>
00016 <a name="l00014"></a>00014 <span class="preprocessor">#include "Effect.h"</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "Delay.h"</span>
<a name="l00016"></a>00016
<a name="l00017"></a><a class="code" href="classEcho.html">00017</a> <span class="keyword">class </span><a class="code" href="classEcho.html">Echo</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a> <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 { <a name="l00018"></a>00018 {
00019 <span class="keyword">public</span>: <a name="l00019"></a>00019 <span class="keyword">public</span>:
00021 <a name="l00021"></a>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>() ); <a name="l00024"></a>00024 <a class="code" href="classEcho.html#a0">Echo</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maximumDelay = (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>) <a class="code" href="classStk.html#e0">Stk::sampleRate</a>() );
00025 <a name="l00025"></a>00025
00027 <a class="code" href="classEcho.html#a1">~Echo</a>(); <a name="l00027"></a>00027 <a class="code" href="classEcho.html#a1">~Echo</a>();
00028 <a name="l00028"></a>00028
00030 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a2">clear</a>(); <a name="l00030"></a>00030 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a2">clear</a>();
00031 <a name="l00031"></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 ); <a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a3">setMaximumDelay</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay );
00034 <a name="l00034"></a>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 ); <a name="l00036"></a>00036 <span class="keywordtype">void</span> <a class="code" href="classEcho.html#a4">setDelay</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delay );
00037 <a name="l00037"></a>00037
00039 StkFloat <a class="code" href="classEcho.html#a5">tick</a>(StkFloat input); <a name="l00038"></a>00038 <span class="keyword">protected</span>:
00040 <a name="l00039"></a>00039
00042 StkFloat *<a class="code" href="classEcho.html#a5">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00040"></a>00040 StkFloat computeSample( StkFloat input );
00043 <a name="l00041"></a>00041
00045 <a name="l00042"></a>00042 <a class="code" href="classDelay.html">Delay</a> delayLine_;
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 ); <a name="l00043"></a>00043 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00052 <a name="l00044"></a>00044
00053 <span class="keyword">protected</span>: <a name="l00045"></a>00045 };
00054 <a class="code" href="classDelay.html">Delay</a> delayLine_; <a name="l00046"></a>00046
00055 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_; <a name="l00047"></a>00047 <span class="preprocessor">#endif</span>
00056 <a name="l00048"></a>00048 <span class="preprocessor"></span>
00057 };
00058
00059 <span class="preprocessor">#endif</span>
00060 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,56 +8,61 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Effect.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00010 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00011 <h1>Effect.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00012 <span class="preprocessor">#include "Stk.h"</span> <a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
00013 <a name="l00011"></a>00011
00014 <span class="preprocessor">#ifndef STK_EFFECT_H</span> <a name="l00012"></a>00012 <span class="preprocessor">#include "Stk.h"</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_EFFECT_H</span> <a name="l00013"></a>00013
00016 <span class="preprocessor"></span> <a name="l00014"></a>00014 <span class="preprocessor">#ifndef STK_EFFECT_H</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_EFFECT_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a><a class="code" href="classEffect.html">00017</a> <span class="keyword">class </span><a class="code" href="classEffect.html">Effect</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <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 { <a name="l00018"></a>00018 {
00019 <span class="keyword">public</span>: <a name="l00019"></a>00019 <span class="keyword">public</span>:
00021 <a class="code" href="classEffect.html#a0">Effect</a>(); <a name="l00021"></a>00021 <a class="code" href="classEffect.html#a0">Effect</a>();
00022 <a name="l00022"></a>00022
00024 <span class="keyword">virtual</span> <a class="code" href="classEffect.html#a1">~Effect</a>(); <a name="l00024"></a>00024 <span class="keyword">virtual</span> <a class="code" href="classEffect.html#a1">~Effect</a>();
00025 <a name="l00025"></a>00025
00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEffect.html#a2">clear</a>() = 0; <a name="l00027"></a>00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEffect.html#a2">clear</a>() = 0;
00028 <a name="l00028"></a>00028
00030 <span class="keywordtype">void</span> <a class="code" href="classEffect.html#a3">setEffectMix</a>(StkFloat mix); <a name="l00030"></a>00030 <span class="keywordtype">void</span> <a class="code" href="classEffect.html#a3">setEffectMix</a>(StkFloat mix);
00031 <a name="l00031"></a>00031
00033 StkFloat <a class="code" href="classEffect.html#a4">lastOut</a>() <span class="keyword">const</span>; <a name="l00033"></a>00033 StkFloat <a class="code" href="classEffect.html#a4">lastOut</a>() <span class="keyword">const</span>;
00034 <a name="l00034"></a>00034
00036 StkFloat <a class="code" href="classEffect.html#a5">lastOutLeft</a>() <span class="keyword">const</span>; <a name="l00036"></a>00036 StkFloat <a class="code" href="classEffect.html#a5">lastOutLeft</a>() <span class="keyword">const</span>;
00037 <a name="l00037"></a>00037
00039 StkFloat <a class="code" href="classEffect.html#a6">lastOutRight</a>() <span class="keyword">const</span>; <a name="l00039"></a>00039 StkFloat <a class="code" href="classEffect.html#a6">lastOutRight</a>() <span class="keyword">const</span>;
00040 <a name="l00040"></a>00040
00042 <span class="keyword">virtual</span> StkFloat <a class="code" href="classEffect.html#a7">tick</a>( StkFloat input ) = 0; <a name="l00042"></a>00042 StkFloat <a class="code" href="classEffect.html#a7">tick</a>( StkFloat input );
00043 <a name="l00043"></a>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 ); <a name="l00045"></a>00045
00046 <a name="l00051"></a>00051 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classEffect.html#a7">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
00048 <a name="l00052"></a>00052
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 ); <a name="l00053"></a>00053 <span class="keyword">protected</span>:
00055 <a name="l00054"></a>00054
00056 <span class="keyword">protected</span>: <a name="l00055"></a>00055 <span class="comment">// This abstract function must be implemented in all subclasses.</span>
00057 <a name="l00056"></a>00056 <span class="comment">// It is used to get around a C++ problem with overloaded virtual</span>
00058 <span class="comment">// Returns true if argument value is prime.</span> <a name="l00057"></a>00057 <span class="comment">// functions.</span>
00059 <span class="keywordtype">bool</span> isPrime( <span class="keywordtype">int</span> number ); <a name="l00058"></a>00058 <span class="keyword">virtual</span> StkFloat computeSample( StkFloat input ) = 0;
00060 <a name="l00059"></a>00059
00061 StkFloat lastOutput_[2]; <a name="l00060"></a>00060 <span class="comment">// Returns true if argument value is prime.</span>
00062 StkFloat effectMix_; <a name="l00061"></a>00061 <span class="keywordtype">bool</span> isPrime( <span class="keywordtype">int</span> number );
00063 <a name="l00062"></a>00062
00064 }; <a name="l00063"></a>00063 StkFloat lastOutput_[2];
00065 <a name="l00064"></a>00064 StkFloat effectMix_;
00066 <span class="preprocessor">#endif</span> <a name="l00065"></a>00065
00067 <span class="preprocessor"></span> <a name="l00066"></a>00066 };
<a name="l00067"></a>00067
<a name="l00068"></a>00068 <span class="preprocessor">#endif</span>
<a name="l00069"></a>00069 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,57 +8,59 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Envelope.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00014 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00015 <h1>Envelope.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00016 <span class="preprocessor">#ifndef STK_ENVELOPE_H</span> <a name="l00014"></a>00014 <span class="comment">/***************************************************/</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_ENVELOPE_H</span> <a name="l00015"></a>00015
00018 <span class="preprocessor"></span> <a name="l00016"></a>00016 <span class="preprocessor">#ifndef STK_ENVELOPE_H</span>
00019 <span class="preprocessor">#include "Generator.h"</span> <a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_ENVELOPE_H</span>
00020 <a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include "Generator.h"</span>
<a name="l00020"></a>00020
<a name="l00021"></a><a class="code" href="classEnvelope.html">00021</a> <span class="keyword">class </span><a class="code" href="classEnvelope.html">Envelope</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a> <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 { <a name="l00022"></a>00022 {
00023 <span class="keyword">public</span>: <a name="l00023"></a>00023 <span class="keyword">public</span>:
00024 <a name="l00024"></a>00024
00026 <a class="code" href="classEnvelope.html#a0">Envelope</a>(<span class="keywordtype">void</span>); <a name="l00026"></a>00026 <a class="code" href="classEnvelope.html#a0">Envelope</a>(<span class="keywordtype">void</span>);
00027 <a name="l00027"></a>00027
00029 <span class="keyword">virtual</span> <a class="code" href="classEnvelope.html#a1">~Envelope</a>(<span class="keywordtype">void</span>); <a name="l00029"></a>00029 <a class="code" href="classEnvelope.html#a0">Envelope</a>( <span class="keyword">const</span> <a class="code" href="classEnvelope.html">Envelope</a>&amp; e );
00030 <a name="l00030"></a>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>); <a name="l00032"></a>00032 <span class="keyword">virtual</span> <a class="code" href="classEnvelope.html#a2">~Envelope</a>(<span class="keywordtype">void</span>);
00033 <a name="l00033"></a>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>); <a name="l00035"></a>00035 <a class="code" href="classEnvelope.html">Envelope</a>&amp; <a class="code" href="classEnvelope.html#a3">operator= </a>( <span class="keyword">const</span> <a class="code" href="classEnvelope.html">Envelope</a>&amp; e );
00036 <a name="l00036"></a>00036
00038 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a4">setRate</a>(StkFloat rate); <a name="l00038"></a>00038 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a4">keyOn</a>(<span class="keywordtype">void</span>);
00039 <a name="l00039"></a>00039
00041 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a5">setTime</a>(StkFloat time); <a name="l00041"></a>00041 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a5">keyOff</a>(<span class="keywordtype">void</span>);
00042 <a name="l00042"></a>00042
00044 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a6">setTarget</a>(StkFloat target); <a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a6">setRate</a>(StkFloat rate);
00045 <a name="l00045"></a>00045
00047 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a7">setValue</a>(StkFloat value); <a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a7">setTime</a>(StkFloat time);
00048 <a name="l00048"></a>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>; <a name="l00050"></a>00050 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a8">setTarget</a>(StkFloat target);
00051 <a name="l00051"></a>00051
00053 <span class="keyword">virtual</span> StkFloat <a class="code" href="classEnvelope.html#a9">tick</a>(<span class="keywordtype">void</span>); <a name="l00053"></a>00053 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classEnvelope.html#a9">setValue</a>(StkFloat value);
00054 <a name="l00054"></a>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 ); <a name="l00056"></a>00056 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classEnvelope.html#a10">getState</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00057 <a name="l00057"></a>00057
00059 <a name="l00058"></a>00058 <span class="keyword">protected</span>:
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 ); <a name="l00059"></a>00059
00066 <a name="l00060"></a>00060 <span class="keyword">virtual</span> StkFloat computeSample( <span class="keywordtype">void</span> );
00067 <span class="keyword">protected</span>: <a name="l00061"></a>00061
00068 StkFloat value_; <a name="l00062"></a>00062 StkFloat value_;
00069 StkFloat target_; <a name="l00063"></a>00063 StkFloat target_;
00070 StkFloat rate_; <a name="l00064"></a>00064 StkFloat rate_;
00071 <span class="keywordtype">int</span> state_; <a name="l00065"></a>00065 <span class="keywordtype">int</span> state_;
00072 }; <a name="l00066"></a>00066 };
00073 <a name="l00067"></a>00067
00074 <span class="preprocessor">#endif</span> <a name="l00068"></a>00068 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,48 +8,46 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>FMVoices.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00031 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00032 <h1>FMVoices.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00033 <span class="preprocessor">#ifndef STK_FMVOICES_H</span> <a name="l00031"></a>00031 <span class="comment">/***************************************************/</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_FMVOICES_H</span> <a name="l00032"></a>00032
00035 <span class="preprocessor"></span> <a name="l00033"></a>00033 <span class="preprocessor">#ifndef STK_FMVOICES_H</span>
00036 <span class="preprocessor">#include "FM.h"</span> <a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_FMVOICES_H</span>
00037 <a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00036"></a>00036 <span class="preprocessor">#include "FM.h"</span>
<a name="l00037"></a>00037
<a name="l00038"></a><a class="code" href="classFMVoices.html">00038</a> <span class="keyword">class </span><a class="code" href="classFMVoices.html">FMVoices</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <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 { <a name="l00039"></a>00039 {
00040 <span class="keyword">public</span>: <a name="l00040"></a>00040 <span class="keyword">public</span>:
00042 <a name="l00042"></a>00042
00045 <a class="code" href="classFMVoices.html#a0">FMVoices</a>(); <a name="l00045"></a>00045 <a class="code" href="classFMVoices.html#a0">FMVoices</a>();
00046 <a name="l00046"></a>00046
00048 <a class="code" href="classFMVoices.html#a1">~FMVoices</a>(); <a name="l00048"></a>00048 <a class="code" href="classFMVoices.html#a1">~FMVoices</a>();
00049 <a name="l00049"></a>00049
00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a2">setFrequency</a>(StkFloat frequency); <a name="l00051"></a>00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a2">setFrequency</a>(StkFloat frequency);
00052 <a name="l00052"></a>00052
00054 <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00055 <a name="l00055"></a>00055
00057 StkFloat <a class="code" href="classFMVoices.html#a4">tick</a>(); <a name="l00057"></a>00057 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFMVoices.html#a4">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00058 <a name="l00058"></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); <a name="l00059"></a>00059 <span class="keyword">protected</span>:
00061 <a name="l00060"></a>00060
00063 <a name="l00061"></a>00061 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00062"></a>00062
00070 <a name="l00063"></a>00063 <span class="keywordtype">int</span> currentVowel_;
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); <a name="l00064"></a>00064 StkFloat tilt_[3];
00073 <a name="l00065"></a>00065 StkFloat mods_[3];
00074 <span class="keyword">protected</span>: <a name="l00066"></a>00066 };
00075 <span class="keywordtype">int</span> currentVowel_; <a name="l00067"></a>00067
00076 StkFloat tilt_[3]; <a name="l00068"></a>00068 <span class="preprocessor">#endif</span>
00077 StkFloat mods_[3];
00078 };
00079
00080 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -8,67 +8,67 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Filter.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00028 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00029 <h1>Filter.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00030 <span class="preprocessor">#ifndef STK_FILTER_H</span> <a name="l00028"></a>00028 <span class="comment">/***************************************************/</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define STK_FILTER_H</span> <a name="l00029"></a>00029
00032 <span class="preprocessor"></span> <a name="l00030"></a>00030 <span class="preprocessor">#ifndef STK_FILTER_H</span>
00033 <span class="preprocessor">#include "Stk.h"</span> <a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define STK_FILTER_H</span>
00034 <span class="preprocessor">#include &lt;vector&gt;</span> <a name="l00032"></a>00032 <span class="preprocessor"></span>
00035 <span class="preprocessor">#include &lt;valarray&gt;</span> <a name="l00033"></a>00033 <span class="preprocessor">#include "Stk.h"</span>
00036 <a name="l00034"></a>00034 <span class="preprocessor">#include &lt;vector&gt;</span>
<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> <a name="l00035"></a>00035
00038 { <a name="l00036"></a><a class="code" href="classFilter.html">00036</a> <span class="keyword">class </span><a class="code" href="classFilter.html">Filter</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00039 <span class="keyword">public</span>: <a name="l00037"></a>00037 {
00041 <a class="code" href="classFilter.html#a0">Filter</a>(<span class="keywordtype">void</span>); <a name="l00038"></a>00038 <span class="keyword">public</span>:
00042 <a name="l00040"></a>00040 <a class="code" href="classFilter.html#a0">Filter</a>(<span class="keywordtype">void</span>);
00044 <a name="l00041"></a>00041
00048 <a class="code" href="classFilter.html#a0">Filter</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients, std::vector&lt;StkFloat&gt; &amp;aCoefficients ); <a name="l00043"></a>00043
00049 <a name="l00047"></a>00047 <a class="code" href="classFilter.html#a0">Filter</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients, std::vector&lt;StkFloat&gt; &amp;aCoefficients );
00051 <span class="keyword">virtual</span> <a class="code" href="classFilter.html#a2">~Filter</a>(<span class="keywordtype">void</span>); <a name="l00048"></a>00048
00052 <a name="l00050"></a>00050 <span class="keyword">virtual</span> <a class="code" href="classFilter.html#a2">~Filter</a>(<span class="keywordtype">void</span>);
00054 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a3">clear</a>(<span class="keywordtype">void</span>); <a name="l00051"></a>00051
00055 <a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a3">clear</a>(<span class="keywordtype">void</span>);
00057 <a name="l00054"></a>00054
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 ); <a name="l00056"></a>00056
00064 <a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a4">setCoefficients</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients, std::vector&lt;StkFloat&gt; &amp;aCoefficients, <span class="keywordtype">bool</span> clearState = <span class="keyword">false</span> );
00066 <a name="l00064"></a>00064
00073 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a5">setNumerator</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients ); <a name="l00066"></a>00066
00074 <a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a5">setNumerator</a>( std::vector&lt;StkFloat&gt; &amp;bCoefficients, <span class="keywordtype">bool</span> clearState = <span class="keyword">false</span> );
00076 <a name="l00074"></a>00074
00084 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a6">setDenominator</a>( std::vector&lt;StkFloat&gt; &amp;aCoefficients ); <a name="l00076"></a>00076
00085 <a name="l00085"></a>00085 <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a6">setDenominator</a>( std::vector&lt;StkFloat&gt; &amp;aCoefficients, <span class="keywordtype">bool</span> clearState = <span class="keyword">false</span> );
00087 <a name="l00086"></a>00086
00091 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a7">setGain</a>(StkFloat gain); <a name="l00088"></a>00088
00092 <a name="l00092"></a>00092 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classFilter.html#a7">setGain</a>(StkFloat gain);
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>; <a name="l00093"></a>00093
00095 <a name="l00095"></a>00095 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
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>; <a name="l00096"></a>00096
00098 <a name="l00098"></a>00098 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00100 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a10">tick</a>(StkFloat sample); <a name="l00099"></a>00099
00101 <a name="l00101"></a>00101 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFilter.html#a10">tick</a>( StkFloat input );
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); <a name="l00102"></a>00102
00104 <a name="l00104"></a>00104
00106 <a name="l00110"></a>00110 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFilter.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
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 ); <a name="l00111"></a>00111
00113 <a name="l00112"></a>00112 <span class="keyword">protected</span>:
00114 <span class="keyword">protected</span>: <a name="l00113"></a>00113
00115 StkFloat gain_; <a name="l00114"></a>00114 StkFloat gain_;
00116 std::vector&lt;StkFloat&gt; b_; <a name="l00115"></a>00115 std::vector&lt;StkFloat&gt; b_;
00117 std::vector&lt;StkFloat&gt; a_; <a name="l00116"></a>00116 std::vector&lt;StkFloat&gt; a_;
00118 std::vector&lt;StkFloat&gt; outputs_; <a name="l00117"></a>00117 std::vector&lt;StkFloat&gt; outputs_;
00119 std::vector&lt;StkFloat&gt; inputs_; <a name="l00118"></a>00118 std::vector&lt;StkFloat&gt; inputs_;
00120 <a name="l00119"></a>00119
00121 }; <a name="l00120"></a>00120 };
00122 <a name="l00121"></a>00121
00123 <span class="preprocessor">#endif</span> <a name="l00122"></a>00122 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

@@ -8,67 +8,65 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>FormSwep.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00013 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00014 <h1>FormSwep.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00015 <span class="preprocessor">#ifndef STK_FORMSWEP_H</span> <a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_FORMSWEP_H</span> <a name="l00014"></a>00014
00017 <span class="preprocessor"></span> <a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_FORMSWEP_H</span>
00018 <span class="preprocessor">#include "BiQuad.h"</span> <a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_FORMSWEP_H</span>
00019 <a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "BiQuad.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classFormSwep.html">00020</a> <span class="keyword">class </span><a class="code" href="classFormSwep.html">FormSwep</a> : <span class="keyword">public</span> <a class="code" href="classBiQuad.html">BiQuad</a> <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 { <a name="l00021"></a>00021 {
00022 <span class="keyword">public</span>: <a name="l00022"></a>00022 <span class="keyword">public</span>:
00023 <a name="l00023"></a>00023
00025 <a class="code" href="classFormSwep.html#a0">FormSwep</a>(); <a name="l00025"></a>00025 <a class="code" href="classFormSwep.html#a0">FormSwep</a>();
00026 <a name="l00026"></a>00026
00028 <a class="code" href="classFormSwep.html#a1">~FormSwep</a>(); <a name="l00028"></a>00028 <a class="code" href="classFormSwep.html#a1">~FormSwep</a>();
00029 <a name="l00029"></a>00029
00031 <a name="l00031"></a>00031
00042 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a2">setResonance</a>(StkFloat frequency, StkFloat radius); <a name="l00042"></a>00042 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a2">setResonance</a>(StkFloat frequency, StkFloat radius);
00043 <a name="l00043"></a>00043
00045 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a3">setStates</a>(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0); <a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a3">setStates</a>(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
00046 <a name="l00046"></a>00046
00048 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a4">setTargets</a>(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0); <a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a4">setTargets</a>(StkFloat frequency, StkFloat radius, StkFloat gain = 1.0);
00049 <a name="l00049"></a>00049
00051 <a name="l00051"></a>00051
00059 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a5">setSweepRate</a>(StkFloat rate); <a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a5">setSweepRate</a>(StkFloat rate);
00060 <a name="l00060"></a>00060
00062 <a name="l00062"></a>00062
00067 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a6">setSweepTime</a>(StkFloat time); <a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classFormSwep.html#a6">setSweepTime</a>(StkFloat time);
00068 <a name="l00068"></a>00068
00070 StkFloat <a class="code" href="classFormSwep.html#a7">tick</a>(StkFloat sample); <a name="l00069"></a>00069 <span class="keyword">protected</span>:
00071 <a name="l00070"></a>00070
00073 StkFloat *<a class="code" href="classFormSwep.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); <a name="l00071"></a>00071 StkFloat computeSample( StkFloat input );
00074 <a name="l00072"></a>00072
00076 <a name="l00073"></a>00073 <span class="keywordtype">bool</span> dirty_;
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 ); <a name="l00074"></a>00074 StkFloat frequency_;
00083 <a name="l00075"></a>00075 StkFloat radius_;
00084 <span class="keyword">protected</span>: <a name="l00076"></a>00076 StkFloat startFrequency_;
00085 <span class="keywordtype">bool</span> dirty_; <a name="l00077"></a>00077 StkFloat startRadius_;
00086 StkFloat frequency_; <a name="l00078"></a>00078 StkFloat startGain_;
00087 StkFloat radius_; <a name="l00079"></a>00079 StkFloat targetFrequency_;
00088 StkFloat startFrequency_; <a name="l00080"></a>00080 StkFloat targetRadius_;
00089 StkFloat startRadius_; <a name="l00081"></a>00081 StkFloat targetGain_;
00090 StkFloat startGain_; <a name="l00082"></a>00082 StkFloat deltaFrequency_;
00091 StkFloat targetFrequency_; <a name="l00083"></a>00083 StkFloat deltaRadius_;
00092 StkFloat targetRadius_; <a name="l00084"></a>00084 StkFloat deltaGain_;
00093 StkFloat targetGain_; <a name="l00085"></a>00085 StkFloat sweepState_;
00094 StkFloat deltaFrequency_; <a name="l00086"></a>00086 StkFloat sweepRate_;
00095 StkFloat deltaRadius_; <a name="l00087"></a>00087
00096 StkFloat deltaGain_; <a name="l00088"></a>00088 };
00097 StkFloat sweepState_; <a name="l00089"></a>00089
00098 StkFloat sweepRate_; <a name="l00090"></a>00090 <span class="preprocessor">#endif</span>
00099
00100 };
00101
00102 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,44 +8,49 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Function.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00011 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00012 <h1>Function.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00013 <span class="preprocessor">#include "Stk.h"</span> <a name="l00011"></a>00011 <span class="comment">/***************************************************/</span>
00014 <a name="l00012"></a>00012
00015 <span class="preprocessor">#ifndef STK_FUNCTION_H</span> <a name="l00013"></a>00013 <span class="preprocessor">#include "Stk.h"</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_FUNCTION_H</span> <a name="l00014"></a>00014
00017 <span class="preprocessor"></span> <a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_FUNCTION_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_FUNCTION_H</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a><a class="code" href="classFunction.html">00018</a> <span class="keyword">class </span><a class="code" href="classFunction.html">Function</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <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 { <a name="l00019"></a>00019 {
00020 <span class="keyword">public</span>: <a name="l00020"></a>00020 <span class="keyword">public</span>:
00022 <a class="code" href="classFunction.html#a0">Function</a>(); <a name="l00022"></a>00022 <a class="code" href="classFunction.html#a0">Function</a>();
00023 <a name="l00023"></a>00023
00025 <span class="keyword">virtual</span> <a class="code" href="classFunction.html#a1">~Function</a>(); <a name="l00025"></a>00025 <span class="keyword">virtual</span> <a class="code" href="classFunction.html#a1">~Function</a>();
00026 <a name="l00026"></a>00026
<a name="l00028"></a><a class="code" href="classFunction.html#a2">00028</a> <span class="keyword">virtual</span> StkFloat <a class="code" href="classFunction.html#a2">lastOut</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastOutput_; }; <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 <a name="l00029"></a>00029
00031 <span class="keyword">virtual</span> StkFloat <a class="code" href="classFunction.html#a3">tick</a>( StkFloat input ) = 0; <a name="l00031"></a>00031 StkFloat <a class="code" href="classFunction.html#a3">tick</a>( StkFloat input );
00032 <a name="l00032"></a>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 ); <a name="l00034"></a>00034
00035 <a name="l00040"></a>00040 <span class="keyword">virtual</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classFunction.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
00037 <a name="l00041"></a>00041
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 ); <a name="l00042"></a>00042 <span class="keyword">protected</span>:
00044 <a name="l00043"></a>00043
00045 <span class="keyword">protected</span>: <a name="l00044"></a>00044 <span class="comment">// This abstract function must be implemented in all subclasses.</span>
00046 <a name="l00045"></a>00045 <span class="comment">// It is used to get around a C++ problem with overloaded virtual</span>
00047 StkFloat lastOutput_; <a name="l00046"></a>00046 <span class="comment">// functions.</span>
00048 <a name="l00047"></a>00047 <span class="keyword">virtual</span> StkFloat computeSample( StkFloat input ) = 0;
00049 }; <a name="l00048"></a>00048
00050 <a name="l00049"></a>00049 StkFloat lastOutput_;
00051 <span class="preprocessor">#endif</span> <a name="l00050"></a>00050
00052 <span class="preprocessor"></span> <a name="l00051"></a>00051 };
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="preprocessor">#endif</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,44 +8,49 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Generator.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00010 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00011 <h1>Generator.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00012 <span class="preprocessor">#ifndef STK_GENERATOR_H</span> <a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_GENERATOR_H</span> <a name="l00011"></a>00011
00014 <span class="preprocessor"></span> <a name="l00012"></a>00012 <span class="preprocessor">#ifndef STK_GENERATOR_H</span>
00015 <span class="preprocessor">#include "Stk.h"</span> <a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_GENERATOR_H</span>
00016 <a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00016"></a>00016
<a name="l00017"></a><a class="code" href="classGenerator.html">00017</a> <span class="keyword">class </span><a class="code" href="classGenerator.html">Generator</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <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 { <a name="l00018"></a>00018 {
00019 <span class="keyword">public</span>: <a name="l00019"></a>00019 <span class="keyword">public</span>:
00021 <a class="code" href="classGenerator.html#a0">Generator</a>(); <a name="l00021"></a>00021 <a class="code" href="classGenerator.html#a0">Generator</a>( <span class="keywordtype">void</span> );
00022 <a name="l00022"></a>00022
00024 <span class="keyword">virtual</span> <a class="code" href="classGenerator.html#a1">~Generator</a>(); <a name="l00024"></a>00024 <span class="keyword">virtual</span> <a class="code" href="classGenerator.html#a1">~Generator</a>( <span class="keywordtype">void</span> );
00025 <a name="l00025"></a>00025
<a name="l00027"></a><a class="code" href="classGenerator.html#a2">00027</a> <span class="keyword">virtual</span> StkFloat <a class="code" href="classGenerator.html#a2">lastOut</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastOutput_; }; <a name="l00027"></a><a class="code" href="classGenerator.html#a2">00027</a> <span class="keyword">virtual</span> StkFloat <a class="code" href="classGenerator.html#a2">lastOut</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastOutput_; };
00028 <a name="l00028"></a>00028
00030 <span class="keyword">virtual</span> StkFloat <a class="code" href="classGenerator.html#a3">tick</a>( <span class="keywordtype">void</span> ) = 0; <a name="l00030"></a>00030 StkFloat <a class="code" href="classGenerator.html#a3">tick</a>( <span class="keywordtype">void</span> );
00031 <a name="l00031"></a>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 ); <a name="l00033"></a>00033
00034 <a name="l00039"></a>00039 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classGenerator.html#a3">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
00036 <a name="l00040"></a>00040
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 ); <a name="l00041"></a>00041 <span class="keyword">protected</span>:
00043 <a name="l00042"></a>00042
00044 <span class="keyword">protected</span>: <a name="l00043"></a>00043 <span class="comment">// This abstract function must be implemented in all subclasses.</span>
00045 <a name="l00044"></a>00044 <span class="comment">// It is used to get around a C++ problem with overloaded virtual</span>
00046 StkFloat lastOutput_; <a name="l00045"></a>00045 <span class="comment">// functions.</span>
00047 <a name="l00046"></a>00046 <span class="keyword">virtual</span> StkFloat computeSample( <span class="keywordtype">void</span> ) = 0;
00048 }; <a name="l00047"></a>00047
00049 <a name="l00048"></a>00048 StkFloat lastOutput_;
00050 <span class="preprocessor">#endif</span> <a name="l00049"></a>00049
00051 <span class="preprocessor"></span> <a name="l00050"></a>00050 };
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="preprocessor">#endif</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

@@ -8,39 +8,38 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>HevyMetl.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00029 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00030 <h1>HevyMetl.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00031 <span class="preprocessor">#ifndef STK_HEVYMETL_H</span> <a name="l00029"></a>00029 <span class="comment">/***************************************************/</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_HEVYMETL_H</span> <a name="l00030"></a>00030
00033 <span class="preprocessor"></span> <a name="l00031"></a>00031 <span class="preprocessor">#ifndef STK_HEVYMETL_H</span>
00034 <span class="preprocessor">#include "FM.h"</span> <a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_HEVYMETL_H</span>
00035 <a name="l00033"></a>00033 <span class="preprocessor"></span>
<a name="l00034"></a>00034 <span class="preprocessor">#include "FM.h"</span>
<a name="l00035"></a>00035
<a name="l00036"></a><a class="code" href="classHevyMetl.html">00036</a> <span class="keyword">class </span><a class="code" href="classHevyMetl.html">HevyMetl</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <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 { <a name="l00037"></a>00037 {
00038 <span class="keyword">public</span>: <a name="l00038"></a>00038 <span class="keyword">public</span>:
00040 <a name="l00040"></a>00040
00043 <a class="code" href="classHevyMetl.html#a0">HevyMetl</a>(); <a name="l00043"></a>00043 <a class="code" href="classHevyMetl.html#a0">HevyMetl</a>();
00044 <a name="l00044"></a>00044
00046 <a class="code" href="classHevyMetl.html#a1">~HevyMetl</a>(); <a name="l00046"></a>00046 <a class="code" href="classHevyMetl.html#a1">~HevyMetl</a>();
00047 <a name="l00047"></a>00047
00049 <span class="keywordtype">void</span> <a class="code" href="classHevyMetl.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classHevyMetl.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00050 <a name="l00050"></a>00050
00052 StkFloat <a class="code" href="classHevyMetl.html#a3">tick</a>(); <a name="l00051"></a>00051 <span class="keyword">protected</span>:
00053 <a name="l00052"></a>00052
00055 StkFloat *<a class="code" href="classHevyMetl.html#a3">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); <a name="l00053"></a>00053 StkFloat computeSample( <span class="keywordtype">void</span> );
00056 <a name="l00054"></a>00054 };
00058 <a name="l00055"></a>00055
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 ); <a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
00065 };
00066
00067 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

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

View File

@@ -8,54 +8,60 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Instrmnt.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00010 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00011 <h1>Instrmnt.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00012 <span class="preprocessor">#ifndef STK_INSTRMNT_H</span> <a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_INSTRMNT_H</span> <a name="l00011"></a>00011
00014 <span class="preprocessor"></span> <a name="l00012"></a>00012 <span class="preprocessor">#ifndef STK_INSTRMNT_H</span>
00015 <span class="preprocessor">#include "Stk.h"</span> <a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_INSTRMNT_H</span>
00016 <a name="l00014"></a>00014 <span class="preprocessor"></span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00016"></a>00016
<a name="l00017"></a><a class="code" href="classInstrmnt.html">00017</a> <span class="keyword">class </span><a class="code" href="classInstrmnt.html">Instrmnt</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <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 { <a name="l00018"></a>00018 {
00019 <span class="keyword">public</span>: <a name="l00019"></a>00019 <span class="keyword">public</span>:
00021 <a class="code" href="classInstrmnt.html#a0">Instrmnt</a>(); <a name="l00021"></a>00021 <a class="code" href="classInstrmnt.html#a0">Instrmnt</a>();
00022 <a name="l00022"></a>00022
00024 <span class="keyword">virtual</span> <a class="code" href="classInstrmnt.html#a1">~Instrmnt</a>(); <a name="l00024"></a>00024 <span class="keyword">virtual</span> <a class="code" href="classInstrmnt.html#a1">~Instrmnt</a>();
00025 <a name="l00025"></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; <a name="l00027"></a>00027 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude) = 0;
00028 <a name="l00028"></a>00028
00030 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(StkFloat amplitude) = 0; <a name="l00030"></a>00030 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a3">noteOff</a>(StkFloat amplitude) = 0;
00031 <a name="l00031"></a>00031
00033 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(StkFloat frequency); <a name="l00033"></a>00033 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a4">setFrequency</a>(StkFloat frequency);
00034 <a name="l00034"></a>00034
00036 StkFloat <a class="code" href="classInstrmnt.html#a5">lastOut</a>() <span class="keyword">const</span>; <a name="l00036"></a>00036 StkFloat <a class="code" href="classInstrmnt.html#a5">lastOut</a>() <span class="keyword">const</span>;
00037 <a name="l00037"></a>00037
00039 StkFloat <a class="code" href="classInstrmnt.html#a6">lastOutLeft</a>() <span class="keyword">const</span>; <a name="l00039"></a>00039 StkFloat <a class="code" href="classInstrmnt.html#a6">lastOutLeft</a>() <span class="keyword">const</span>;
00040 <a name="l00040"></a>00040
00042 StkFloat <a class="code" href="classInstrmnt.html#a7">lastOutRight</a>() <span class="keyword">const</span>; <a name="l00042"></a>00042 StkFloat <a class="code" href="classInstrmnt.html#a7">lastOutRight</a>() <span class="keyword">const</span>;
00043 <a name="l00043"></a>00043
00045 <span class="keyword">virtual</span> StkFloat <a class="code" href="classInstrmnt.html#a8">tick</a>() = 0; <a name="l00045"></a>00045 StkFloat <a class="code" href="classInstrmnt.html#a8">tick</a>( <span class="keywordtype">void</span> );
00046 <a name="l00046"></a>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); <a name="l00048"></a>00048
00049 <a name="l00054"></a>00054 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classInstrmnt.html#a8">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
00051 <a name="l00055"></a>00055
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 ); <a name="l00057"></a>00057 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInstrmnt.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00058 <a name="l00058"></a>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); <a name="l00059"></a>00059 <span class="keyword">protected</span>:
00061 <a name="l00060"></a>00060
00062 <span class="keyword">protected</span>: <a name="l00061"></a>00061 <span class="comment">// This abstract function must be implemented in all subclasses.</span>
00063 StkFloat lastOutput_; <a name="l00062"></a>00062 <span class="comment">// It is used to get around a C++ problem with overloaded virtual</span>
00064 <a name="l00063"></a>00063 <span class="comment">// functions.</span>
00065 }; <a name="l00064"></a>00064 <span class="keyword">virtual</span> StkFloat computeSample( <span class="keywordtype">void</span> ) = 0;
00066 <a name="l00065"></a>00065
00067 <span class="preprocessor">#endif</span> <a name="l00066"></a>00066 StkFloat lastOutput_;
<a name="l00067"></a>00067
<a name="l00068"></a>00068 };
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,51 +8,49 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>JCRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00015 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00016 <h1>JCRev.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00017 <span class="preprocessor">#ifndef STK_JCREV_H</span> <a name="l00015"></a>00015 <span class="comment">/***************************************************/</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_JCREV_H</span> <a name="l00016"></a>00016
00019 <span class="preprocessor"></span> <a name="l00017"></a>00017 <span class="preprocessor">#ifndef STK_JCREV_H</span>
00020 <span class="preprocessor">#include "Effect.h"</span> <a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_JCREV_H</span>
00021 <span class="preprocessor">#include "Delay.h"</span> <a name="l00019"></a>00019 <span class="preprocessor"></span>
00022 <a name="l00020"></a>00020 <span class="preprocessor">#include "Effect.h"</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "Delay.h"</span>
<a name="l00022"></a>00022
<a name="l00023"></a><a class="code" href="classJCRev.html">00023</a> <span class="keyword">class </span><a class="code" href="classJCRev.html">JCRev</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a> <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 { <a name="l00024"></a>00024 {
00025 <span class="keyword">public</span>: <a name="l00025"></a>00025 <span class="keyword">public</span>:
00027 <a class="code" href="classJCRev.html#a0">JCRev</a>( StkFloat T60 = 1.0 ); <a name="l00027"></a>00027 <a class="code" href="classJCRev.html#a0">JCRev</a>( StkFloat T60 = 1.0 );
00028 <a name="l00028"></a>00028
00030 <a class="code" href="classJCRev.html#a1">~JCRev</a>(); <a name="l00030"></a>00030 <a class="code" href="classJCRev.html#a1">~JCRev</a>();
00031 <a name="l00031"></a>00031
00033 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a2">clear</a>(); <a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a2">clear</a>();
00034 <a name="l00034"></a>00034
00036 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a3">setT60</a>( StkFloat T60 ); <a name="l00036"></a>00036 <span class="keywordtype">void</span> <a class="code" href="classJCRev.html#a3">setT60</a>( StkFloat T60 );
00037 <a name="l00037"></a>00037
00039 StkFloat <a class="code" href="classJCRev.html#a4">tick</a>(StkFloat input); <a name="l00038"></a>00038 <span class="keyword">protected</span>:
00040 <a name="l00039"></a>00039
00042 StkFloat *<a class="code" href="classJCRev.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00040"></a>00040 StkFloat computeSample( StkFloat input );
00043 <a name="l00041"></a>00041
00045 <a name="l00042"></a>00042 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[3];
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 ); <a name="l00043"></a>00043 <a class="code" href="classDelay.html">Delay</a> combDelays_[4];
00052 <a name="l00044"></a>00044 <a class="code" href="classDelay.html">Delay</a> outLeftDelay_;
00053 <span class="keyword">protected</span>: <a name="l00045"></a>00045 <a class="code" href="classDelay.html">Delay</a> outRightDelay_;
00054 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[3]; <a name="l00046"></a>00046 StkFloat allpassCoefficient_;
00055 <a class="code" href="classDelay.html">Delay</a> combDelays_[4]; <a name="l00047"></a>00047 StkFloat combCoefficient_[4];
00056 <a class="code" href="classDelay.html">Delay</a> outLeftDelay_; <a name="l00048"></a>00048
00057 <a class="code" href="classDelay.html">Delay</a> outRightDelay_; <a name="l00049"></a>00049 };
00058 StkFloat allpassCoefficient_; <a name="l00050"></a>00050
00059 StkFloat combCoefficient_[4]; <a name="l00051"></a>00051 <span class="preprocessor">#endif</span>
00060 <a name="l00052"></a>00052 <span class="preprocessor"></span>
00061 };
00062
00063 <span class="preprocessor">#endif</span>
00064 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,39 +8,36 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>JetTable.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00014 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00015 <h1>JetTable.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00016 <span class="preprocessor">#ifndef STK_JETTABL_H</span> <a name="l00014"></a>00014 <span class="comment">/***************************************************/</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_JETTABL_H</span> <a name="l00015"></a>00015
00018 <span class="preprocessor"></span> <a name="l00016"></a>00016 <span class="preprocessor">#ifndef STK_JETTABL_H</span>
00019 <span class="preprocessor">#include "Function.h"</span> <a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_JETTABL_H</span>
00020 <a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="preprocessor">#include "Function.h"</span>
<a name="l00020"></a>00020
<a name="l00021"></a><a class="code" href="classJetTable.html">00021</a> <span class="keyword">class </span><a class="code" href="classJetTable.html">JetTable</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a> <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 { <a name="l00022"></a>00022 {
00023 <span class="keyword">public</span>: <a name="l00023"></a>00023 <span class="keyword">public</span>:
00025 <a class="code" href="classJetTable.html#a0">JetTable</a>(); <a name="l00025"></a>00025 <a class="code" href="classJetTable.html#a0">JetTable</a>();
00026 <a name="l00026"></a>00026
00028 <a class="code" href="classJetTable.html#a1">~JetTable</a>(); <a name="l00028"></a>00028 <a class="code" href="classJetTable.html#a1">~JetTable</a>();
00029 <a name="l00029"></a>00029
00031 StkFloat <a class="code" href="classJetTable.html#a2">tick</a>(StkFloat input); <a name="l00030"></a>00030 <span class="keyword">protected</span>:
00032 <a name="l00031"></a>00031
00034 StkFloat *<a class="code" href="classJetTable.html#a2">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00032"></a>00032 StkFloat computeSample( StkFloat input );
00035 <a name="l00033"></a>00033
00037 <a name="l00034"></a>00034 };
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 ); <a name="l00035"></a>00035
00044 <a name="l00036"></a>00036 <span class="preprocessor">#endif</span>
00045 <span class="keyword">protected</span>:
00046
00047 };
00048
00049 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,53 +8,51 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Mandolin.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00028 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00029 <h1>Mandolin.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00030 <span class="preprocessor">#ifndef STK_MANDOLIN_H</span> <a name="l00028"></a>00028 <span class="comment">/***************************************************/</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define STK_MANDOLIN_H</span> <a name="l00029"></a>00029
00032 <span class="preprocessor"></span> <a name="l00030"></a>00030 <span class="preprocessor">#ifndef STK_MANDOLIN_H</span>
00033 <span class="preprocessor">#include "PluckTwo.h"</span> <a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define STK_MANDOLIN_H</span>
00034 <span class="preprocessor">#include "WvIn.h"</span> <a name="l00032"></a>00032 <span class="preprocessor"></span>
00035 <a name="l00033"></a>00033 <span class="preprocessor">#include "PluckTwo.h"</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include "FileWvIn.h"</span>
<a name="l00035"></a>00035
<a name="l00036"></a><a class="code" href="classMandolin.html">00036</a> <span class="keyword">class </span><a class="code" href="classMandolin.html">Mandolin</a> : <span class="keyword">public</span> <a class="code" href="classPluckTwo.html">PluckTwo</a> <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 { <a name="l00037"></a>00037 {
00038 <span class="keyword">public</span>: <a name="l00038"></a>00038 <span class="keyword">public</span>:
00040 <a class="code" href="classMandolin.html#a0">Mandolin</a>(StkFloat lowestFrequency); <a name="l00040"></a>00040 <a class="code" href="classMandolin.html#a0">Mandolin</a>(StkFloat lowestFrequency);
00041 <a name="l00041"></a>00041
00043 <a class="code" href="classMandolin.html#a1">~Mandolin</a>(); <a name="l00043"></a>00043 <a class="code" href="classMandolin.html#a1">~Mandolin</a>();
00044 <a name="l00044"></a>00044
00046 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(StkFloat amplitude); <a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(StkFloat amplitude);
00047 <a name="l00047"></a>00047
00049 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(StkFloat amplitude,StkFloat position); <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a2">pluck</a>(StkFloat amplitude,StkFloat position);
00050 <a name="l00050"></a>00050
00052 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a4">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a4">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00053 <a name="l00053"></a>00053
00055 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a5">setBodySize</a>(StkFloat size); <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a5">setBodySize</a>(StkFloat size);
00056 <a name="l00056"></a>00056
00058 StkFloat <a class="code" href="classMandolin.html#a6">tick</a>(); <a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a6">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00059 <a name="l00059"></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); <a name="l00060"></a>00060 <span class="keyword">protected</span>:
00062 <a name="l00061"></a>00061
00064 <a name="l00062"></a>00062 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00063"></a>00063
00071 <a name="l00064"></a>00064 <a class="code" href="classFileWvIn.html">FileWvIn</a> *soundfile_[12];
00073 <span class="keywordtype">void</span> <a class="code" href="classMandolin.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00065"></a>00065 <span class="keywordtype">int</span> mic_;
00074 <a name="l00066"></a>00066 <span class="keywordtype">long</span> dampTime_;
00075 <span class="keyword">protected</span>: <a name="l00067"></a>00067 <span class="keywordtype">bool</span> waveDone_;
00076 <a class="code" href="classWvIn.html">WvIn</a> *soundfile_[12]; <a name="l00068"></a>00068 };
00077 <span class="keywordtype">int</span> mic_; <a name="l00069"></a>00069
00078 <span class="keywordtype">long</span> dampTime_; <a name="l00070"></a>00070 <span class="preprocessor">#endif</span>
00079 <span class="keywordtype">bool</span> waveDone_;
00080 };
00081
00082 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,84 +8,81 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Mesh2D.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00025 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00026 <h1>Mesh2D.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00027 <span class="preprocessor">#ifndef STK_MESH2D_H</span> <a name="l00025"></a>00025 <span class="comment">/***************************************************/</span>
00028 <span class="preprocessor"></span><span class="preprocessor">#define STK_MESH2D_H</span> <a name="l00026"></a>00026
00029 <span class="preprocessor"></span> <a name="l00027"></a>00027 <span class="preprocessor">#ifndef STK_MESH2D_H</span>
00030 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define STK_MESH2D_H</span>
00031 <span class="preprocessor">#include "OnePole.h"</span> <a name="l00029"></a>00029 <span class="preprocessor"></span>
00032 <a name="l00030"></a>00030 <span class="preprocessor">#include "Instrmnt.h"</span>
00033 <span class="keyword">const</span> <span class="keywordtype">short</span> NXMAX = 12; <a name="l00031"></a>00031 <span class="preprocessor">#include "OnePole.h"</span>
00034 <span class="keyword">const</span> <span class="keywordtype">short</span> NYMAX = 12; <a name="l00032"></a>00032
00035 <a name="l00033"></a>00033 <span class="keyword">const</span> <span class="keywordtype">short</span> NXMAX = 12;
<a name="l00034"></a>00034 <span class="keyword">const</span> <span class="keywordtype">short</span> NYMAX = 12;
<a name="l00035"></a>00035
<a name="l00036"></a><a class="code" href="classMesh2D.html">00036</a> <span class="keyword">class </span><a class="code" href="classMesh2D.html">Mesh2D</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00037"></a>00037 {
00038 <span class="keyword">public</span>: <a name="l00038"></a>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); <a name="l00040"></a>00040 <a class="code" href="classMesh2D.html#a0">Mesh2D</a>(<span class="keywordtype">short</span> nX, <span class="keywordtype">short</span> nY);
00041 <a name="l00041"></a>00041
00043 <a class="code" href="classMesh2D.html#a1">~Mesh2D</a>(); <a name="l00043"></a>00043 <a class="code" href="classMesh2D.html#a1">~Mesh2D</a>();
00044 <a name="l00044"></a>00044
00046 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a2">clear</a>(); <a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a2">clear</a>();
00047 <a name="l00047"></a>00047
00049 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a3">setNX</a>(<span class="keywordtype">short</span> lenX); <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a3">setNX</a>(<span class="keywordtype">short</span> lenX);
00050 <a name="l00050"></a>00050
00052 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a4">setNY</a>(<span class="keywordtype">short</span> lenY); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a4">setNY</a>(<span class="keywordtype">short</span> lenY);
00053 <a name="l00053"></a>00053
00055 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a5">setInputPosition</a>(StkFloat xFactor, StkFloat yFactor); <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a5">setInputPosition</a>(StkFloat xFactor, StkFloat yFactor);
00056 <a name="l00056"></a>00056
00058 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a6">setDecay</a>(StkFloat decayFactor); <a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a6">setDecay</a>(StkFloat decayFactor);
00059 <a name="l00059"></a>00059
00061 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00062 <a name="l00062"></a>00062
00064 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a8">noteOff</a>(StkFloat amplitude); <a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a8">noteOff</a>(StkFloat amplitude);
00065 <a name="l00065"></a>00065
00067 StkFloat <a class="code" href="classMesh2D.html#a9">energy</a>(); <a name="l00067"></a>00067 StkFloat <a class="code" href="classMesh2D.html#a9">energy</a>();
00068 <a name="l00068"></a>00068
00070 StkFloat <a class="code" href="classMesh2D.html#a10">tick</a>(); <a name="l00070"></a>00070 StkFloat <a class="code" href="classMesh2D.html#a10">inputTick</a>( StkFloat input );
00071 <a name="l00071"></a>00071
00073 StkFloat <a class="code" href="classMesh2D.html#a10">tick</a>(StkFloat input); <a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00074 <a name="l00074"></a>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); <a name="l00075"></a>00075 <span class="keyword">protected</span>:
00077 <a name="l00076"></a>00076
00079 <a name="l00077"></a>00077 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00078"></a>00078
00086 <a name="l00079"></a>00079 StkFloat tick0();
00088 <span class="keywordtype">void</span> <a class="code" href="classMesh2D.html#a14">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00080"></a>00080 StkFloat tick1();
00089 <a name="l00081"></a>00081 <span class="keywordtype">void</span> clearMesh();
00090 <span class="keyword">protected</span>: <a name="l00082"></a>00082
00091 <a name="l00083"></a>00083 <span class="keywordtype">short</span> NX_, NY_;
00092 StkFloat tick0(); <a name="l00084"></a>00084 <span class="keywordtype">short</span> xInput_, yInput_;
00093 StkFloat tick1(); <a name="l00085"></a>00085 <a class="code" href="classOnePole.html">OnePole</a> filterX_[NXMAX];
00094 <span class="keywordtype">void</span> clearMesh(); <a name="l00086"></a>00086 <a class="code" href="classOnePole.html">OnePole</a> filterY_[NYMAX];
00095 <a name="l00087"></a>00087 StkFloat v_[NXMAX-1][NYMAX-1]; <span class="comment">// junction velocities</span>
00096 <span class="keywordtype">short</span> NX_, NY_; <a name="l00088"></a>00088 StkFloat vxp_[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
00097 <span class="keywordtype">short</span> xInput_, yInput_; <a name="l00089"></a>00089 StkFloat vxm_[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
00098 <a class="code" href="classOnePole.html">OnePole</a> filterX_[NXMAX]; <a name="l00090"></a>00090 StkFloat vyp_[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
00099 <a class="code" href="classOnePole.html">OnePole</a> filterY_[NYMAX]; <a name="l00091"></a>00091 StkFloat vym_[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
00100 StkFloat v_[NXMAX-1][NYMAX-1]; <span class="comment">// junction velocities</span> <a name="l00092"></a>00092
00101 StkFloat vxp_[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span> <a name="l00093"></a>00093 <span class="comment">// Alternate buffers</span>
00102 StkFloat vxm_[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span> <a name="l00094"></a>00094 StkFloat vxp1_[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span>
00103 StkFloat vyp_[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span> <a name="l00095"></a>00095 StkFloat vxm1_[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span>
00104 StkFloat vym_[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span> <a name="l00096"></a>00096 StkFloat vyp1_[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span>
00105 <a name="l00097"></a>00097 StkFloat vym1_[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span>
00106 <span class="comment">// Alternate buffers</span> <a name="l00098"></a>00098
00107 StkFloat vxp1_[NXMAX][NYMAX]; <span class="comment">// positive-x velocity wave</span> <a name="l00099"></a>00099 <span class="keywordtype">int</span> counter_; <span class="comment">// time in samples</span>
00108 StkFloat vxm1_[NXMAX][NYMAX]; <span class="comment">// negative-x velocity wave</span> <a name="l00100"></a>00100 };
00109 StkFloat vyp1_[NXMAX][NYMAX]; <span class="comment">// positive-y velocity wave</span> <a name="l00101"></a>00101
00110 StkFloat vym1_[NXMAX][NYMAX]; <span class="comment">// negative-y velocity wave</span> <a name="l00102"></a>00102 <span class="preprocessor">#endif</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> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

@@ -8,84 +8,86 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>MidiFileIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/**********************************************************************/</span> <div class="nav">
00016 <span class="comment">/**********************************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00017 <h1>MidiFileIn.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/**********************************************************************/</span>
00018 <span class="preprocessor">#ifndef STK_MIDIFILEIN_H</span> <a name="l00016"></a>00016 <span class="comment">/**********************************************************************/</span>
00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_MIDIFILEIN_H</span> <a name="l00017"></a>00017
00020 <span class="preprocessor"></span> <a name="l00018"></a>00018 <span class="preprocessor">#ifndef STK_MIDIFILEIN_H</span>
00021 <span class="preprocessor">#include "Stk.h"</span> <a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define STK_MIDIFILEIN_H</span>
00022 <span class="preprocessor">#include &lt;string&gt;</span> <a name="l00020"></a>00020 <span class="preprocessor"></span>
00023 <span class="preprocessor">#include &lt;vector&gt;</span> <a name="l00021"></a>00021 <span class="preprocessor">#include "Stk.h"</span>
00024 <span class="preprocessor">#include &lt;fstream&gt;</span> <a name="l00022"></a>00022 <span class="preprocessor">#include &lt;string&gt;</span>
00025 <span class="preprocessor">#include &lt;sstream&gt;</span> <a name="l00023"></a>00023 <span class="preprocessor">#include &lt;vector&gt;</span>
00026 <a name="l00024"></a>00024 <span class="preprocessor">#include &lt;fstream&gt;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;sstream&gt;</span>
<a name="l00026"></a>00026
<a name="l00027"></a><a class="code" href="classMidiFileIn.html">00027</a> <span class="keyword">class </span><a class="code" href="classMidiFileIn.html">MidiFileIn</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <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 { <a name="l00028"></a>00028 {
00029 <span class="keyword">public</span>: <a name="l00029"></a>00029 <span class="keyword">public</span>:
00031 <a name="l00031"></a>00031
00035 <a class="code" href="classMidiFileIn.html#a0">MidiFileIn</a>( std::string fileName ); <a name="l00035"></a>00035 <a class="code" href="classMidiFileIn.html#a0">MidiFileIn</a>( std::string fileName );
00036 <a name="l00036"></a>00036
00038 <a class="code" href="classMidiFileIn.html#a1">~MidiFileIn</a>(); <a name="l00038"></a>00038 <a class="code" href="classMidiFileIn.html#a1">~MidiFileIn</a>();
00039 <a name="l00039"></a>00039
00041 <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a2">getFileFormat</a>() <span class="keyword">const</span>; <a name="l00041"></a>00041 <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a2">getFileFormat</a>() <span class="keyword">const</span>;
00042 <a name="l00042"></a>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>; <a name="l00044"></a>00044 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a3">getNumberOfTracks</a>() <span class="keyword">const</span>;
00045 <a name="l00045"></a>00045
00047 <a name="l00047"></a>00047
00052 <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a4">getDivision</a>() <span class="keyword">const</span>; <a name="l00052"></a>00052 <span class="keywordtype">int</span> <a class="code" href="classMidiFileIn.html#a4">getDivision</a>() <span class="keyword">const</span>;
00053 <a name="l00053"></a>00053
00055 <a name="l00055"></a>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 ); <a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classMidiFileIn.html#a5">rewindTrack</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00060 <a name="l00060"></a>00060
00062 <a name="l00062"></a>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 ); <a name="l00069"></a>00069 <span class="keywordtype">double</span> <a class="code" href="classMidiFileIn.html#a6">getTickSeconds</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00070 <a name="l00070"></a>00070
00072 <a name="l00072"></a>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 ); <a name="l00084"></a>00084 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMidiFileIn.html#a7">getNextEvent</a>( std::vector&lt;unsigned char&gt; *event, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00085 <a name="l00085"></a>00085
00087 <a name="l00087"></a>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 ); <a name="l00097"></a>00097 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMidiFileIn.html#a8">getNextMidiEvent</a>( std::vector&lt;unsigned char&gt; *midiEvent, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> track = 0 );
00098 <a name="l00098"></a>00098
00099 <span class="keyword">protected</span>: <a name="l00099"></a>00099 <span class="keyword">protected</span>:
00100 <a name="l00100"></a>00100
00101 <span class="comment">// This protected class function is used for reading variable-length</span> <a name="l00101"></a>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> <a name="l00102"></a>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> <a name="l00103"></a>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> <a name="l00104"></a>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> <a name="l00105"></a>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 ); <a name="l00106"></a>00106 <span class="keywordtype">bool</span> readVariableLength( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *value );
00107 <a name="l00107"></a>00107
00108 std::ifstream file_; <a name="l00108"></a>00108 std::ifstream file_;
00109 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nTracks_; <a name="l00109"></a>00109 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nTracks_;
00110 <span class="keywordtype">int</span> format_; <a name="l00110"></a>00110 <span class="keywordtype">int</span> format_;
00111 <span class="keywordtype">int</span> division_; <a name="l00111"></a>00111 <span class="keywordtype">int</span> division_;
00112 <span class="keywordtype">bool</span> usingTimeCode_; <a name="l00112"></a>00112 <span class="keywordtype">bool</span> usingTimeCode_;
00113 std::vector&lt;double&gt; tickSeconds_; <a name="l00113"></a>00113 std::vector&lt;double&gt; tickSeconds_;
00114 std::vector&lt;long&gt; trackPointers_; <a name="l00114"></a>00114 std::vector&lt;long&gt; trackPointers_;
00115 std::vector&lt;long&gt; trackOffsets_; <a name="l00115"></a>00115 std::vector&lt;long&gt; trackOffsets_;
00116 std::vector&lt;long&gt; trackLengths_; <a name="l00116"></a>00116 std::vector&lt;long&gt; trackLengths_;
00117 std::vector&lt;char&gt; trackStatus_; <a name="l00117"></a>00117 std::vector&lt;char&gt; trackStatus_;
00118 <a name="l00118"></a>00118
00119 <span class="comment">// This structure and the following variables are used to save and</span> <a name="l00119"></a>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> <a name="l00120"></a>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> <a name="l00121"></a>00121 <span class="comment">// parameter for formats 0 and 2).</span>
00122 <span class="keyword">struct </span>TempoChange { <a name="l00122"></a>00122 <span class="keyword">struct </span>TempoChange {
00123 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> count; <a name="l00123"></a>00123 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> count;
00124 <span class="keywordtype">double</span> tickSeconds; <a name="l00124"></a>00124 <span class="keywordtype">double</span> tickSeconds;
00125 }; <a name="l00125"></a>00125 };
00126 std::vector&lt;TempoChange&gt; tempoEvents_; <a name="l00126"></a>00126 std::vector&lt;TempoChange&gt; tempoEvents_;
00127 std::vector&lt;unsigned long&gt; trackCounters_; <a name="l00127"></a>00127 std::vector&lt;unsigned long&gt; trackCounters_;
00128 std::vector&lt;unsigned int&gt; trackTempoIndex_; <a name="l00128"></a>00128 std::vector&lt;unsigned int&gt; trackTempoIndex_;
00129 }; <a name="l00129"></a>00129 };
00130 <a name="l00130"></a>00130
00131 <span class="preprocessor">#endif</span> <a name="l00131"></a>00131 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,39 +8,41 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>ModalBar.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00029 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00030 <h1>ModalBar.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00031 <span class="preprocessor">#ifndef STK_MODALBAR_H</span> <a name="l00029"></a>00029 <span class="comment">/***************************************************/</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODALBAR_H</span> <a name="l00030"></a>00030
00033 <span class="preprocessor"></span> <a name="l00031"></a>00031 <span class="preprocessor">#ifndef STK_MODALBAR_H</span>
00034 <span class="preprocessor">#include "Modal.h"</span> <a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODALBAR_H</span>
00035 <a name="l00033"></a>00033 <span class="preprocessor"></span>
<a name="l00034"></a>00034 <span class="preprocessor">#include "Modal.h"</span>
<a name="l00035"></a>00035
<a name="l00036"></a><a class="code" href="classModalBar.html">00036</a> <span class="keyword">class </span><a class="code" href="classModalBar.html">ModalBar</a> : <span class="keyword">public</span> <a class="code" href="classModal.html">Modal</a> <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 { <a name="l00037"></a>00037 {
00038 <span class="keyword">public</span>: <a name="l00038"></a>00038 <span class="keyword">public</span>:
00040 <a class="code" href="classModalBar.html#a0">ModalBar</a>(); <a name="l00040"></a>00040 <a class="code" href="classModalBar.html#a0">ModalBar</a>();
00041 <a name="l00041"></a>00041
00043 <a class="code" href="classModalBar.html#a1">~ModalBar</a>(); <a name="l00043"></a>00043 <a class="code" href="classModalBar.html#a1">~ModalBar</a>();
00044 <a name="l00044"></a>00044
00046 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a2">setStickHardness</a>(StkFloat hardness); <a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a2">setStickHardness</a>(StkFloat hardness);
00047 <a name="l00047"></a>00047
00049 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a3">setStrikePosition</a>(StkFloat position); <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a3">setStrikePosition</a>(StkFloat position);
00050 <a name="l00050"></a>00050
00052 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a4">setPreset</a>(<span class="keywordtype">int</span> preset);
00053 <a name="l00053"></a>00053
00055 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a5">setModulationDepth</a>(StkFloat mDepth); <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a5">setModulationDepth</a>(StkFloat mDepth);
00056 <a name="l00056"></a>00056
00058 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a6">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classModalBar.html#a6">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00059 }; <a name="l00059"></a>00059 };
00060 <a name="l00060"></a>00060
00061 <span class="preprocessor">#endif</span> <a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

@@ -8,56 +8,54 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Modulate.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00011 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00012 <h1>Modulate.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00013 <span class="preprocessor">#ifndef STK_MODULATE_H</span> <a name="l00011"></a>00011 <span class="comment">/***************************************************/</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODULATE_H</span> <a name="l00012"></a>00012
00015 <span class="preprocessor"></span> <a name="l00013"></a>00013 <span class="preprocessor">#ifndef STK_MODULATE_H</span>
00016 <span class="preprocessor">#include "Generator.h"</span> <a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_MODULATE_H</span>
00017 <span class="preprocessor">#include "WaveLoop.h"</span> <a name="l00015"></a>00015 <span class="preprocessor"></span>
00018 <span class="preprocessor">#include "SubNoise.h"</span> <a name="l00016"></a>00016 <span class="preprocessor">#include "Generator.h"</span>
00019 <span class="preprocessor">#include "OnePole.h"</span> <a name="l00017"></a>00017 <span class="preprocessor">#include "SineWave.h"</span>
00020 <a name="l00018"></a>00018 <span class="preprocessor">#include "SubNoise.h"</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00020"></a>00020
<a name="l00021"></a><a class="code" href="classModulate.html">00021</a> <span class="keyword">class </span><a class="code" href="classModulate.html">Modulate</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a> <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 { <a name="l00022"></a>00022 {
00023 <span class="keyword">public</span>: <a name="l00023"></a>00023 <span class="keyword">public</span>:
00025 <a name="l00025"></a>00025
00028 <a class="code" href="classModulate.html#a0">Modulate</a>(); <a name="l00028"></a>00028 <a class="code" href="classModulate.html#a0">Modulate</a>();
00029 <a name="l00029"></a>00029
00031 <a class="code" href="classModulate.html#a1">~Modulate</a>(); <a name="l00031"></a>00031 <a class="code" href="classModulate.html#a1">~Modulate</a>();
00032 <a name="l00032"></a>00032
00034 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a2">reset</a>(); <a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a2">reset</a>();
00035 <a name="l00035"></a>00035
00037 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a3">setVibratoRate</a>(StkFloat rate); <a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a3">setVibratoRate</a>(StkFloat rate);
00038 <a name="l00038"></a>00038
00040 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a4">setVibratoGain</a>(StkFloat gain); <a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a4">setVibratoGain</a>(StkFloat gain);
00041 <a name="l00041"></a>00041
00043 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a5">setRandomGain</a>(StkFloat gain); <a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classModulate.html#a5">setRandomGain</a>(StkFloat gain);
00044 <a name="l00044"></a>00044
00046 StkFloat <a class="code" href="classModulate.html#a6">tick</a>(); <a name="l00045"></a>00045 <span class="keyword">protected</span>:
00047 <a name="l00046"></a>00046
00049 StkFloat *<a class="code" href="classModulate.html#a6">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00047"></a>00047 StkFloat computeSample( <span class="keywordtype">void</span> );
00050 <a name="l00048"></a>00048
00052 <a name="l00049"></a>00049 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
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 ); <a name="l00050"></a>00050 <a class="code" href="classSubNoise.html">SubNoise</a> noise_;
00059 <a name="l00051"></a>00051 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00060 <span class="keyword">protected</span>: <a name="l00052"></a>00052 StkFloat vibratoGain_;
00061 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_; <a name="l00053"></a>00053 StkFloat randomGain_;
00062 <a class="code" href="classSubNoise.html">SubNoise</a> noise_; <a name="l00054"></a>00054
00063 <a class="code" href="classOnePole.html">OnePole</a> filter_; <a name="l00055"></a>00055 };
00064 StkFloat vibratoGain_; <a name="l00056"></a>00056
00065 StkFloat randomGain_; <a name="l00057"></a>00057 <span class="preprocessor">#endif</span>
00066
00067 };
00068
00069 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,55 +8,53 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Moog.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00019 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00020 <h1>Moog.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00021 <span class="preprocessor">#ifndef STK_MOOG_H</span> <a name="l00019"></a>00019 <span class="comment">/***************************************************/</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_MOOG_H</span> <a name="l00020"></a>00020
00023 <span class="preprocessor"></span> <a name="l00021"></a>00021 <span class="preprocessor">#ifndef STK_MOOG_H</span>
00024 <span class="preprocessor">#include "Sampler.h"</span> <a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_MOOG_H</span>
00025 <span class="preprocessor">#include "FormSwep.h"</span> <a name="l00023"></a>00023 <span class="preprocessor"></span>
00026 <a name="l00024"></a>00024 <span class="preprocessor">#include "Sampler.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "FormSwep.h"</span>
<a name="l00026"></a>00026
<a name="l00027"></a><a class="code" href="classMoog.html">00027</a> <span class="keyword">class </span><a class="code" href="classMoog.html">Moog</a> : <span class="keyword">public</span> <a class="code" href="classSampler.html">Sampler</a> <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 { <a name="l00028"></a>00028 {
00029 <span class="keyword">public</span>: <a name="l00029"></a>00029 <span class="keyword">public</span>:
00031 <a name="l00031"></a>00031
00034 <a class="code" href="classMoog.html#a0">Moog</a>(); <a name="l00034"></a>00034 <a class="code" href="classMoog.html#a0">Moog</a>();
00035 <a name="l00035"></a>00035
00037 <a class="code" href="classMoog.html#a1">~Moog</a>(); <a name="l00037"></a>00037 <a class="code" href="classMoog.html#a1">~Moog</a>();
00038 <a name="l00038"></a>00038
00040 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a2">setFrequency</a>(StkFloat frequency); <a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a2">setFrequency</a>(StkFloat frequency);
00041 <a name="l00041"></a>00041
00043 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00044 <a name="l00044"></a>00044
00046 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a4">setModulationSpeed</a>(StkFloat mSpeed); <a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a4">setModulationSpeed</a>(StkFloat mSpeed);
00047 <a name="l00047"></a>00047
00049 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a5">setModulationDepth</a>(StkFloat mDepth); <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a5">setModulationDepth</a>(StkFloat mDepth);
00050 <a name="l00050"></a>00050
00052 StkFloat <a class="code" href="classMoog.html#a6">tick</a>(); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a6">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00053 <a name="l00053"></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); <a name="l00054"></a>00054 <span class="keyword">protected</span>:
00056 <a name="l00055"></a>00055
00058 <a name="l00056"></a>00056 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00057"></a>00057
00065 <a name="l00058"></a>00058 <a class="code" href="classFormSwep.html">FormSwep</a> filters_[2];
00067 <span class="keywordtype">void</span> <a class="code" href="classMoog.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00059"></a>00059 StkFloat modDepth_;
00068 <a name="l00060"></a>00060 StkFloat filterQ_;
00069 <span class="keyword">protected</span>: <a name="l00061"></a>00061 StkFloat filterRate_;
00070 <a class="code" href="classFormSwep.html">FormSwep</a> filters_[2]; <a name="l00062"></a>00062
00071 StkFloat modDepth_; <a name="l00063"></a>00063 };
00072 StkFloat filterQ_; <a name="l00064"></a>00064
00073 StkFloat filterRate_; <a name="l00065"></a>00065 <span class="preprocessor">#endif</span>
00074
00075 };
00076
00077 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,60 +8,62 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Mutex.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00012 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00013 <h1>Mutex.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00014 <span class="preprocessor">#ifndef STK_MUTEX_H</span> <a name="l00012"></a>00012 <span class="comment">/***************************************************/</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_MUTEX_H</span> <a name="l00013"></a>00013
00016 <span class="preprocessor"></span> <a name="l00014"></a>00014 <span class="preprocessor">#ifndef STK_MUTEX_H</span>
00017 <span class="preprocessor">#include "Stk.h"</span> <a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_MUTEX_H</span>
00018 <a name="l00016"></a>00016 <span class="preprocessor"></span>
00019 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span> <a name="l00017"></a>00017 <span class="preprocessor">#include "Stk.h"</span>
00020 <span class="preprocessor"></span> <a name="l00018"></a>00018
00021 <span class="preprocessor"> #include &lt;pthread.h&gt;</span> <a name="l00019"></a>00019 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
00022 <span class="keyword">typedef</span> pthread_mutex_t MUTEX; <a name="l00020"></a>00020 <span class="preprocessor"></span>
00023 <span class="keyword">typedef</span> pthread_cond_t CONDITION; <a name="l00021"></a>00021 <span class="preprocessor"> #include &lt;pthread.h&gt;</span>
00024 <a name="l00022"></a>00022 <span class="keyword">typedef</span> pthread_mutex_t MUTEX;
00025 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span> <a name="l00023"></a>00023 <span class="keyword">typedef</span> pthread_cond_t CONDITION;
00026 <span class="preprocessor"></span> <a name="l00024"></a>00024
00027 <span class="preprocessor"> #include &lt;windows.h&gt;</span> <a name="l00025"></a>00025 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span>
00028 <span class="preprocessor"> #include &lt;process.h&gt;</span> <a name="l00026"></a>00026 <span class="preprocessor"></span>
00029 <span class="keyword">typedef</span> CRITICAL_SECTION MUTEX; <a name="l00027"></a>00027 <span class="preprocessor"> #include &lt;windows.h&gt;</span>
00030 <span class="keyword">typedef</span> HANDLE CONDITION; <a name="l00028"></a>00028 <span class="preprocessor"> #include &lt;process.h&gt;</span>
00031 <a name="l00029"></a>00029 <span class="keyword">typedef</span> CRITICAL_SECTION MUTEX;
00032 <span class="preprocessor">#endif</span> <a name="l00030"></a>00030 <span class="keyword">typedef</span> HANDLE CONDITION;
00033 <span class="preprocessor"></span> <a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="preprocessor">#endif</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span>
<a name="l00034"></a><a class="code" href="classMutex.html">00034</a> <span class="keyword">class </span><a class="code" href="classMutex.html">Mutex</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <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 { <a name="l00035"></a>00035 {
00036 <span class="keyword">public</span>: <a name="l00036"></a>00036 <span class="keyword">public</span>:
00038 <a class="code" href="classMutex.html#a0">Mutex</a>(); <a name="l00038"></a>00038 <a class="code" href="classMutex.html#a0">Mutex</a>();
00039 <a name="l00039"></a>00039
00041 <a class="code" href="classMutex.html#a1">~Mutex</a>(); <a name="l00041"></a>00041 <a class="code" href="classMutex.html#a1">~Mutex</a>();
00042 <a name="l00042"></a>00042
00044 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a2">lock</a>(<span class="keywordtype">void</span>); <a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a2">lock</a>(<span class="keywordtype">void</span>);
00045 <a name="l00045"></a>00045
00047 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a3">unlock</a>(<span class="keywordtype">void</span>); <a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a3">unlock</a>(<span class="keywordtype">void</span>);
00048 <a name="l00048"></a>00048
00050 <a name="l00050"></a>00050
00054 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a4">wait</a>(<span class="keywordtype">void</span>); <a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a4">wait</a>(<span class="keywordtype">void</span>);
00055 <a name="l00055"></a>00055
00057 <a name="l00057"></a>00057
00061 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a5">signal</a>(<span class="keywordtype">void</span>); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classMutex.html#a5">signal</a>(<span class="keywordtype">void</span>);
00062 <a name="l00062"></a>00062
00063 <span class="keyword">protected</span>: <a name="l00063"></a>00063 <span class="keyword">protected</span>:
00064 <a name="l00064"></a>00064
00065 MUTEX mutex_; <a name="l00065"></a>00065 MUTEX mutex_;
00066 CONDITION condition_; <a name="l00066"></a>00066 CONDITION condition_;
00067 <a name="l00067"></a>00067
00068 }; <a name="l00068"></a>00068 };
00069 <a name="l00069"></a>00069
00070 <span class="preprocessor">#endif</span> <a name="l00070"></a>00070 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,50 +8,48 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>NRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00017 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00018 <h1>NRev.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00019 <span class="preprocessor">#ifndef STK_NREV_H</span> <a name="l00017"></a>00017 <span class="comment">/***************************************************/</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_NREV_H</span> <a name="l00018"></a>00018
00021 <span class="preprocessor"></span> <a name="l00019"></a>00019 <span class="preprocessor">#ifndef STK_NREV_H</span>
00022 <span class="preprocessor">#include "Effect.h"</span> <a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_NREV_H</span>
00023 <span class="preprocessor">#include "Delay.h"</span> <a name="l00021"></a>00021 <span class="preprocessor"></span>
00024 <a name="l00022"></a>00022 <span class="preprocessor">#include "Effect.h"</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "Delay.h"</span>
<a name="l00024"></a>00024
<a name="l00025"></a><a class="code" href="classNRev.html">00025</a> <span class="keyword">class </span><a class="code" href="classNRev.html">NRev</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a> <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 { <a name="l00026"></a>00026 {
00027 <span class="keyword">public</span>: <a name="l00027"></a>00027 <span class="keyword">public</span>:
00029 <a class="code" href="classNRev.html#a0">NRev</a>( StkFloat T60 = 1.0 ); <a name="l00029"></a>00029 <a class="code" href="classNRev.html#a0">NRev</a>( StkFloat T60 = 1.0 );
00030 <a name="l00030"></a>00030
00032 <a class="code" href="classNRev.html#a1">~NRev</a>(); <a name="l00032"></a>00032 <a class="code" href="classNRev.html#a1">~NRev</a>();
00033 <a name="l00033"></a>00033
00035 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a2">clear</a>(); <a name="l00035"></a>00035 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a2">clear</a>();
00036 <a name="l00036"></a>00036
00038 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a3">setT60</a>( StkFloat T60 ); <a name="l00038"></a>00038 <span class="keywordtype">void</span> <a class="code" href="classNRev.html#a3">setT60</a>( StkFloat T60 );
00039 <a name="l00039"></a>00039
00041 StkFloat <a class="code" href="classNRev.html#a4">tick</a>(StkFloat input); <a name="l00040"></a>00040 <span class="keyword">protected</span>:
00042 <a name="l00041"></a>00041
00044 StkFloat *<a class="code" href="classNRev.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00042"></a>00042 StkFloat computeSample( StkFloat input );
00045 <a name="l00043"></a>00043
00047 <a name="l00044"></a>00044 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[8];
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 ); <a name="l00045"></a>00045 <a class="code" href="classDelay.html">Delay</a> combDelays_[6];
00054 <a name="l00046"></a>00046 StkFloat allpassCoefficient_;
00055 <span class="keyword">protected</span>: <a name="l00047"></a>00047 StkFloat combCoefficient_[6];
00056 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[8]; <a name="l00048"></a>00048 StkFloat lowpassState_;
00057 <a class="code" href="classDelay.html">Delay</a> combDelays_[6]; <a name="l00049"></a>00049
00058 StkFloat allpassCoefficient_; <a name="l00050"></a>00050 };
00059 StkFloat combCoefficient_[6]; <a name="l00051"></a>00051
00060 StkFloat lowpassState_; <a name="l00052"></a>00052 <span class="preprocessor">#endif</span>
00061 <a name="l00053"></a>00053 <span class="preprocessor"></span>
00062 };
00063
00064 <span class="preprocessor">#endif</span>
00065 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,46 +8,43 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Noise.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00011 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00012 <h1>Noise.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00013 <span class="preprocessor">#ifndef STK_NOISE_H</span> <a name="l00011"></a>00011 <span class="comment">/***************************************************/</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_NOISE_H</span> <a name="l00012"></a>00012
00015 <span class="preprocessor"></span> <a name="l00013"></a>00013 <span class="preprocessor">#ifndef STK_NOISE_H</span>
00016 <span class="preprocessor">#include "Generator.h"</span> <a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_NOISE_H</span>
00017 <a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "Generator.h"</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classNoise.html">00018</a> <span class="keyword">class </span><a class="code" href="classNoise.html">Noise</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a> <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 { <a name="l00019"></a>00019 {
00020 <span class="keyword">public</span>: <a name="l00020"></a>00020 <span class="keyword">public</span>:
00021 <a name="l00021"></a>00021
00023 <a class="code" href="classNoise.html#a0">Noise</a>(); <a name="l00023"></a>00023 <a class="code" href="classNoise.html#a0">Noise</a>();
00024 <a name="l00024"></a>00024
00026 <a name="l00026"></a>00026
00030 <a class="code" href="classNoise.html#a0">Noise</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed ); <a name="l00030"></a>00030 <a class="code" href="classNoise.html#a0">Noise</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed );
00031 <a name="l00031"></a>00031
00033 <span class="keyword">virtual</span> <a class="code" href="classNoise.html#a2">~Noise</a>(); <a name="l00033"></a>00033 <span class="keyword">virtual</span> <a class="code" href="classNoise.html#a2">~Noise</a>();
00034 <a name="l00034"></a>00034
00036 <a name="l00036"></a>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 ); <a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classNoise.html#a3">setSeed</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> seed = 0 );
00041 <a name="l00041"></a>00041
00043 <span class="keyword">virtual</span> StkFloat <a class="code" href="classNoise.html#a4">tick</a>(); <a name="l00042"></a>00042 <span class="keyword">protected</span>:
00044 <a name="l00043"></a>00043
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 ); <a name="l00044"></a>00044 <span class="keyword">virtual</span> StkFloat computeSample( <span class="keywordtype">void</span> );
00047 <a name="l00045"></a>00045
00049 <a name="l00046"></a>00046 };
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 ); <a name="l00047"></a>00047
00056 <a name="l00048"></a>00048 <span class="preprocessor">#endif</span>
00057 <span class="keyword">protected</span>:
00058
00059 };
00060
00061 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,56 +8,56 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>OnePole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00013 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00014 <h1>OnePole.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00015 <span class="preprocessor">#ifndef STK_ONEPOLE_H</span> <a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_ONEPOLE_H</span> <a name="l00014"></a>00014
00017 <span class="preprocessor"></span> <a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_ONEPOLE_H</span>
00018 <span class="preprocessor">#include "Filter.h"</span> <a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_ONEPOLE_H</span>
00019 <a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "Filter.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classOnePole.html">00020</a> <span class="keyword">class </span><a class="code" href="classOnePole.html">OnePole</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a> <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 { <a name="l00021"></a>00021 {
00022 <span class="keyword">public</span>: <a name="l00022"></a>00022 <span class="keyword">public</span>:
00023 <a name="l00023"></a>00023
00025 <a class="code" href="classOnePole.html#a0">OnePole</a>(); <a name="l00025"></a>00025 <a class="code" href="classOnePole.html#a0">OnePole</a>();
00026 <a name="l00026"></a>00026
00028 <a class="code" href="classOnePole.html#a0">OnePole</a>(StkFloat thePole); <a name="l00028"></a>00028 <a class="code" href="classOnePole.html#a0">OnePole</a>( StkFloat thePole );
00029 <a name="l00029"></a>00029
00031 <a class="code" href="classOnePole.html#a2">~OnePole</a>(); <a name="l00031"></a>00031 <a class="code" href="classOnePole.html#a2">~OnePole</a>();
00032 <a name="l00032"></a>00032
00034 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a3">clear</a>(<span class="keywordtype">void</span>); <a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a3">clear</a>(<span class="keywordtype">void</span>);
00035 <a name="l00035"></a>00035
00037 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a4">setB0</a>(StkFloat b0); <a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a4">setB0</a>(StkFloat b0);
00038 <a name="l00038"></a>00038
00040 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a5">setA1</a>(StkFloat a1); <a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a5">setA1</a>(StkFloat a1);
00041 <a name="l00041"></a>00041
00043 <a name="l00043"></a>00043
00050 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a6">setPole</a>(StkFloat thePole); <a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a6">setPole</a>(StkFloat thePole);
00051 <a name="l00051"></a>00051
00053 <a name="l00053"></a>00053
00057 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a7">setGain</a>(StkFloat gain); <a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classOnePole.html#a7">setGain</a>(StkFloat gain);
00058 <a name="l00058"></a>00058
00060 StkFloat <a class="code" href="classOnePole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00060"></a>00060 StkFloat <a class="code" href="classOnePole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00061 <a name="l00061"></a>00061
00063 StkFloat <a class="code" href="classOnePole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00063"></a>00063 StkFloat <a class="code" href="classOnePole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064 <a name="l00064"></a>00064
00066 StkFloat <a class="code" href="classOnePole.html#a10">tick</a>(StkFloat sample); <a name="l00066"></a>00066 StkFloat <a class="code" href="classOnePole.html#a10">tick</a>(StkFloat sample);
00067 <a name="l00067"></a>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); <a name="l00069"></a>00069
00070 <a name="l00075"></a>00075 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classOnePole.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
00072 <a name="l00076"></a>00076
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 ); <a name="l00077"></a>00077 };
00079 <a name="l00078"></a>00078
00080 }; <a name="l00079"></a>00079 <span class="preprocessor">#endif</span>
00081
00082 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,56 +8,56 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>OneZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00013 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00014 <h1>OneZero.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00015 <span class="preprocessor">#ifndef STK_ONEZERO_H</span> <a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_ONEZERO_H</span> <a name="l00014"></a>00014
00017 <span class="preprocessor"></span> <a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_ONEZERO_H</span>
00018 <span class="preprocessor">#include "Filter.h"</span> <a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_ONEZERO_H</span>
00019 <a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "Filter.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classOneZero.html">00020</a> <span class="keyword">class </span><a class="code" href="classOneZero.html">OneZero</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a> <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 { <a name="l00021"></a>00021 {
00022 <span class="keyword">public</span>: <a name="l00022"></a>00022 <span class="keyword">public</span>:
00023 <a name="l00023"></a>00023
00025 <a class="code" href="classOneZero.html#a0">OneZero</a>(); <a name="l00025"></a>00025 <a class="code" href="classOneZero.html#a0">OneZero</a>();
00026 <a name="l00026"></a>00026
00028 <a class="code" href="classOneZero.html#a0">OneZero</a>(StkFloat theZero); <a name="l00028"></a>00028 <a class="code" href="classOneZero.html#a0">OneZero</a>(StkFloat theZero);
00029 <a name="l00029"></a>00029
00031 <a class="code" href="classOneZero.html#a2">~OneZero</a>(); <a name="l00031"></a>00031 <a class="code" href="classOneZero.html#a2">~OneZero</a>();
00032 <a name="l00032"></a>00032
00034 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a3">clear</a>(<span class="keywordtype">void</span>); <a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a3">clear</a>(<span class="keywordtype">void</span>);
00035 <a name="l00035"></a>00035
00037 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a4">setB0</a>(StkFloat b0); <a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a4">setB0</a>(StkFloat b0);
00038 <a name="l00038"></a>00038
00040 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a5">setB1</a>(StkFloat b1); <a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a5">setB1</a>(StkFloat b1);
00041 <a name="l00041"></a>00041
00043 <a name="l00043"></a>00043
00050 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a6">setZero</a>(StkFloat theZero); <a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a6">setZero</a>(StkFloat theZero);
00051 <a name="l00051"></a>00051
00053 <a name="l00053"></a>00053
00057 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a7">setGain</a>(StkFloat gain); <a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classOneZero.html#a7">setGain</a>(StkFloat gain);
00058 <a name="l00058"></a>00058
00060 StkFloat <a class="code" href="classOneZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00060"></a>00060 StkFloat <a class="code" href="classOneZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00061 <a name="l00061"></a>00061
00063 StkFloat <a class="code" href="classOneZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00063"></a>00063 StkFloat <a class="code" href="classOneZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00064 <a name="l00064"></a>00064
00066 StkFloat <a class="code" href="classOneZero.html#a10">tick</a>(StkFloat sample); <a name="l00066"></a>00066 StkFloat <a class="code" href="classOneZero.html#a10">tick</a>(StkFloat sample);
00067 <a name="l00067"></a>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); <a name="l00069"></a>00069
00070 <a name="l00075"></a>00075 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classOneZero.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
00072 <a name="l00076"></a>00076
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 ); <a name="l00077"></a>00077 };
00079 <a name="l00078"></a>00078
00080 }; <a name="l00079"></a>00079 <span class="preprocessor">#endif</span>
00081
00082 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,49 +8,47 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>PRCRev.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00015 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00016 <h1>PRCRev.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00017 <span class="preprocessor">#ifndef STK_PRCREV_H</span> <a name="l00015"></a>00015 <span class="comment">/***************************************************/</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_PRCREV_H</span> <a name="l00016"></a>00016
00019 <span class="preprocessor"></span> <a name="l00017"></a>00017 <span class="preprocessor">#ifndef STK_PRCREV_H</span>
00020 <span class="preprocessor">#include "Effect.h"</span> <a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define STK_PRCREV_H</span>
00021 <span class="preprocessor">#include "Delay.h"</span> <a name="l00019"></a>00019 <span class="preprocessor"></span>
00022 <a name="l00020"></a>00020 <span class="preprocessor">#include "Effect.h"</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "Delay.h"</span>
<a name="l00022"></a>00022
<a name="l00023"></a><a class="code" href="classPRCRev.html">00023</a> <span class="keyword">class </span><a class="code" href="classPRCRev.html">PRCRev</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a> <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 { <a name="l00024"></a>00024 {
00025 <span class="keyword">public</span>: <a name="l00025"></a>00025 <span class="keyword">public</span>:
00027 <a class="code" href="classPRCRev.html#a0">PRCRev</a>( StkFloat T60 = 1.0 ); <a name="l00027"></a>00027 <a class="code" href="classPRCRev.html#a0">PRCRev</a>( StkFloat T60 = 1.0 );
00028 <a name="l00028"></a>00028
00030 <a class="code" href="classPRCRev.html#a1">~PRCRev</a>(); <a name="l00030"></a>00030 <a class="code" href="classPRCRev.html#a1">~PRCRev</a>();
00031 <a name="l00031"></a>00031
00033 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a2">clear</a>(); <a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a2">clear</a>();
00034 <a name="l00034"></a>00034
00036 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a3">setT60</a>( StkFloat T60 ); <a name="l00036"></a>00036 <span class="keywordtype">void</span> <a class="code" href="classPRCRev.html#a3">setT60</a>( StkFloat T60 );
00037 <a name="l00037"></a>00037
00039 StkFloat <a class="code" href="classPRCRev.html#a4">tick</a>(StkFloat input); <a name="l00038"></a>00038 <span class="keyword">protected</span>:
00040 <a name="l00039"></a>00039
00042 StkFloat *<a class="code" href="classPRCRev.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00040"></a>00040 StkFloat computeSample( StkFloat input );
00043 <a name="l00041"></a>00041
00045 <a name="l00042"></a>00042 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[2];
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 ); <a name="l00043"></a>00043 <a class="code" href="classDelay.html">Delay</a> combDelays_[2];
00052 <a name="l00044"></a>00044 StkFloat allpassCoefficient_;
00053 <span class="keyword">protected</span>: <a name="l00045"></a>00045 StkFloat combCoefficient_[2];
00054 <a class="code" href="classDelay.html">Delay</a> allpassDelays_[2]; <a name="l00046"></a>00046
00055 <a class="code" href="classDelay.html">Delay</a> combDelays_[2]; <a name="l00047"></a>00047 };
00056 StkFloat allpassCoefficient_; <a name="l00048"></a>00048
00057 StkFloat combCoefficient_[2]; <a name="l00049"></a>00049 <span class="preprocessor">#endif</span>
00058 <a name="l00050"></a>00050 <span class="preprocessor"></span>
00059 };
00060
00061 <span class="preprocessor">#endif</span>
00062 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,41 +8,40 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>PercFlut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00027 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00028 <h1>PercFlut.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00029 <span class="preprocessor">#ifndef STK_PERCFLUT_H</span> <a name="l00027"></a>00027 <span class="comment">/***************************************************/</span>
00030 <span class="preprocessor"></span><span class="preprocessor">#define STK_PERCFLUT_H</span> <a name="l00028"></a>00028
00031 <span class="preprocessor"></span> <a name="l00029"></a>00029 <span class="preprocessor">#ifndef STK_PERCFLUT_H</span>
00032 <span class="preprocessor">#include "FM.h"</span> <a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define STK_PERCFLUT_H</span>
00033 <a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "FM.h"</span>
<a name="l00033"></a>00033
<a name="l00034"></a><a class="code" href="classPercFlut.html">00034</a> <span class="keyword">class </span><a class="code" href="classPercFlut.html">PercFlut</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <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 { <a name="l00035"></a>00035 {
00036 <span class="keyword">public</span>: <a name="l00036"></a>00036 <span class="keyword">public</span>:
00038 <a name="l00038"></a>00038
00041 <a class="code" href="classPercFlut.html#a0">PercFlut</a>(); <a name="l00041"></a>00041 <a class="code" href="classPercFlut.html#a0">PercFlut</a>();
00042 <a name="l00042"></a>00042
00044 <a class="code" href="classPercFlut.html#a1">~PercFlut</a>(); <a name="l00044"></a>00044 <a class="code" href="classPercFlut.html#a1">~PercFlut</a>();
00045 <a name="l00045"></a>00045
00047 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a2">setFrequency</a>(StkFloat frequency); <a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a2">setFrequency</a>(StkFloat frequency);
00048 <a name="l00048"></a>00048
00050 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classPercFlut.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00051 <a name="l00051"></a>00051
00053 StkFloat <a class="code" href="classPercFlut.html#a4">tick</a>(); <a name="l00052"></a>00052 <span class="keyword">protected</span>:
00054 <a name="l00053"></a>00053
00056 StkFloat *<a class="code" href="classPercFlut.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); <a name="l00054"></a>00054 StkFloat computeSample( <span class="keywordtype">void</span> );
00057 <a name="l00055"></a>00055 };
00059 <a name="l00056"></a>00056
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 ); <a name="l00057"></a>00057 <span class="preprocessor">#endif</span>
00066 };
00067
00068 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,47 +8,49 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Phonemes.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00011 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00012 <h1>Phonemes.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00013 <span class="preprocessor">#ifndef STK_PHONEMES_H</span> <a name="l00011"></a>00011 <span class="comment">/***************************************************/</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_PHONEMES_H</span> <a name="l00012"></a>00012
00015 <span class="preprocessor"></span> <a name="l00013"></a>00013 <span class="preprocessor">#ifndef STK_PHONEMES_H</span>
00016 <span class="preprocessor">#include "Stk.h"</span> <a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_PHONEMES_H</span>
00017 <a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classPhonemes.html">00018</a> <span class="keyword">class </span><a class="code" href="classPhonemes.html">Phonemes</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <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 { <a name="l00019"></a>00019 {
00020 <span class="keyword">public</span>: <a name="l00020"></a>00020 <span class="keyword">public</span>:
00021 <a name="l00021"></a>00021
00022 <a class="code" href="classPhonemes.html">Phonemes</a>(<span class="keywordtype">void</span>); <a name="l00022"></a>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>); <a name="l00023"></a>00023 ~<a class="code" href="classPhonemes.html">Phonemes</a>(<span class="keywordtype">void</span>);
00024 <a name="l00024"></a>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 ); <a name="l00026"></a>00026 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classPhonemes.html#e0">name</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
00027 <a name="l00027"></a>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 ); <a name="l00029"></a>00029 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e1">voiceGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
00030 <a name="l00030"></a>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 ); <a name="l00032"></a>00032 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e2">noiseGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index );
00033 <a name="l00033"></a>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 ); <a name="l00035"></a>00035 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e3">formantFrequency</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
00036 <a name="l00036"></a>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 ); <a name="l00038"></a>00038 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e4">formantRadius</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
00039 <a name="l00039"></a>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 ); <a name="l00041"></a>00041 <span class="keyword">static</span> StkFloat <a class="code" href="classPhonemes.html#e5">formantGain</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> partial );
00042 <a name="l00042"></a>00042
00043 <span class="keyword">private</span>: <a name="l00043"></a>00043 <span class="keyword">private</span>:
00044 <a name="l00044"></a>00044
00045 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> phonemeNames[][4]; <a name="l00045"></a>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]; <a name="l00046"></a>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]; <a name="l00047"></a>00047 <span class="keyword">static</span> <span class="keyword">const</span> StkFloat phonemeParameters[][4][3];
00048 }; <a name="l00048"></a>00048 };
00049 <a name="l00049"></a>00049
00050 <span class="preprocessor">#endif</span> <a name="l00050"></a>00050 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,51 +8,49 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>PitShift.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00010 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00011 <h1>PitShift.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00012 <span class="preprocessor">#ifndef STK_PITSHIFT_H</span> <a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_PITSHIFT_H</span> <a name="l00011"></a>00011
00014 <span class="preprocessor"></span> <a name="l00012"></a>00012 <span class="preprocessor">#ifndef STK_PITSHIFT_H</span>
00015 <span class="preprocessor">#include "Effect.h"</span> <a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_PITSHIFT_H</span>
00016 <span class="preprocessor">#include "DelayL.h"</span> <a name="l00014"></a>00014 <span class="preprocessor"></span>
00017 <a name="l00015"></a>00015 <span class="preprocessor">#include "Effect.h"</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "DelayL.h"</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classPitShift.html">00018</a> <span class="keyword">class </span><a class="code" href="classPitShift.html">PitShift</a> : <span class="keyword">public</span> <a class="code" href="classEffect.html">Effect</a> <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 { <a name="l00019"></a>00019 {
00020 <span class="keyword">public</span>: <a name="l00020"></a>00020 <span class="keyword">public</span>:
00022 <a class="code" href="classPitShift.html#a0">PitShift</a>(); <a name="l00022"></a>00022 <a class="code" href="classPitShift.html#a0">PitShift</a>();
00023 <a name="l00023"></a>00023
00025 <a class="code" href="classPitShift.html#a1">~PitShift</a>(); <a name="l00025"></a>00025 <a class="code" href="classPitShift.html#a1">~PitShift</a>();
00026 <a name="l00026"></a>00026
00028 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a2">clear</a>(); <a name="l00028"></a>00028 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a2">clear</a>();
00029 <a name="l00029"></a>00029
00031 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a3">setShift</a>(StkFloat shift); <a name="l00031"></a>00031 <span class="keywordtype">void</span> <a class="code" href="classPitShift.html#a3">setShift</a>(StkFloat shift);
00032 <a name="l00032"></a>00032
00034 StkFloat <a class="code" href="classPitShift.html#a4">tick</a>(StkFloat input); <a name="l00033"></a>00033 <span class="keyword">protected</span>:
00035 <a name="l00034"></a>00034
00037 StkFloat *<a class="code" href="classPitShift.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00035"></a>00035 StkFloat computeSample( StkFloat input );
00038 <a name="l00036"></a>00036
00040 <a name="l00037"></a>00037 <a class="code" href="classDelayL.html">DelayL</a> delayLine_[2];
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 ); <a name="l00038"></a>00038 StkFloat delay_[2];
00047 <a name="l00039"></a>00039 StkFloat env_[2];
00048 <span class="keyword">protected</span>: <a name="l00040"></a>00040 StkFloat rate_;
00049 <a class="code" href="classDelayL.html">DelayL</a> delayLine_[2]; <a name="l00041"></a>00041 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delayLength;
00050 StkFloat delay_[2]; <a name="l00042"></a>00042 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> halfLength;
00051 StkFloat env_[2]; <a name="l00043"></a>00043
00052 StkFloat rate_; <a name="l00044"></a>00044 };
00053 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> delayLength; <a name="l00045"></a>00045
00054 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> halfLength; <a name="l00046"></a>00046 <span class="preprocessor">#endif</span>
00055 <a name="l00047"></a>00047 <span class="preprocessor"></span>
00056 };
00057
00058 <span class="preprocessor">#endif</span>
00059 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,71 +8,69 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>PluckTwo.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00019 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00020 <h1>PluckTwo.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00021 <span class="preprocessor">#ifndef STK_PLUCKTWO_H</span> <a name="l00019"></a>00019 <span class="comment">/***************************************************/</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_PLUCKTWO_H</span> <a name="l00020"></a>00020
00023 <span class="preprocessor"></span> <a name="l00021"></a>00021 <span class="preprocessor">#ifndef STK_PLUCKTWO_H</span>
00024 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_PLUCKTWO_H</span>
00025 <span class="preprocessor">#include "DelayL.h"</span> <a name="l00023"></a>00023 <span class="preprocessor"></span>
00026 <span class="preprocessor">#include "DelayA.h"</span> <a name="l00024"></a>00024 <span class="preprocessor">#include "Instrmnt.h"</span>
00027 <span class="preprocessor">#include "OneZero.h"</span> <a name="l00025"></a>00025 <span class="preprocessor">#include "DelayL.h"</span>
00028 <a name="l00026"></a>00026 <span class="preprocessor">#include "DelayA.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "OneZero.h"</span>
<a name="l00028"></a>00028
<a name="l00029"></a><a class="code" href="classPluckTwo.html">00029</a> <span class="keyword">class </span><a class="code" href="classPluckTwo.html">PluckTwo</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00030"></a>00030 {
00031 <span class="keyword">public</span>: <a name="l00031"></a>00031 <span class="keyword">public</span>:
00033 <a class="code" href="classPluckTwo.html#a0">PluckTwo</a>(StkFloat lowestFrequency); <a name="l00033"></a>00033 <a class="code" href="classPluckTwo.html#a0">PluckTwo</a>(StkFloat lowestFrequency);
00034 <a name="l00034"></a>00034
00036 <span class="keyword">virtual</span> <a class="code" href="classPluckTwo.html#a1">~PluckTwo</a>(); <a name="l00036"></a>00036 <span class="keyword">virtual</span> <a class="code" href="classPluckTwo.html#a1">~PluckTwo</a>();
00037 <a name="l00037"></a>00037
00039 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a2">clear</a>(); <a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a2">clear</a>();
00040 <a name="l00040"></a>00040
00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a3">setFrequency</a>(StkFloat frequency); <a name="l00042"></a>00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a3">setFrequency</a>(StkFloat frequency);
00043 <a name="l00043"></a>00043
00045 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a4">setDetune</a>(StkFloat detune); <a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a4">setDetune</a>(StkFloat detune);
00046 <a name="l00046"></a>00046
00048 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a5">setFreqAndDetune</a>(StkFloat frequency, StkFloat detune); <a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a5">setFreqAndDetune</a>(StkFloat frequency, StkFloat detune);
00049 <a name="l00049"></a>00049
00051 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a6">setPluckPosition</a>(StkFloat position); <a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a6">setPluckPosition</a>(StkFloat position);
00052 <a name="l00052"></a>00052
00054 <a name="l00054"></a>00054
00059 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a7">setBaseLoopGain</a>(StkFloat aGain); <a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a7">setBaseLoopGain</a>(StkFloat aGain);
00060 <a name="l00060"></a>00060
00062 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a8">noteOff</a>(StkFloat amplitude); <a name="l00062"></a>00062 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPluckTwo.html#a8">noteOff</a>(StkFloat amplitude);
00063 <a name="l00063"></a>00063
00065 <span class="keyword">virtual</span> StkFloat <a class="code" href="classPluckTwo.html#a9">tick</a>() = 0; <a name="l00064"></a>00064 <span class="keyword">protected</span>:
00066 <a name="l00065"></a>00065
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; <a name="l00066"></a>00066 <span class="keyword">virtual</span> StkFloat computeSample( <span class="keywordtype">void</span> ) = 0;
00069 <a name="l00067"></a>00067
00071 <a name="l00068"></a>00068 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
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; <a name="l00069"></a>00069 <a class="code" href="classDelayA.html">DelayA</a> delayLine2_;
00078 <a name="l00070"></a>00070 <a class="code" href="classDelayL.html">DelayL</a> combDelay_;
00079 <span class="keyword">protected</span>: <a name="l00071"></a>00071 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00080 <a class="code" href="classDelayA.html">DelayA</a> delayLine_; <a name="l00072"></a>00072 <a class="code" href="classOneZero.html">OneZero</a> filter2_;
00081 <a class="code" href="classDelayA.html">DelayA</a> delayLine2_; <a name="l00073"></a>00073
00082 <a class="code" href="classDelayL.html">DelayL</a> combDelay_; <a name="l00074"></a>00074 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00083 <a class="code" href="classOneZero.html">OneZero</a> filter_; <a name="l00075"></a>00075 StkFloat loopGain_;
00084 <a class="code" href="classOneZero.html">OneZero</a> filter2_; <a name="l00076"></a>00076 StkFloat baseLoopGain_;
00085 <a name="l00077"></a>00077 StkFloat lastFrequency_;
00086 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_; <a name="l00078"></a>00078 StkFloat lastLength_;
00087 StkFloat loopGain_; <a name="l00079"></a>00079 StkFloat detuning_;
00088 StkFloat baseLoopGain_; <a name="l00080"></a>00080 StkFloat pluckAmplitude_;
00089 StkFloat lastFrequency_; <a name="l00081"></a>00081 StkFloat pluckPosition_;
00090 StkFloat lastLength_; <a name="l00082"></a>00082
00091 StkFloat detuning_; <a name="l00083"></a>00083 };
00092 StkFloat pluckAmplitude_; <a name="l00084"></a>00084
00093 StkFloat pluckPosition_; <a name="l00085"></a>00085 <span class="preprocessor">#endif</span>
00094
00095 };
00096
00097 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,60 +8,58 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Plucked.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00018 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00019 <h1>Plucked.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00020 <span class="preprocessor">#ifndef STK_PLUCKED_H</span> <a name="l00018"></a>00018 <span class="comment">/***************************************************/</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_PLUCKED_H</span> <a name="l00019"></a>00019
00022 <span class="preprocessor"></span> <a name="l00020"></a>00020 <span class="preprocessor">#ifndef STK_PLUCKED_H</span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_PLUCKED_H</span>
00024 <span class="preprocessor">#include "DelayA.h"</span> <a name="l00022"></a>00022 <span class="preprocessor"></span>
00025 <span class="preprocessor">#include "OneZero.h"</span> <a name="l00023"></a>00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00026 <span class="preprocessor">#include "OnePole.h"</span> <a name="l00024"></a>00024 <span class="preprocessor">#include "DelayA.h"</span>
00027 <span class="preprocessor">#include "Noise.h"</span> <a name="l00025"></a>00025 <span class="preprocessor">#include "OneZero.h"</span>
00028 <a name="l00026"></a>00026 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00028"></a>00028
<a name="l00029"></a><a class="code" href="classPlucked.html">00029</a> <span class="keyword">class </span><a class="code" href="classPlucked.html">Plucked</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00030"></a>00030 {
00031 <span class="keyword">public</span>: <a name="l00031"></a>00031 <span class="keyword">public</span>:
00033 <a class="code" href="classPlucked.html#a0">Plucked</a>(StkFloat lowestFrequency); <a name="l00033"></a>00033 <a class="code" href="classPlucked.html#a0">Plucked</a>(StkFloat lowestFrequency);
00034 <a name="l00034"></a>00034
00036 <a class="code" href="classPlucked.html#a1">~Plucked</a>(); <a name="l00036"></a>00036 <a class="code" href="classPlucked.html#a1">~Plucked</a>();
00037 <a name="l00037"></a>00037
00039 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a2">clear</a>(); <a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a2">clear</a>();
00040 <a name="l00040"></a>00040
00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a3">setFrequency</a>(StkFloat frequency); <a name="l00042"></a>00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a3">setFrequency</a>(StkFloat frequency);
00043 <a name="l00043"></a>00043
00045 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a4">pluck</a>(StkFloat amplitude); <a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a4">pluck</a>(StkFloat amplitude);
00046 <a name="l00046"></a>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); <a name="l00048"></a>00048 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a5">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00049 <a name="l00049"></a>00049
00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a6">noteOff</a>(StkFloat amplitude); <a name="l00051"></a>00051 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlucked.html#a6">noteOff</a>(StkFloat amplitude);
00052 <a name="l00052"></a>00052
00054 <span class="keyword">virtual</span> StkFloat <a class="code" href="classPlucked.html#a7">tick</a>(); <a name="l00053"></a>00053 <span class="keyword">protected</span>:
00055 <a name="l00054"></a>00054
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); <a name="l00055"></a>00055 StkFloat computeSample( <span class="keywordtype">void</span> );
00058 <a name="l00056"></a>00056
00060 <a name="l00057"></a>00057 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
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 ); <a name="l00058"></a>00058 <a class="code" href="classOneZero.html">OneZero</a> loopFilter_;
00067 <a name="l00059"></a>00059 <a class="code" href="classOnePole.html">OnePole</a> pickFilter_;
00068 <span class="keyword">protected</span>: <a name="l00060"></a>00060 <a class="code" href="classNoise.html">Noise</a> noise_;
00069 <a class="code" href="classDelayA.html">DelayA</a> delayLine_; <a name="l00061"></a>00061 StkFloat loopGain_;
00070 <a class="code" href="classOneZero.html">OneZero</a> loopFilter_; <a name="l00062"></a>00062 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00071 <a class="code" href="classOnePole.html">OnePole</a> pickFilter_; <a name="l00063"></a>00063
00072 <a class="code" href="classNoise.html">Noise</a> noise_; <a name="l00064"></a>00064 };
00073 StkFloat loopGain_; <a name="l00065"></a>00065
00074 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_; <a name="l00066"></a>00066 <span class="preprocessor">#endif</span>
00075 <a name="l00067"></a>00067 <span class="preprocessor"></span>
00076 };
00077
00078 <span class="preprocessor">#endif</span>
00079 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,59 +8,59 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>PoleZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00013 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00014 <h1>PoleZero.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00015 <span class="preprocessor">#ifndef STK_POLEZERO_H</span> <a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_POLEZERO_H</span> <a name="l00014"></a>00014
00017 <span class="preprocessor"></span> <a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_POLEZERO_H</span>
00018 <span class="preprocessor">#include "Filter.h"</span> <a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_POLEZERO_H</span>
00019 <a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "Filter.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classPoleZero.html">00020</a> <span class="keyword">class </span><a class="code" href="classPoleZero.html">PoleZero</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a> <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 { <a name="l00021"></a>00021 {
00022 <span class="keyword">public</span>: <a name="l00022"></a>00022 <span class="keyword">public</span>:
00023 <a name="l00023"></a>00023
00025 <a class="code" href="classPoleZero.html#a0">PoleZero</a>(); <a name="l00025"></a>00025 <a class="code" href="classPoleZero.html#a0">PoleZero</a>();
00026 <a name="l00026"></a>00026
00028 <a class="code" href="classPoleZero.html#a1">~PoleZero</a>(); <a name="l00028"></a>00028 <a class="code" href="classPoleZero.html#a1">~PoleZero</a>();
00029 <a name="l00029"></a>00029
00031 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a2">clear</a>(<span class="keywordtype">void</span>); <a name="l00031"></a>00031 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a2">clear</a>(<span class="keywordtype">void</span>);
00032 <a name="l00032"></a>00032
00034 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a3">setB0</a>(StkFloat b0); <a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a3">setB0</a>(StkFloat b0);
00035 <a name="l00035"></a>00035
00037 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a4">setB1</a>(StkFloat b1); <a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a4">setB1</a>(StkFloat b1);
00038 <a name="l00038"></a>00038
00040 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a5">setA1</a>(StkFloat a1); <a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a5">setA1</a>(StkFloat a1);
00041 <a name="l00041"></a>00041
00043 <a name="l00043"></a>00043
00048 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a6">setAllpass</a>(StkFloat coefficient); <a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a6">setAllpass</a>(StkFloat coefficient);
00049 <a name="l00049"></a>00049
00051 <a name="l00051"></a>00051
00057 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a7">setBlockZero</a>(StkFloat thePole = 0.99); <a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a7">setBlockZero</a>(StkFloat thePole = 0.99);
00058 <a name="l00058"></a>00058
00060 <a name="l00060"></a>00060
00064 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a8">setGain</a>(StkFloat gain); <a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classPoleZero.html#a8">setGain</a>( StkFloat gain );
00065 <a name="l00065"></a>00065
00067 StkFloat <a class="code" href="classPoleZero.html#a9">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00067"></a>00067 StkFloat <a class="code" href="classPoleZero.html#a9">getGain</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00068 <a name="l00068"></a>00068
00070 StkFloat <a class="code" href="classPoleZero.html#a10">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00070"></a>00070 StkFloat <a class="code" href="classPoleZero.html#a10">lastOut</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00071 <a name="l00071"></a>00071
00073 StkFloat <a class="code" href="classPoleZero.html#a11">tick</a>(StkFloat sample); <a name="l00073"></a>00073 StkFloat <a class="code" href="classPoleZero.html#a11">tick</a>( StkFloat sample );
00074 <a name="l00074"></a>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); <a name="l00076"></a>00076
00077 <a name="l00082"></a>00082 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classPoleZero.html#a11">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
00079 <a name="l00083"></a>00083
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 ); <a name="l00084"></a>00084 };
00086 <a name="l00085"></a>00085
00087 }; <a name="l00086"></a>00086 <span class="preprocessor">#endif</span>
00088
00089 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,48 +8,45 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>ReedTable.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00018 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00019 <h1>ReedTable.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00020 <span class="preprocessor">#ifndef STK_REEDTABLE_H</span> <a name="l00018"></a>00018 <span class="comment">/***************************************************/</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_REEDTABLE_H</span> <a name="l00019"></a>00019
00022 <span class="preprocessor"></span> <a name="l00020"></a>00020 <span class="preprocessor">#ifndef STK_REEDTABLE_H</span>
00023 <span class="preprocessor">#include "Function.h"</span> <a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_REEDTABLE_H</span>
00024 <a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "Function.h"</span>
<a name="l00024"></a>00024
<a name="l00025"></a><a class="code" href="classReedTable.html">00025</a> <span class="keyword">class </span><a class="code" href="classReedTable.html">ReedTable</a> : <span class="keyword">public</span> <a class="code" href="classFunction.html">Function</a> <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 { <a name="l00026"></a>00026 {
00027 <span class="keyword">public</span>: <a name="l00027"></a>00027 <span class="keyword">public</span>:
00029 <a class="code" href="classReedTable.html#a0">ReedTable</a>(); <a name="l00029"></a>00029 <a class="code" href="classReedTable.html#a0">ReedTable</a>();
00030 <a name="l00030"></a>00030
00032 <a class="code" href="classReedTable.html#a1">~ReedTable</a>(); <a name="l00032"></a>00032 <a class="code" href="classReedTable.html#a1">~ReedTable</a>();
00033 <a name="l00033"></a>00033
00035 <a name="l00035"></a>00035
00040 <span class="keywordtype">void</span> <a class="code" href="classReedTable.html#a2">setOffset</a>(StkFloat offset); <a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classReedTable.html#a2">setOffset</a>(StkFloat offset);
00041 <a name="l00041"></a>00041
00043 <a name="l00043"></a>00043
00048 <span class="keywordtype">void</span> <a class="code" href="classReedTable.html#a3">setSlope</a>(StkFloat slope); <a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classReedTable.html#a3">setSlope</a>(StkFloat slope);
00049 <a name="l00049"></a>00049
00051 <a name="l00050"></a>00050 <span class="keyword">protected</span>:
00055 StkFloat <a class="code" href="classReedTable.html#a4">tick</a>(StkFloat input); <a name="l00051"></a>00051
00056 <a name="l00052"></a>00052 StkFloat computeSample( StkFloat input );
00058 StkFloat *<a class="code" href="classReedTable.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00053"></a>00053
00059 <a name="l00054"></a>00054 StkFloat offset_;
00061 <a name="l00055"></a>00055 StkFloat slope_;
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 ); <a name="l00056"></a>00056
00068 <a name="l00057"></a>00057 };
00069 <span class="keyword">protected</span>: <a name="l00058"></a>00058
00070 StkFloat offset_; <a name="l00059"></a>00059 <span class="preprocessor">#endif</span>
00071 StkFloat slope_;
00072
00073 };
00074
00075 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,67 +8,65 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Resonate.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00018 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00019 <h1>Resonate.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00020 <span class="preprocessor">#ifndef STK_RESONATE_H</span> <a name="l00018"></a>00018 <span class="comment">/***************************************************/</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_RESONATE_H</span> <a name="l00019"></a>00019
00022 <span class="preprocessor"></span> <a name="l00020"></a>00020 <span class="preprocessor">#ifndef STK_RESONATE_H</span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_RESONATE_H</span>
00024 <span class="preprocessor">#include "ADSR.h"</span> <a name="l00022"></a>00022 <span class="preprocessor"></span>
00025 <span class="preprocessor">#include "BiQuad.h"</span> <a name="l00023"></a>00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00026 <span class="preprocessor">#include "Noise.h"</span> <a name="l00024"></a>00024 <span class="preprocessor">#include "ADSR.h"</span>
00027 <a name="l00025"></a>00025 <span class="preprocessor">#include "BiQuad.h"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00027"></a>00027
<a name="l00028"></a><a class="code" href="classResonate.html">00028</a> <span class="keyword">class </span><a class="code" href="classResonate.html">Resonate</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00029"></a>00029 {
00030 <span class="keyword">public</span>: <a name="l00030"></a>00030 <span class="keyword">public</span>:
00032 <a class="code" href="classResonate.html#a0">Resonate</a>(); <a name="l00032"></a>00032 <a class="code" href="classResonate.html#a0">Resonate</a>();
00033 <a name="l00033"></a>00033
00035 <a class="code" href="classResonate.html#a1">~Resonate</a>(); <a name="l00035"></a>00035 <a class="code" href="classResonate.html#a1">~Resonate</a>();
00036 <a name="l00036"></a>00036
00038 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a2">clear</a>(); <a name="l00038"></a>00038 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a2">clear</a>();
00039 <a name="l00039"></a>00039
00041 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a3">setResonance</a>(StkFloat frequency, StkFloat radius); <a name="l00041"></a>00041 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a3">setResonance</a>(StkFloat frequency, StkFloat radius);
00042 <a name="l00042"></a>00042
00044 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a4">setNotch</a>(StkFloat frequency, StkFloat radius); <a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a4">setNotch</a>(StkFloat frequency, StkFloat radius);
00045 <a name="l00045"></a>00045
00047 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a5">setEqualGainZeroes</a>(); <a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a5">setEqualGainZeroes</a>();
00048 <a name="l00048"></a>00048
00050 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a6">keyOn</a>(); <a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a6">keyOn</a>();
00051 <a name="l00051"></a>00051
00053 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a7">keyOff</a>(); <a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a7">keyOff</a>();
00054 <a name="l00054"></a>00054
00056 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00057 <a name="l00057"></a>00057
00059 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a9">noteOff</a>(StkFloat amplitude); <a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a9">noteOff</a>(StkFloat amplitude);
00060 <a name="l00060"></a>00060
00062 StkFloat <a class="code" href="classResonate.html#a10">tick</a>(); <a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00063 <a name="l00063"></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); <a name="l00064"></a>00064 <span class="keyword">protected</span>:
00066 <a name="l00065"></a>00065
00068 <a name="l00066"></a>00066 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00067"></a>00067
00075 <a name="l00068"></a>00068 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00077 <span class="keywordtype">void</span> <a class="code" href="classResonate.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00069"></a>00069 <a class="code" href="classBiQuad.html">BiQuad</a> filter_;
00078 <a name="l00070"></a>00070 <a class="code" href="classNoise.html">Noise</a> noise_;
00079 <span class="keyword">protected</span>: <a name="l00071"></a>00071 StkFloat poleFrequency_;
00080 <a class="code" href="classADSR.html">ADSR</a> adsr_; <a name="l00072"></a>00072 StkFloat poleRadius_;
00081 <a class="code" href="classBiQuad.html">BiQuad</a> filter_; <a name="l00073"></a>00073 StkFloat zeroFrequency_;
00082 <a class="code" href="classNoise.html">Noise</a> noise_; <a name="l00074"></a>00074 StkFloat zeroRadius_;
00083 StkFloat poleFrequency_; <a name="l00075"></a>00075
00084 StkFloat poleRadius_; <a name="l00076"></a>00076 };
00085 StkFloat zeroFrequency_; <a name="l00077"></a>00077
00086 StkFloat zeroRadius_; <a name="l00078"></a>00078 <span class="preprocessor">#endif</span>
00087
00088 };
00089
00090 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,41 +8,40 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Rhodey.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00031 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00032 <h1>Rhodey.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00033 <span class="preprocessor">#ifndef STK_RHODEY_H</span> <a name="l00031"></a>00031 <span class="comment">/***************************************************/</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_RHODEY_H</span> <a name="l00032"></a>00032
00035 <span class="preprocessor"></span> <a name="l00033"></a>00033 <span class="preprocessor">#ifndef STK_RHODEY_H</span>
00036 <span class="preprocessor">#include "FM.h"</span> <a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_RHODEY_H</span>
00037 <a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00036"></a>00036 <span class="preprocessor">#include "FM.h"</span>
<a name="l00037"></a>00037
<a name="l00038"></a><a class="code" href="classRhodey.html">00038</a> <span class="keyword">class </span><a class="code" href="classRhodey.html">Rhodey</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <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 { <a name="l00039"></a>00039 {
00040 <span class="keyword">public</span>: <a name="l00040"></a>00040 <span class="keyword">public</span>:
00042 <a name="l00042"></a>00042
00045 <a class="code" href="classRhodey.html#a0">Rhodey</a>(); <a name="l00045"></a>00045 <a class="code" href="classRhodey.html#a0">Rhodey</a>();
00046 <a name="l00046"></a>00046
00048 <a class="code" href="classRhodey.html#a1">~Rhodey</a>(); <a name="l00048"></a>00048 <a class="code" href="classRhodey.html#a1">~Rhodey</a>();
00049 <a name="l00049"></a>00049
00051 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a2">setFrequency</a>(StkFloat frequency); <a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a2">setFrequency</a>(StkFloat frequency);
00052 <a name="l00052"></a>00052
00054 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classRhodey.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00055 <a name="l00055"></a>00055
00057 StkFloat <a class="code" href="classRhodey.html#a4">tick</a>(); <a name="l00056"></a>00056 <span class="keyword">protected</span>:
00058 <a name="l00057"></a>00057
00060 StkFloat *<a class="code" href="classRhodey.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); <a name="l00058"></a>00058 StkFloat computeSample( <span class="keywordtype">void</span> );
00061 <a name="l00059"></a>00059 };
00063 <a name="l00060"></a>00060
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 ); <a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
00070 };
00071
00072 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

File diff suppressed because it is too large Load Diff

View File

@@ -8,67 +8,69 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>RtDuplex.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00029 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00030 <h1>RtDuplex.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00031 <span class="preprocessor">#ifndef STK_RTDUPLEX_H</span> <a name="l00029"></a>00029 <span class="comment">/***************************************************/</span>
00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTDUPLEX_H</span> <a name="l00030"></a>00030
00033 <span class="preprocessor"></span> <a name="l00031"></a>00031 <span class="preprocessor">#ifndef STK_RTDUPLEX_H</span>
00034 <span class="preprocessor">#include "Stk.h"</span> <a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTDUPLEX_H</span>
00035 <span class="preprocessor">#include "RtAudio.h"</span> <a name="l00033"></a>00033 <span class="preprocessor"></span>
00036 <a name="l00034"></a>00034 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include "RtAudio.h"</span>
<a name="l00036"></a>00036
<a name="l00037"></a><a class="code" href="classRtDuplex.html">00037</a> <span class="keyword">class </span><a class="code" href="classRtDuplex.html">RtDuplex</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <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 { <a name="l00038"></a>00038 {
00039 <span class="keyword">public</span>: <a name="l00039"></a>00039 <span class="keyword">public</span>:
00041 <a name="l00041"></a>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); <a name="l00052"></a>00052 <a class="code" href="classRtDuplex.html#a0">RtDuplex</a>(<span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(), <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 2);
00053 <a name="l00053"></a>00053
00055 <a class="code" href="classRtDuplex.html#a1">~RtDuplex</a>(); <a name="l00055"></a>00055 <a class="code" href="classRtDuplex.html#a1">~RtDuplex</a>();
00056 <a name="l00056"></a>00056
00058 <a name="l00058"></a>00058
00061 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a2">start</a>(<span class="keywordtype">void</span>); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a2">start</a>(<span class="keywordtype">void</span>);
00062 <a name="l00062"></a>00062
00064 <a name="l00064"></a>00064
00067 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a3">stop</a>(<span class="keywordtype">void</span>); <a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classRtDuplex.html#a3">stop</a>(<span class="keywordtype">void</span>);
00068 <a name="l00068"></a>00068
00070 StkFloat <a class="code" href="classRtDuplex.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00070"></a>00070 StkFloat <a class="code" href="classRtDuplex.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00071 <a name="l00071"></a>00071
00073 <a name="l00073"></a>00073
00076 StkFloat <a class="code" href="classRtDuplex.html#a5">tick</a>(<span class="keyword">const</span> StkFloat sample); <a name="l00076"></a>00076 StkFloat <a class="code" href="classRtDuplex.html#a5">tick</a>(<span class="keyword">const</span> StkFloat sample);
00077 <a name="l00077"></a>00077
00079 <a name="l00079"></a>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); <a name="l00082"></a>00082 StkFloat *<a class="code" href="classRtDuplex.html#a5">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize);
00083 <a name="l00083"></a>00083
00085 <a name="l00085"></a>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 ); <a name="l00092"></a>00092 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtDuplex.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 1 );
00093 <a name="l00093"></a>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>; <a name="l00095"></a>00095 <span class="keyword">const</span> StkFloat *<a class="code" href="classRtDuplex.html#a8">lastFrame</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00096 <a name="l00096"></a>00096
00098 <a name="l00098"></a>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); <a name="l00101"></a>00101 StkFloat *<a class="code" href="classRtDuplex.html#a9">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames = 1);
00102 <a name="l00102"></a>00102
00104 <a name="l00104"></a>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 ); <a name="l00110"></a>00110 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classRtDuplex.html#a9">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00111 <a name="l00111"></a>00111
00112 <span class="keyword">protected</span>: <a name="l00112"></a>00112 <span class="keyword">protected</span>:
00113 <a name="l00113"></a>00113
00114 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_; <a name="l00114"></a>00114 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_;
00115 StkFloat *data_; <a name="l00115"></a>00115 StkFloat *data_;
00116 StkFloat *lastOutput_; <a name="l00116"></a>00116 StkFloat *lastOutput_;
00117 <span class="keywordtype">int</span> bufferSize_; <a name="l00117"></a>00117 <span class="keywordtype">int</span> bufferSize_;
00118 <span class="keywordtype">bool</span> stopped_; <a name="l00118"></a>00118 <span class="keywordtype">bool</span> stopped_;
00119 <span class="keywordtype">long</span> counter_; <a name="l00119"></a>00119 <span class="keywordtype">long</span> counter_;
00120 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_; <a name="l00120"></a>00120 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channels_;
00121 <a name="l00121"></a>00121
00122 }; <a name="l00122"></a>00122 };
00123 <a name="l00123"></a>00123
00124 <span class="preprocessor">#endif</span> <a name="l00124"></a>00124 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,57 +8,59 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>RtError.h</h1><div class="fragment"><pre>00001 <span class="comment">/************************************************************************/</span> <div class="nav">
00010 <span class="comment">/************************************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00011 <h1>RtError.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/************************************************************************/</span>
00012 <span class="preprocessor">#ifndef RTERROR_H</span> <a name="l00010"></a>00010 <span class="comment">/************************************************************************/</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define RTERROR_H</span> <a name="l00011"></a>00011
00014 <span class="preprocessor"></span> <a name="l00012"></a>00012 <span class="preprocessor">#ifndef RTERROR_H</span>
00015 <span class="preprocessor">#include &lt;iostream&gt;</span> <a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define RTERROR_H</span>
00016 <span class="preprocessor">#include &lt;string&gt;</span> <a name="l00014"></a>00014 <span class="preprocessor"></span>
00017 <a name="l00015"></a>00015 <span class="preprocessor">#include &lt;iostream&gt;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classRtError.html">00018</a> <span class="keyword">class </span><a class="code" href="classRtError.html">RtError</a> <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 { <a name="l00019"></a>00019 {
00020 <span class="keyword">public</span>: <a name="l00020"></a>00020 <span class="keyword">public</span>:
<a name="l00022"></a><a class="code" href="classRtError.html#w11">00022</a> <span class="keyword">enum</span> <a class="code" href="classRtError.html#w11">Type</a> { <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>, <a name="l00023"></a>00023 <a class="code" href="classRtError.html#w11w0">WARNING</a>,
00024 <a class="code" href="classRtError.html#w11w1">DEBUG_WARNING</a>, <a name="l00024"></a>00024 <a class="code" href="classRtError.html#w11w1">DEBUG_WARNING</a>,
00025 <a class="code" href="classRtError.html#w11w2">UNSPECIFIED</a>, <a name="l00025"></a>00025 <a class="code" href="classRtError.html#w11w2">UNSPECIFIED</a>,
00026 <a class="code" href="classRtError.html#w11w3">NO_DEVICES_FOUND</a>, <a name="l00026"></a>00026 <a class="code" href="classRtError.html#w11w3">NO_DEVICES_FOUND</a>,
00027 <a class="code" href="classRtError.html#w11w4">INVALID_DEVICE</a>, <a name="l00027"></a>00027 <a class="code" href="classRtError.html#w11w4">INVALID_DEVICE</a>,
00028 <a class="code" href="classRtError.html#w11w5">INVALID_STREAM</a>, <a name="l00028"></a>00028 <a class="code" href="classRtError.html#w11w5">INVALID_STREAM</a>,
00029 <a class="code" href="classRtError.html#w11w6">MEMORY_ERROR</a>, <a name="l00029"></a>00029 <a class="code" href="classRtError.html#w11w6">MEMORY_ERROR</a>,
00030 <a class="code" href="classRtError.html#w11w7">INVALID_PARAMETER</a>, <a name="l00030"></a>00030 <a class="code" href="classRtError.html#w11w7">INVALID_PARAMETER</a>,
00031 <a class="code" href="classRtError.html#w11w8">DRIVER_ERROR</a>, <a name="l00031"></a>00031 <a class="code" href="classRtError.html#w11w8">DRIVER_ERROR</a>,
00032 <a class="code" href="classRtError.html#w11w9">SYSTEM_ERROR</a>, <a name="l00032"></a>00032 <a class="code" href="classRtError.html#w11w9">SYSTEM_ERROR</a>,
00033 <a class="code" href="classRtError.html#w11w10">THREAD_ERROR</a> <a name="l00033"></a><a class="code" href="classRtError.html#w11w10">00033</a> <a class="code" href="classRtError.html#w11w10">THREAD_ERROR</a>
00034 }; <a name="l00034"></a>00034 };
00035 <a name="l00035"></a>00035
00036 <span class="keyword">protected</span>: <a name="l00036"></a>00036 <span class="keyword">protected</span>:
00037 std::string message_; <a name="l00037"></a>00037 std::string message_;
00038 <a class="code" href="classRtError.html#w11">Type</a> type_; <a name="l00038"></a>00038 <a class="code" href="classRtError.html#w11">Type</a> type_;
00039 <a name="l00039"></a>00039
00040 <span class="keyword">public</span>: <a name="l00040"></a>00040 <span class="keyword">public</span>:
<a name="l00042"></a><a class="code" href="classRtError.html#a0">00042</a> <a class="code" href="classRtError.html#a0">RtError</a>(<span class="keyword">const</span> std::string&amp; message, Type type = RtError::UNSPECIFIED) : message_(message), type_(type) {} <a name="l00042"></a><a class="code" href="classRtError.html#a0">00042</a> <a class="code" href="classRtError.html#a0">RtError</a>(<span class="keyword">const</span> std::string&amp; message, <a class="code" href="classRtError.html#w11">Type</a> type = <a class="code" href="classRtError.html#w11w2">RtError::UNSPECIFIED</a>) : message_(message), type_(type) {}
00043 <a name="l00043"></a>00043
<a name="l00045"></a><a class="code" href="classRtError.html#a1">00045</a> <span class="keyword">virtual</span> <a class="code" href="classRtError.html#a1">~RtError</a>(<span class="keywordtype">void</span>) {}; <a name="l00045"></a><a class="code" href="classRtError.html#a1">00045</a> <span class="keyword">virtual</span> <a class="code" href="classRtError.html#a1">~RtError</a>(<span class="keywordtype">void</span>) {};
00046 <a name="l00046"></a>00046
<a name="l00048"></a><a class="code" href="classRtError.html#a2">00048</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRtError.html#a2">printMessage</a>(<span class="keywordtype">void</span>) { std::cerr &lt;&lt; <span class="charliteral">'\n'</span> &lt;&lt; message_ &lt;&lt; <span class="stringliteral">"\n\n"</span>; } <a name="l00048"></a><a class="code" href="classRtError.html#a2">00048</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRtError.html#a2">printMessage</a>(<span class="keywordtype">void</span>) { std::cerr &lt;&lt; <span class="charliteral">'\n'</span> &lt;&lt; message_ &lt;&lt; <span class="stringliteral">"\n\n"</span>; }
00049 <a name="l00049"></a>00049
<a name="l00051"></a><a class="code" href="classRtError.html#a3">00051</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classRtError.html#w11">Type</a>&amp; <a class="code" href="classRtError.html#a3">getType</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> type_; } <a name="l00051"></a><a class="code" href="classRtError.html#a3">00051</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classRtError.html#w11">Type</a>&amp; <a class="code" href="classRtError.html#a3">getType</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> type_; }
00052 <a name="l00052"></a>00052
<a name="l00054"></a><a class="code" href="classRtError.html#a4">00054</a> <span class="keyword">virtual</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classRtError.html#a4">getMessage</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_; } <a name="l00054"></a><a class="code" href="classRtError.html#a4">00054</a> <span class="keyword">virtual</span> <span class="keyword">const</span> std::string&amp; <a class="code" href="classRtError.html#a4">getMessage</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_; }
00055 <a name="l00055"></a>00055
<a name="l00057"></a><a class="code" href="classRtError.html#a5">00057</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classRtError.html#a5">getMessageString</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> message_.c_str(); } <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 }; <a name="l00058"></a>00058 };
00059 <a name="l00059"></a>00059
00060 <span class="preprocessor">#endif</span> <a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

@@ -8,66 +8,51 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>RtWvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00024 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00025 <h1>RtWvIn.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00026 <span class="preprocessor">#ifndef STK_RTWVIN_H</span> <a name="l00019"></a>00019 <span class="comment">/***************************************************/</span>
00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTWVIN_H</span> <a name="l00020"></a>00020
00028 <span class="preprocessor"></span> <a name="l00021"></a>00021 <span class="preprocessor">#ifndef STK_RTWVIN_H</span>
00029 <span class="preprocessor">#include "WvIn.h"</span> <a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTWVIN_H</span>
00030 <span class="preprocessor">#include "RtAudio.h"</span> <a name="l00023"></a>00023 <span class="preprocessor"></span>
00031 <a name="l00024"></a>00024 <span class="preprocessor">#include "WvIn.h"</span>
<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> <a name="l00025"></a>00025 <span class="preprocessor">#include "RtAudio.h"</span>
00033 { <a name="l00026"></a>00026
00034 <span class="keyword">public</span>: <a name="l00027"></a><a class="code" href="classRtWvIn.html">00027</a> <span class="keyword">class </span><a class="code" href="classRtWvIn.html">RtWvIn</a> : <span class="keyword">public</span> <a class="code" href="classWvIn.html">WvIn</a>
00036 <a name="l00028"></a>00028 {
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); <a name="l00029"></a>00029 <span class="keyword">public</span>:
00048 <a name="l00031"></a>00031
00050 <a class="code" href="classRtWvIn.html#a1">~RtWvIn</a>(); <a name="l00042"></a>00042 <a class="code" href="classRtWvIn.html#a0">RtWvIn</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(),
00051 <a name="l00043"></a>00043 <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 4 );
00053 <a name="l00044"></a>00044
00056 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a2">start</a>(<span class="keywordtype">void</span>); <a name="l00046"></a>00046 <a class="code" href="classRtWvIn.html#a1">~RtWvIn</a>();
00057 <a name="l00047"></a>00047
00059 <a name="l00049"></a>00049
00062 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a3">stop</a>(<span class="keywordtype">void</span>); <a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a2">start</a>( <span class="keywordtype">void</span> );
00063 <a name="l00054"></a>00054
00065 StkFloat <a class="code" href="classRtWvIn.html#a4">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00056"></a>00056
00066 <a name="l00060"></a>00060 <span class="keywordtype">void</span> <a class="code" href="classRtWvIn.html#a3">stop</a>( <span class="keywordtype">void</span> );
00068 <a name="l00061"></a>00061
00071 StkFloat <a class="code" href="classRtWvIn.html#a5">tick</a>(<span class="keywordtype">void</span>); <a name="l00062"></a>00062 <span class="keyword">protected</span>:
00072 <a name="l00063"></a>00063
00074 <a name="l00064"></a>00064 <span class="keywordtype">void</span> computeFrame( <span class="keywordtype">void</span> );
00077 StkFloat *<a class="code" href="classRtWvIn.html#a5">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); <a name="l00065"></a>00065
00078 <a name="l00066"></a>00066 <a class="code" href="classRtAudio.html">RtAudio</a> *adc_;
00080 <a name="l00067"></a>00067 StkFloat *buffer_;
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 ); <a name="l00068"></a>00068 <span class="keywordtype">bool</span> stopped_;
00087 <a name="l00069"></a>00069 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferFrames_;
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>; <a name="l00070"></a>00070 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferIndex_;
00090 <a name="l00071"></a>00071
00092 <a name="l00072"></a>00072 };
00095 <span class="keyword">const</span> StkFloat *<a class="code" href="classRtWvIn.html#a9">tickFrame</a>(<span class="keywordtype">void</span>); <a name="l00073"></a>00073
00096 <a name="l00074"></a>00074 <span class="preprocessor">#endif</span>
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> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,65 +8,58 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>RtWvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00023 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00024 <h1>RtWvOut.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00025 <span class="preprocessor">#ifndef STK_RTWVOUT_H</span> <a name="l00019"></a>00019 <span class="comment">/***************************************************/</span>
00026 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTWVOUT_H</span> <a name="l00020"></a>00020
00027 <span class="preprocessor"></span> <a name="l00021"></a>00021 <span class="preprocessor">#ifndef STK_RTWVOUT_H</span>
00028 <span class="preprocessor">#include "WvOut.h"</span> <a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_RTWVOUT_H</span>
00029 <span class="preprocessor">#include "RtAudio.h"</span> <a name="l00023"></a>00023 <span class="preprocessor"></span>
00030 <a name="l00024"></a>00024 <span class="preprocessor">#include "WvOut.h"</span>
<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> <a name="l00025"></a>00025 <span class="preprocessor">#include "RtAudio.h"</span>
00032 { <a name="l00026"></a>00026
00033 <span class="keyword">public</span>: <a name="l00027"></a><a class="code" href="classRtWvOut.html">00027</a> <span class="keyword">class </span><a class="code" href="classRtWvOut.html">RtWvOut</a> : <span class="keyword">public</span> <a class="code" href="classWvOut.html">WvOut</a>
00034 <a name="l00028"></a>00028 {
00036 <a name="l00029"></a>00029 <span class="keyword">public</span>:
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 ); <a name="l00030"></a>00030
00048 <a name="l00032"></a>00032
00050 <a class="code" href="classRtWvOut.html#a1">~RtWvOut</a>(); <a name="l00043"></a>00043 <a class="code" href="classRtWvOut.html#a0">RtWvOut</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels = 1, StkFloat <a class="code" href="classStk.html#e0">sampleRate</a> = <a class="code" href="classStk.html#e0">Stk::sampleRate</a>(),
00051 <a name="l00044"></a>00044 <span class="keywordtype">int</span> device = 0, <span class="keywordtype">int</span> bufferFrames = RT_BUFFER_SIZE, <span class="keywordtype">int</span> nBuffers = 4 );
00053 <a name="l00045"></a>00045
00056 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a2">start</a>(<span class="keywordtype">void</span>); <a name="l00047"></a>00047 <a class="code" href="classRtWvOut.html#a1">~RtWvOut</a>();
00057 <a name="l00048"></a>00048
00059 <a name="l00050"></a>00050
00062 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a3">stop</a>(<span class="keywordtype">void</span>); <a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a2">start</a>(<span class="keywordtype">void</span>);
00063 <a name="l00055"></a>00055
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>; <a name="l00057"></a>00057
00066 <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a3">stop</a>(<span class="keywordtype">void</span>);
00068 StkFloat <a class="code" href="classRtWvOut.html#a5">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>; <a name="l00062"></a>00062
00069 <a name="l00063"></a>00063 <span class="keyword">protected</span>:
00071 <a name="l00064"></a>00064
00074 <span class="keywordtype">void</span> <a class="code" href="classRtWvOut.html#a6">tick</a>( <span class="keyword">const</span> StkFloat sample ); <a name="l00065"></a>00065 <span class="keywordtype">void</span> computeSample( <span class="keyword">const</span> StkFloat sample );
00075 <a name="l00066"></a>00066
00077 <a name="l00067"></a>00067 <span class="keywordtype">void</span> computeFrames( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
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 ); <a name="l00068"></a>00068
00081 <a name="l00069"></a>00069 <span class="keywordtype">void</span> incrementFrame( <span class="keywordtype">void</span> );
00083 <a name="l00070"></a>00070
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 ); <a name="l00071"></a>00071 <a class="code" href="classRtAudio.html">RtAudio</a> *dac_;
00090 <a name="l00072"></a>00072 StkFloat *buffer_;
00092 <a name="l00073"></a>00073 <span class="keywordtype">bool</span> stopped_;
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 ); <a name="l00074"></a>00074 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nChannels_;
00096 <a name="l00075"></a>00075 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferIndex_;
00098 <a name="l00076"></a>00076 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> iBuffer_;
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 ); <a name="l00077"></a>00077 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> bufferFrames_;
00104 <a name="l00078"></a>00078
00105 <span class="keyword">protected</span>: <a name="l00079"></a>00079 };
00106 <a name="l00080"></a>00080
00107 <a class="code" href="classRtAudio.html">RtAudio</a> *audio_; <a name="l00081"></a>00081 <span class="preprocessor">#endif</span>
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> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

@@ -8,64 +8,61 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Sampler.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00010 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00011 <h1>Sampler.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00012 <span class="preprocessor">#ifndef STK_SAMPLER_H</span> <a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_SAMPLER_H</span> <a name="l00011"></a>00011
00014 <span class="preprocessor"></span> <a name="l00012"></a>00012 <span class="preprocessor">#ifndef STK_SAMPLER_H</span>
00015 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_SAMPLER_H</span>
00016 <span class="preprocessor">#include "ADSR.h"</span> <a name="l00014"></a>00014 <span class="preprocessor"></span>
00017 <span class="preprocessor">#include "WvIn.h"</span> <a name="l00015"></a>00015 <span class="preprocessor">#include "Instrmnt.h"</span>
00018 <span class="preprocessor">#include "WaveLoop.h"</span> <a name="l00016"></a>00016 <span class="preprocessor">#include "ADSR.h"</span>
00019 <span class="preprocessor">#include "OnePole.h"</span> <a name="l00017"></a>00017 <span class="preprocessor">#include "WaveLoop.h"</span>
00020 <a name="l00018"></a>00018 <span class="preprocessor">#include "OnePole.h"</span>
<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> <a name="l00019"></a>00019
00022 { <a name="l00020"></a><a class="code" href="classSampler.html">00020</a> <span class="keyword">class </span><a class="code" href="classSampler.html">Sampler</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a>
00023 <span class="keyword">public</span>: <a name="l00021"></a>00021 {
00025 <a class="code" href="classSampler.html#a0">Sampler</a>(); <a name="l00022"></a>00022 <span class="keyword">public</span>:
00026 <a name="l00024"></a>00024 <a class="code" href="classSampler.html#a0">Sampler</a>();
00028 <span class="keyword">virtual</span> <a class="code" href="classSampler.html#a1">~Sampler</a>(); <a name="l00025"></a>00025
00029 <a name="l00027"></a>00027 <span class="keyword">virtual</span> <a class="code" href="classSampler.html#a1">~Sampler</a>();
00031 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a2">clear</a>(); <a name="l00028"></a>00028
00032 <a name="l00030"></a>00030 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a2">clear</a>();
00034 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a3">setFrequency</a>(StkFloat frequency) = 0; <a name="l00031"></a>00031
00035 <a name="l00033"></a>00033 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a3">setFrequency</a>(StkFloat frequency) = 0;
00037 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a4">keyOn</a>(); <a name="l00034"></a>00034
00038 <a name="l00036"></a>00036 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a4">keyOn</a>();
00040 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a5">keyOff</a>(); <a name="l00037"></a>00037
00041 <a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a5">keyOff</a>();
00043 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a6">noteOff</a>(StkFloat amplitude); <a name="l00040"></a>00040
00044 <a name="l00042"></a>00042 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a6">noteOff</a>(StkFloat amplitude);
00046 <span class="keyword">virtual</span> StkFloat <a class="code" href="classSampler.html#a7">tick</a>() = 0; <a name="l00043"></a>00043
00047 <a name="l00045"></a>00045 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSampler.html#a7">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value) = 0;
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; <a name="l00046"></a>00046
00050 <a name="l00047"></a>00047 <span class="keyword">protected</span>:
00052 <a name="l00048"></a>00048
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; <a name="l00049"></a>00049 <span class="keyword">virtual</span> StkFloat computeSample( <span class="keywordtype">void</span> ) = 0;
00059 <a name="l00050"></a>00050
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; <a name="l00051"></a>00051 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00062 <a name="l00052"></a>00052 std::vector&lt;FileWvIn *&gt; attacks_;
00063 <span class="keyword">protected</span>: <a name="l00053"></a>00053 std::vector&lt;WaveLoop *&gt; loops_;
00064 <a class="code" href="classADSR.html">ADSR</a> adsr_; <a name="l00054"></a>00054 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00065 std::vector&lt;WvIn *&gt; attacks_; <a name="l00055"></a>00055 StkFloat baseFrequency_;
00066 std::vector&lt;WaveLoop *&gt; loops_; <a name="l00056"></a>00056 std::vector&lt;StkFloat&gt; attackRatios_;
00067 <a class="code" href="classOnePole.html">OnePole</a> filter_; <a name="l00057"></a>00057 std::vector&lt;StkFloat&gt; loopRatios_;
00068 StkFloat baseFrequency_; <a name="l00058"></a>00058 StkFloat attackGain_;
00069 std::vector&lt;StkFloat&gt; attackRatios_; <a name="l00059"></a>00059 StkFloat loopGain_;
00070 std::vector&lt;StkFloat&gt; loopRatios_; <a name="l00060"></a>00060
00071 StkFloat attackGain_; <a name="l00061"></a>00061 };
00072 StkFloat loopGain_; <a name="l00062"></a>00062
00073 <a name="l00063"></a>00063 <span class="preprocessor">#endif</span>
00074 };
00075
00076 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,73 +8,71 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Saxofony.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00036 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00037 <h1>Saxofony.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00038 <span class="preprocessor">#ifndef STK_SAXOFONY_H</span> <a name="l00036"></a>00036 <span class="comment">/***************************************************/</span>
00039 <span class="preprocessor"></span><span class="preprocessor">#define STK_SAXOFONY_H</span> <a name="l00037"></a>00037
00040 <span class="preprocessor"></span> <a name="l00038"></a>00038 <span class="preprocessor">#ifndef STK_SAXOFONY_H</span>
00041 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define STK_SAXOFONY_H</span>
00042 <span class="preprocessor">#include "DelayL.h"</span> <a name="l00040"></a>00040 <span class="preprocessor"></span>
00043 <span class="preprocessor">#include "ReedTable.h"</span> <a name="l00041"></a>00041 <span class="preprocessor">#include "Instrmnt.h"</span>
00044 <span class="preprocessor">#include "OneZero.h"</span> <a name="l00042"></a>00042 <span class="preprocessor">#include "DelayL.h"</span>
00045 <span class="preprocessor">#include "Envelope.h"</span> <a name="l00043"></a>00043 <span class="preprocessor">#include "ReedTable.h"</span>
00046 <span class="preprocessor">#include "Noise.h"</span> <a name="l00044"></a>00044 <span class="preprocessor">#include "OneZero.h"</span>
00047 <span class="preprocessor">#include "WaveLoop.h"</span> <a name="l00045"></a>00045 <span class="preprocessor">#include "Envelope.h"</span>
00048 <a name="l00046"></a>00046 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00047"></a>00047 <span class="preprocessor">#include "SineWave.h"</span>
<a name="l00048"></a>00048
<a name="l00049"></a><a class="code" href="classSaxofony.html">00049</a> <span class="keyword">class </span><a class="code" href="classSaxofony.html">Saxofony</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00050"></a>00050 {
00051 <span class="keyword">public</span>: <a name="l00051"></a>00051 <span class="keyword">public</span>:
00053 <a name="l00053"></a>00053
00056 <a class="code" href="classSaxofony.html#a0">Saxofony</a>(StkFloat lowestFrequency); <a name="l00056"></a>00056 <a class="code" href="classSaxofony.html#a0">Saxofony</a>(StkFloat lowestFrequency);
00057 <a name="l00057"></a>00057
00059 <a class="code" href="classSaxofony.html#a1">~Saxofony</a>(); <a name="l00059"></a>00059 <a class="code" href="classSaxofony.html#a1">~Saxofony</a>();
00060 <a name="l00060"></a>00060
00062 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a2">clear</a>(); <a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a2">clear</a>();
00063 <a name="l00063"></a>00063
00065 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a3">setFrequency</a>(StkFloat frequency); <a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a3">setFrequency</a>(StkFloat frequency);
00066 <a name="l00066"></a>00066
00068 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a4">setBlowPosition</a>(StkFloat aPosition); <a name="l00068"></a>00068 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a4">setBlowPosition</a>(StkFloat aPosition);
00069 <a name="l00069"></a>00069
00071 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a5">startBlowing</a>(StkFloat amplitude, StkFloat rate); <a name="l00071"></a>00071 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a5">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00072 <a name="l00072"></a>00072
00074 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a6">stopBlowing</a>(StkFloat rate); <a name="l00074"></a>00074 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a6">stopBlowing</a>(StkFloat rate);
00075 <a name="l00075"></a>00075
00077 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00077"></a>00077 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a7">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00078 <a name="l00078"></a>00078
00080 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a8">noteOff</a>(StkFloat amplitude); <a name="l00080"></a>00080 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a8">noteOff</a>(StkFloat amplitude);
00081 <a name="l00081"></a>00081
00083 StkFloat <a class="code" href="classSaxofony.html#a9">tick</a>(); <a name="l00083"></a>00083 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a9">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00084 <a name="l00084"></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); <a name="l00085"></a>00085 <span class="keyword">protected</span>:
00087 <a name="l00086"></a>00086
00089 <a name="l00087"></a>00087 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00088"></a>00088
00096 <a name="l00089"></a>00089 <a class="code" href="classDelayL.html">DelayL</a> delays_[2];
00098 <span class="keywordtype">void</span> <a class="code" href="classSaxofony.html#a12">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00090"></a>00090 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_;
00099 <a name="l00091"></a>00091 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00100 <span class="keyword">protected</span>: <a name="l00092"></a>00092 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00101 <a class="code" href="classDelayL.html">DelayL</a> delays_[2]; <a name="l00093"></a>00093 <a class="code" href="classNoise.html">Noise</a> noise_;
00102 <a class="code" href="classReedTable.html">ReedTable</a> reedTable_; <a name="l00094"></a>00094 <a class="code" href="classSineWave.html">SineWave</a> vibrato_;
00103 <a class="code" href="classOneZero.html">OneZero</a> filter_; <a name="l00095"></a>00095 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00104 <a class="code" href="classEnvelope.html">Envelope</a> envelope_; <a name="l00096"></a>00096 StkFloat outputGain_;
00105 <a class="code" href="classNoise.html">Noise</a> noise_; <a name="l00097"></a>00097 StkFloat noiseGain_;
00106 <a class="code" href="classWaveLoop.html">WaveLoop</a> *vibrato_; <a name="l00098"></a>00098 StkFloat vibratoGain_;
00107 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_; <a name="l00099"></a>00099 StkFloat position_;
00108 StkFloat outputGain_; <a name="l00100"></a>00100
00109 StkFloat noiseGain_; <a name="l00101"></a>00101 };
00110 StkFloat vibratoGain_; <a name="l00102"></a>00102
00111 StkFloat position_; <a name="l00103"></a>00103 <span class="preprocessor">#endif</span>
00112
00113 };
00114
00115 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

@@ -8,66 +8,64 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Simple.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00018 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00019 <h1>Simple.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00020 <span class="preprocessor">#ifndef STK_SIMPLE_H</span> <a name="l00018"></a>00018 <span class="comment">/***************************************************/</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_SIMPLE_H</span> <a name="l00019"></a>00019
00022 <span class="preprocessor"></span> <a name="l00020"></a>00020 <span class="preprocessor">#ifndef STK_SIMPLE_H</span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_SIMPLE_H</span>
00024 <span class="preprocessor">#include "ADSR.h"</span> <a name="l00022"></a>00022 <span class="preprocessor"></span>
00025 <span class="preprocessor">#include "WaveLoop.h"</span> <a name="l00023"></a>00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00026 <span class="preprocessor">#include "OnePole.h"</span> <a name="l00024"></a>00024 <span class="preprocessor">#include "ADSR.h"</span>
00027 <span class="preprocessor">#include "BiQuad.h"</span> <a name="l00025"></a>00025 <span class="preprocessor">#include "WaveLoop.h"</span>
00028 <span class="preprocessor">#include "Noise.h"</span> <a name="l00026"></a>00026 <span class="preprocessor">#include "OnePole.h"</span>
00029 <a name="l00027"></a>00027 <span class="preprocessor">#include "BiQuad.h"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00029"></a>00029
<a name="l00030"></a><a class="code" href="classSimple.html">00030</a> <span class="keyword">class </span><a class="code" href="classSimple.html">Simple</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00031"></a>00031 {
00032 <span class="keyword">public</span>: <a name="l00032"></a>00032 <span class="keyword">public</span>:
00034 <a name="l00034"></a>00034
00037 <a class="code" href="classSimple.html#a0">Simple</a>(); <a name="l00037"></a>00037 <a class="code" href="classSimple.html#a0">Simple</a>();
00038 <a name="l00038"></a>00038
00040 <a class="code" href="classSimple.html#a1">~Simple</a>(); <a name="l00040"></a>00040 <a class="code" href="classSimple.html#a1">~Simple</a>();
00041 <a name="l00041"></a>00041
00043 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a2">clear</a>(); <a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a2">clear</a>();
00044 <a name="l00044"></a>00044
00046 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a3">setFrequency</a>(StkFloat frequency); <a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a3">setFrequency</a>(StkFloat frequency);
00047 <a name="l00047"></a>00047
00049 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a4">keyOn</a>(); <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a4">keyOn</a>();
00050 <a name="l00050"></a>00050
00052 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a5">keyOff</a>(); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a5">keyOff</a>();
00053 <a name="l00053"></a>00053
00055 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00056 <a name="l00056"></a>00056
00058 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a7">noteOff</a>(StkFloat amplitude); <a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a7">noteOff</a>(StkFloat amplitude);
00059 <a name="l00059"></a>00059
00061 StkFloat <a class="code" href="classSimple.html#a8">tick</a>(); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a8">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00062 <a name="l00062"></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); <a name="l00063"></a>00063 <span class="keyword">protected</span>:
00065 <a name="l00064"></a>00064
00067 <a name="l00065"></a>00065 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00066"></a>00066
00074 <a name="l00067"></a>00067 <a class="code" href="classADSR.html">ADSR</a> adsr_;
00076 <span class="keywordtype">void</span> <a class="code" href="classSimple.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00068"></a>00068 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loop_;
00077 <a name="l00069"></a>00069 <a class="code" href="classOnePole.html">OnePole</a> filter_;
00078 <span class="keyword">protected</span>: <a name="l00070"></a>00070 <a class="code" href="classBiQuad.html">BiQuad</a> biquad_;
00079 <a class="code" href="classADSR.html">ADSR</a> adsr_; <a name="l00071"></a>00071 <a class="code" href="classNoise.html">Noise</a> noise_;
00080 <a class="code" href="classWaveLoop.html">WaveLoop</a> *loop_; <a name="l00072"></a>00072 StkFloat baseFrequency_;
00081 <a class="code" href="classOnePole.html">OnePole</a> filter_; <a name="l00073"></a>00073 StkFloat loopGain_;
00082 <a class="code" href="classBiQuad.html">BiQuad</a> biquad_; <a name="l00074"></a>00074
00083 <a class="code" href="classNoise.html">Noise</a> noise_; <a name="l00075"></a>00075 };
00084 StkFloat baseFrequency_; <a name="l00076"></a>00076
00085 StkFloat loopGain_; <a name="l00077"></a>00077 <span class="preprocessor">#endif</span>
00086
00087 };
00088
00089 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

@@ -8,73 +8,70 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>SingWave.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00014 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00015 <h1>SingWave.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00016 <span class="preprocessor">#ifndef STK_SINGWAVE_H</span> <a name="l00014"></a>00014 <span class="comment">/***************************************************/</span>
00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_SINGWAVE_H</span> <a name="l00015"></a>00015
00018 <span class="preprocessor"></span> <a name="l00016"></a>00016 <span class="preprocessor">#ifndef STK_SINGWAVE_H</span>
00019 <span class="preprocessor">#include "WaveLoop.h"</span> <a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define STK_SINGWAVE_H</span>
00020 <span class="preprocessor">#include "Modulate.h"</span> <a name="l00018"></a>00018 <span class="preprocessor"></span>
00021 <span class="preprocessor">#include "Envelope.h"</span> <a name="l00019"></a>00019 <span class="preprocessor">#include "WaveLoop.h"</span>
00022 <a name="l00020"></a>00020 <span class="preprocessor">#include "Modulate.h"</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "Envelope.h"</span>
<a name="l00022"></a>00022
<a name="l00023"></a><a class="code" href="classSingWave.html">00023</a> <span class="keyword">class </span><a class="code" href="classSingWave.html">SingWave</a> : <span class="keyword">public</span> <a class="code" href="classGenerator.html">Generator</a> <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 { <a name="l00024"></a>00024 {
00025 <span class="keyword">public</span>: <a name="l00025"></a>00025 <span class="keyword">public</span>:
00027 <a name="l00027"></a>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>); <a name="l00031"></a>00031 <a class="code" href="classSingWave.html#a0">SingWave</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>);
00032 <a name="l00032"></a>00032
00034 <a class="code" href="classSingWave.html#a1">~SingWave</a>(); <a name="l00034"></a>00034 <a class="code" href="classSingWave.html#a1">~SingWave</a>();
00035 <a name="l00035"></a>00035
00037 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a2">reset</a>(); <a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a2">reset</a>();
00038 <a name="l00038"></a>00038
00040 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>(); <a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>();
00041 <a name="l00041"></a>00041
00043 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>(StkFloat peak); <a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a3">normalize</a>(StkFloat peak);
00044 <a name="l00044"></a>00044
00046 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a5">setFrequency</a>(StkFloat frequency); <a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a5">setFrequency</a>(StkFloat frequency);
00047 <a name="l00047"></a>00047
00049 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a6">setVibratoRate</a>(StkFloat rate); <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a6">setVibratoRate</a>(StkFloat rate);
00050 <a name="l00050"></a>00050
00052 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a7">setVibratoGain</a>(StkFloat gain); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a7">setVibratoGain</a>(StkFloat gain);
00053 <a name="l00053"></a>00053
00055 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a8">setRandomGain</a>(StkFloat gain); <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a8">setRandomGain</a>(StkFloat gain);
00056 <a name="l00056"></a>00056
00058 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a9">setSweepRate</a>(StkFloat rate); <a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a9">setSweepRate</a>(StkFloat rate);
00059 <a name="l00059"></a>00059
00061 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a10">setGainRate</a>(StkFloat rate); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a10">setGainRate</a>(StkFloat rate);
00062 <a name="l00062"></a>00062
00064 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a11">setGainTarget</a>(StkFloat target); <a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a11">setGainTarget</a>(StkFloat target);
00065 <a name="l00065"></a>00065
00067 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a12">noteOn</a>(); <a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a12">noteOn</a>();
00068 <a name="l00068"></a>00068
00070 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a13">noteOff</a>(); <a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="classSingWave.html#a13">noteOff</a>();
00071 <a name="l00071"></a>00071
00073 StkFloat <a class="code" href="classSingWave.html#a14">tick</a>(); <a name="l00072"></a>00072 <span class="keyword">protected</span>:
00074 <a name="l00073"></a>00073
00076 StkFloat *<a class="code" href="classSingWave.html#a14">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00074"></a>00074 StkFloat computeSample( <span class="keywordtype">void</span> );
00077 <a name="l00075"></a>00075
00079 <a name="l00076"></a>00076 <a class="code" href="classWaveLoop.html">WaveLoop</a> *wave_;
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 ); <a name="l00077"></a>00077 <a class="code" href="classModulate.html">Modulate</a> modulator_;
00086 <a name="l00078"></a>00078 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00087 <span class="keyword">protected</span>: <a name="l00079"></a>00079 <a class="code" href="classEnvelope.html">Envelope</a> pitchEnvelope_;
00088 <a name="l00080"></a>00080 StkFloat rate_;
00089 <a class="code" href="classWaveLoop.html">WaveLoop</a> *wave_; <a name="l00081"></a>00081 StkFloat sweepRate_;
00090 <a class="code" href="classModulate.html">Modulate</a> *modulator_; <a name="l00082"></a>00082
00091 <a class="code" href="classEnvelope.html">Envelope</a> envelope_; <a name="l00083"></a>00083 };
00092 <a class="code" href="classEnvelope.html">Envelope</a> pitchEnvelope_; <a name="l00084"></a>00084
00093 StkFloat rate_; <a name="l00085"></a>00085 <span class="preprocessor">#endif</span>
00094 StkFloat sweepRate_;
00095
00096 };
00097
00098 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,63 +8,61 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Sitar.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00018 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00019 <h1>Sitar.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00020 <span class="preprocessor">#ifndef STK_SITAR_H</span> <a name="l00018"></a>00018 <span class="comment">/***************************************************/</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_SITAR_H</span> <a name="l00019"></a>00019
00022 <span class="preprocessor"></span> <a name="l00020"></a>00020 <span class="preprocessor">#ifndef STK_SITAR_H</span>
00023 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_SITAR_H</span>
00024 <span class="preprocessor">#include "DelayA.h"</span> <a name="l00022"></a>00022 <span class="preprocessor"></span>
00025 <span class="preprocessor">#include "OneZero.h"</span> <a name="l00023"></a>00023 <span class="preprocessor">#include "Instrmnt.h"</span>
00026 <span class="preprocessor">#include "Noise.h"</span> <a name="l00024"></a>00024 <span class="preprocessor">#include "DelayA.h"</span>
00027 <span class="preprocessor">#include "ADSR.h"</span> <a name="l00025"></a>00025 <span class="preprocessor">#include "OneZero.h"</span>
00028 <a name="l00026"></a>00026 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "ADSR.h"</span>
<a name="l00028"></a>00028
<a name="l00029"></a><a class="code" href="classSitar.html">00029</a> <span class="keyword">class </span><a class="code" href="classSitar.html">Sitar</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00030"></a>00030 {
00031 <span class="keyword">public</span>: <a name="l00031"></a>00031 <span class="keyword">public</span>:
00033 <a class="code" href="classSitar.html#a0">Sitar</a>( StkFloat lowestFrequency = 20 ); <a name="l00033"></a>00033 <a class="code" href="classSitar.html#a0">Sitar</a>( StkFloat lowestFrequency = 20 );
00034 <a name="l00034"></a>00034
00036 <a class="code" href="classSitar.html#a1">~Sitar</a>(); <a name="l00036"></a>00036 <a class="code" href="classSitar.html#a1">~Sitar</a>();
00037 <a name="l00037"></a>00037
00039 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a2">clear</a>(); <a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a2">clear</a>();
00040 <a name="l00040"></a>00040
00042 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a3">setFrequency</a>(StkFloat frequency); <a name="l00042"></a>00042 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a3">setFrequency</a>(StkFloat frequency);
00043 <a name="l00043"></a>00043
00045 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a4">pluck</a>(StkFloat amplitude); <a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a4">pluck</a>(StkFloat amplitude);
00046 <a name="l00046"></a>00046
00048 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a5">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a5">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00049 <a name="l00049"></a>00049
00051 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a6">noteOff</a>(StkFloat amplitude); <a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classSitar.html#a6">noteOff</a>(StkFloat amplitude);
00052 <a name="l00052"></a>00052
00054 StkFloat <a class="code" href="classSitar.html#a7">tick</a>(); <a name="l00053"></a>00053 <span class="keyword">protected</span>:
00055 <a name="l00054"></a>00054
00057 StkFloat *<a class="code" href="classSitar.html#a7">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); <a name="l00055"></a>00055 StkFloat computeSample( <span class="keywordtype">void</span> );
00058 <a name="l00056"></a>00056
00060 <a name="l00057"></a>00057 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
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 ); <a name="l00058"></a>00058 <a class="code" href="classOneZero.html">OneZero</a> loopFilter_;
00067 <a name="l00059"></a>00059 <a class="code" href="classNoise.html">Noise</a> noise_;
00068 <span class="keyword">protected</span>: <a name="l00060"></a>00060 <a class="code" href="classADSR.html">ADSR</a> envelope_;
00069 <a class="code" href="classDelayA.html">DelayA</a> delayLine_; <a name="l00061"></a>00061
00070 <a class="code" href="classOneZero.html">OneZero</a> loopFilter_; <a name="l00062"></a>00062 StkFloat loopGain_;
00071 <a class="code" href="classNoise.html">Noise</a> noise_; <a name="l00063"></a>00063 StkFloat amGain_;
00072 <a class="code" href="classADSR.html">ADSR</a> envelope_; <a name="l00064"></a>00064 StkFloat delay_;
00073 <a name="l00065"></a>00065 StkFloat targetDelay_;
00074 StkFloat loopGain_; <a name="l00066"></a>00066
00075 StkFloat amGain_; <a name="l00067"></a>00067 };
00076 StkFloat delay_; <a name="l00068"></a>00068
00077 StkFloat targetDelay_; <a name="l00069"></a>00069 <span class="preprocessor">#endif</span>
00078 <a name="l00070"></a>00070 <span class="preprocessor"></span>
00079 };
00080
00081 <span class="preprocessor">#endif</span>
00082 <span class="preprocessor"></span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,22 +8,24 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Skini.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00026 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00027 <h1>Skini.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00028 <span class="preprocessor">#ifndef STK_SKINI_H</span> <a name="l00026"></a>00026 <span class="comment">/***************************************************/</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_SKINI_H</span> <a name="l00027"></a>00027
00030 <span class="preprocessor"></span> <a name="l00028"></a>00028 <span class="preprocessor">#ifndef STK_SKINI_H</span>
00031 <span class="preprocessor">#include "Stk.h"</span> <a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_SKINI_H</span>
00032 <span class="preprocessor">#include &lt;vector&gt;</span> <a name="l00030"></a>00030 <span class="preprocessor"></span>
00033 <span class="preprocessor">#include &lt;string&gt;</span> <a name="l00031"></a>00031 <span class="preprocessor">#include "Stk.h"</span>
00034 <span class="preprocessor">#include &lt;fstream&gt;</span> <a name="l00032"></a>00032 <span class="preprocessor">#include &lt;vector&gt;</span>
00035 <a name="l00033"></a>00033 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;fstream&gt;</span>
<a name="l00035"></a>00035
<a name="l00036"></a><a class="code" href="classSkini.html">00036</a> <span class="keyword">class </span><a class="code" href="classSkini.html">Skini</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <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 { <a name="l00037"></a>00037 {
00038 <span class="keyword">public</span>: <a name="l00038"></a>00038 <span class="keyword">public</span>:
00039 <a name="l00039"></a>00039
<a name="l00041"></a><a class="code" href="structSkini_1_1Message.html">00041</a> <span class="keyword">struct </span><a class="code" href="structSkini_1_1Message.html">Message</a> { <a name="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="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="l00043"></a><a class="code" href="structSkini_1_1Message.html#o1">00043</a> <span class="keywordtype">long</span> <a class="code" href="structSkini_1_1Message.html#o1">channel</a>;
@@ -31,62 +33,62 @@
<a name="l00045"></a><a class="code" href="structSkini_1_1Message.html#o3">00045</a> std::vector&lt;StkFloat&gt; <a class="code" href="structSkini_1_1Message.html#o3">floatValues</a>; <a name="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="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>; <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> <a name="l00049"></a>00049 <span class="comment">// Default constructor.</span>
00050 <a class="code" href="structSkini_1_1Message.html">Message</a>() <a name="l00050"></a>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) {} <a name="l00051"></a>00051 :<a class="code" href="structSkini_1_1Message.html#o0">type</a>(0), <a class="code" href="structSkini_1_1Message.html#o1">channel</a>(0), <a class="code" href="structSkini_1_1Message.html#o2">time</a>(0.0), <a class="code" href="structSkini_1_1Message.html#o3">floatValues</a>(2), <a class="code" href="structSkini_1_1Message.html#o4">intValues</a>(2) {}
00052 }; <a name="l00052"></a>00052 };
00053 <a name="l00053"></a>00053
00055 <a class="code" href="classSkini.html#a0">Skini</a>(); <a name="l00055"></a>00055 <a class="code" href="classSkini.html#a0">Skini</a>();
00056 <a name="l00056"></a>00056
00058 <a class="code" href="classSkini.html#a1">~Skini</a>(); <a name="l00058"></a>00058 <a class="code" href="classSkini.html#a1">~Skini</a>();
00059 <a name="l00059"></a>00059
00061 <a name="l00061"></a>00061
00065 <span class="keywordtype">bool</span> <a class="code" href="classSkini.html#a2">setFile</a>( std::string fileName ); <a name="l00065"></a>00065 <span class="keywordtype">bool</span> <a class="code" href="classSkini.html#a2">setFile</a>( std::string fileName );
00066 <a name="l00066"></a>00066
00068 <a name="l00068"></a>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 ); <a name="l00074"></a>00074 <span class="keywordtype">long</span> <a class="code" href="classSkini.html#a3">nextMessage</a>( <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00075 <a name="l00075"></a>00075
00077 <a name="l00077"></a>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 ); <a name="l00081"></a>00081 <span class="keywordtype">long</span> <a class="code" href="classSkini.html#a4">parseString</a>( std::string&amp; line, <a class="code" href="structSkini_1_1Message.html">Skini::Message</a>&amp; message );
00082 <a name="l00082"></a>00082
00084 <span class="keyword">static</span> std::string <a class="code" href="classSkini.html#e0">whatsThisType</a>(<span class="keywordtype">long</span> type); <a name="l00084"></a>00084 <span class="keyword">static</span> std::string <a class="code" href="classSkini.html#e0">whatsThisType</a>(<span class="keywordtype">long</span> type);
00085 <a name="l00085"></a>00085
00087 <span class="keyword">static</span> std::string <a class="code" href="classSkini.html#e1">whatsThisController</a>(<span class="keywordtype">long</span> number); <a name="l00087"></a>00087 <span class="keyword">static</span> std::string <a class="code" href="classSkini.html#e1">whatsThisController</a>(<span class="keywordtype">long</span> number);
00088 <a name="l00088"></a>00088
00089 <span class="keyword">protected</span>: <a name="l00089"></a>00089 <span class="keyword">protected</span>:
00090 <a name="l00090"></a>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 ); <a name="l00091"></a>00091 <span class="keywordtype">void</span> tokenize( <span class="keyword">const</span> std::string&amp; str, std::vector&lt;std::string&gt;&amp; tokens, <span class="keyword">const</span> std::string&amp; delimiters );
00092 <a name="l00092"></a>00092
00093 std::ifstream file_; <a name="l00093"></a>00093 std::ifstream file_;
00094 }; <a name="l00094"></a>00094 };
00095 <a name="l00095"></a>00095
00096 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">double</span> Midi2Pitch[129] = { <a name="l00096"></a>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, <a name="l00097"></a>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, <a name="l00098"></a>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, <a name="l00099"></a>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, <a name="l00100"></a>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, <a name="l00101"></a>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, <a name="l00102"></a>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, <a name="l00103"></a>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, <a name="l00104"></a>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, <a name="l00105"></a>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, <a name="l00106"></a>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, <a name="l00107"></a>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, <a name="l00108"></a>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, <a name="l00109"></a>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, <a name="l00110"></a>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, <a name="l00111"></a>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, <a name="l00112"></a>00112 8372.02,8869.84,9397.27,9956.06,10548.08,11175.30,11839.82,12543.85,
00113 13289.75}; <a name="l00113"></a>00113 13289.75};
00114 <a name="l00114"></a>00114
00115 <span class="preprocessor">#endif</span> <a name="l00115"></a>00115 <span class="preprocessor">#endif</span>
00116 <span class="preprocessor"></span> <a name="l00116"></a>00116 <span class="preprocessor"></span>
00117 <a name="l00117"></a>00117
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,66 +8,78 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Socket.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00019 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00020 <h1>Socket.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00021 <span class="preprocessor">#ifndef STK_SOCKET_H</span> <a name="l00012"></a>00012 <span class="comment">/***************************************************/</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_SOCKET_H</span> <a name="l00013"></a>00013
00023 <span class="preprocessor"></span> <a name="l00014"></a>00014 <span class="preprocessor">#ifndef STK_SOCKET_H</span>
00024 <span class="preprocessor">#include "Stk.h"</span> <a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define STK_SOCKET_H</span>
00025 <a name="l00016"></a>00016 <span class="preprocessor"></span>
<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> <a name="l00017"></a>00017 <span class="preprocessor">#include "Stk.h"</span>
00027 { <a name="l00018"></a>00018
00028 <span class="keyword">public</span>: <a name="l00019"></a>00019 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
00030 <a name="l00020"></a>00020 <span class="preprocessor"></span>
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 ); <a name="l00021"></a>00021 <span class="preprocessor"> #include &lt;sys/socket.h&gt;</span>
00034 <a name="l00022"></a>00022 <span class="preprocessor"> #include &lt;sys/types.h&gt;</span>
00036 <a name="l00023"></a>00023 <span class="preprocessor"> #include &lt;arpa/inet.h&gt;</span>
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 ); <a name="l00024"></a>00024 <span class="preprocessor"> #include &lt;netdb.h&gt;</span>
00040 <a name="l00025"></a>00025 <span class="preprocessor"> #include &lt;unistd.h&gt;</span>
00042 <a class="code" href="classSocket.html#a2">~Socket</a>(); <a name="l00026"></a>00026 <span class="preprocessor"> #include &lt;fcntl.h&gt;</span>
00043 <a name="l00027"></a>00027 <span class="preprocessor"> #include &lt;netinet/in.h&gt;</span>
00045 <a name="l00028"></a>00028 <span class="preprocessor"> #include &lt;netinet/tcp.h&gt;</span>
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> ); <a name="l00029"></a>00029
00054 <a name="l00030"></a>00030 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span>
00056 <span class="keywordtype">void</span> <a class="code" href="classSocket.html#a4">close</a>( <span class="keywordtype">void</span> ); <a name="l00031"></a>00031 <span class="preprocessor"></span>
00057 <a name="l00032"></a>00032 <span class="preprocessor"> #include &lt;winsock.h&gt;</span>
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>; <a name="l00033"></a>00033
00060 <a name="l00034"></a>00034 <span class="preprocessor">#endif</span>
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>; <a name="l00035"></a>00035 <span class="preprocessor"></span>
00063 <a name="l00036"></a><a class="code" href="classSocket.html">00036</a> <span class="keyword">class </span><a class="code" href="classSocket.html">Socket</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00065 <a name="l00037"></a>00037 {
00071 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a7">accept</a>( <span class="keywordtype">void</span> ); <a name="l00038"></a>00038 <span class="keyword">public</span>:
00072 <a name="l00039"></a>00039
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 ); <a name="l00040"></a>00040 <span class="keyword">enum</span> ProtocolType {
00075 <a name="l00041"></a>00041 PROTO_TCP,
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 ); <a name="l00042"></a>00042 PROTO_UDP
00078 <a name="l00043"></a>00043 };
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 ); <a name="l00044"></a>00044
00081 <a name="l00046"></a>00046 <a class="code" href="classSocket.html#a0">Socket</a>();
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); <a name="l00047"></a>00047
00084 <a name="l00049"></a>00049 <span class="keyword">virtual</span> <a class="code" href="classSocket.html#a1">~Socket</a>();
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 ); <a name="l00050"></a>00050
00087 <a name="l00052"></a>00052 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSocket.html#e0">close</a>( <span class="keywordtype">int</span> socket );
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); <a name="l00053"></a>00053
00090 <a name="l00055"></a>00055 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a2">id</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
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 ); <a name="l00056"></a>00056
00093 <a name="l00058"></a>00058 <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a3">port</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00094 <span class="keyword">protected</span>: <a name="l00059"></a>00059
00095 <a name="l00061"></a>00061 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSocket.html#e1">isValid</a>( <span class="keywordtype">int</span> socket );
00096 <span class="keywordtype">int</span> soket_; <a name="l00062"></a>00062
00097 <span class="keywordtype">int</span> port_; <a name="l00064"></a>00064 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSocket.html#e2">setBlocking</a>( <span class="keywordtype">int</span> socket, <span class="keywordtype">bool</span> enable );
00098 <span class="keywordtype">bool</span> server_; <a name="l00065"></a>00065
00099 <a name="l00067"></a>00067 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a4">writeBuffer</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0) = 0;
00100 }; <a name="l00068"></a>00068
00101 <a name="l00070"></a>00070 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a5">readBuffer</a>(<span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0) = 0;
00102 <span class="preprocessor">#endif // defined(STK_SOCKET_H)</span> <a name="l00071"></a>00071
<a name="l00073"></a>00073 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a4">writeBuffer</a>(<span class="keywordtype">int</span> socket, <span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags );
<a name="l00074"></a>00074
<a name="l00076"></a>00076 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a5">readBuffer</a>(<span class="keywordtype">int</span> socket, <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags );
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="keyword">protected</span>:
<a name="l00079"></a>00079
<a name="l00080"></a>00080 <span class="keywordtype">int</span> soket_;
<a name="l00081"></a>00081 <span class="keywordtype">int</span> port_;
<a name="l00082"></a>00082
<a name="l00083"></a>00083 };
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="preprocessor">#endif // defined(STK_SOCKET_H)</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,61 +8,63 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Sphere.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00010 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00011 <h1>Sphere.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00012 <span class="preprocessor">#ifndef STK_SPHERE_H</span> <a name="l00010"></a>00010 <span class="comment">/***************************************************/</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_SPHERE_H</span> <a name="l00011"></a>00011
00014 <span class="preprocessor"></span> <a name="l00012"></a>00012 <span class="preprocessor">#ifndef STK_SPHERE_H</span>
00015 <span class="preprocessor">#include "Stk.h"</span> <a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define STK_SPHERE_H</span>
00016 <span class="preprocessor">#include "Vector3D.h"</span> <a name="l00014"></a>00014 <span class="preprocessor"></span>
00017 <a name="l00015"></a>00015 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "Vector3D.h"</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classSphere.html">00018</a> <span class="keyword">class </span><a class="code" href="classSphere.html">Sphere</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <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 { <a name="l00019"></a>00019 {
00020 <span class="keyword">public</span>: <a name="l00020"></a>00020 <span class="keyword">public</span>:
00022 <a class="code" href="classSphere.html#a0">Sphere</a>(StkFloat radius = 1.0 ); <a name="l00022"></a>00022 <a class="code" href="classSphere.html#a0">Sphere</a>(StkFloat radius = 1.0 );
00023 <a name="l00023"></a>00023
00025 <a class="code" href="classSphere.html#a1">~Sphere</a>(); <a name="l00025"></a>00025 <a class="code" href="classSphere.html#a1">~Sphere</a>();
00026 <a name="l00026"></a>00026
00028 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a2">setPosition</a>(StkFloat x, StkFloat y, StkFloat z); <a name="l00028"></a>00028 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a2">setPosition</a>(StkFloat x, StkFloat y, StkFloat z);
00029 <a name="l00029"></a>00029
00031 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a3">setVelocity</a>(StkFloat x, StkFloat y, StkFloat z); <a name="l00031"></a>00031 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a3">setVelocity</a>(StkFloat x, StkFloat y, StkFloat z);
00032 <a name="l00032"></a>00032
00034 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a4">setRadius</a>(StkFloat radius); <a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a4">setRadius</a>(StkFloat radius);
00035 <a name="l00035"></a>00035
00037 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a5">setMass</a>(StkFloat mass); <a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a5">setMass</a>(StkFloat mass);
00038 <a name="l00038"></a>00038
00040 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a6">getPosition</a>(); <a name="l00040"></a>00040 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a6">getPosition</a>();
00041 <a name="l00041"></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); <a name="l00043"></a>00043 <a class="code" href="classVector3D.html">Vector3D</a>* <a class="code" href="classSphere.html#a7">getRelativePosition</a>(<a class="code" href="classVector3D.html">Vector3D</a> *position);
00044 <a name="l00044"></a>00044
00046 StkFloat <a class="code" href="classSphere.html#a8">getVelocity</a>(<a class="code" href="classVector3D.html">Vector3D</a>* velocity); <a name="l00046"></a>00046 StkFloat <a class="code" href="classSphere.html#a8">getVelocity</a>(<a class="code" href="classVector3D.html">Vector3D</a>* velocity);
00047 <a name="l00047"></a>00047
00049 StkFloat <a class="code" href="classSphere.html#a9">isInside</a>(<a class="code" href="classVector3D.html">Vector3D</a> *position); <a name="l00049"></a>00049 StkFloat <a class="code" href="classSphere.html#a9">isInside</a>(<a class="code" href="classVector3D.html">Vector3D</a> *position);
00050 <a name="l00050"></a>00050
00052 StkFloat <a class="code" href="classSphere.html#a10">getRadius</a>(); <a name="l00052"></a>00052 StkFloat <a class="code" href="classSphere.html#a10">getRadius</a>();
00053 <a name="l00053"></a>00053
00055 StkFloat <a class="code" href="classSphere.html#a11">getMass</a>(); <a name="l00055"></a>00055 StkFloat <a class="code" href="classSphere.html#a11">getMass</a>();
00056 <a name="l00056"></a>00056
00058 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a12">addVelocity</a>(StkFloat x, StkFloat y, StkFloat z); <a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a12">addVelocity</a>(StkFloat x, StkFloat y, StkFloat z);
00059 <a name="l00059"></a>00059
00061 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a13">tick</a>(StkFloat timeIncrement); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classSphere.html#a13">tick</a>(StkFloat timeIncrement);
00062 <a name="l00062"></a>00062
00063 <span class="keyword">private</span>: <a name="l00063"></a>00063 <span class="keyword">private</span>:
00064 <a class="code" href="classVector3D.html">Vector3D</a> position_; <a name="l00064"></a>00064 <a class="code" href="classVector3D.html">Vector3D</a> position_;
00065 <a class="code" href="classVector3D.html">Vector3D</a> velocity_; <a name="l00065"></a>00065 <a class="code" href="classVector3D.html">Vector3D</a> velocity_;
00066 <a class="code" href="classVector3D.html">Vector3D</a> workingVector_; <a name="l00066"></a>00066 <a class="code" href="classVector3D.html">Vector3D</a> workingVector_;
00067 StkFloat radius_; <a name="l00067"></a>00067 StkFloat radius_;
00068 StkFloat mass_; <a name="l00068"></a>00068 StkFloat mass_;
00069 }; <a name="l00069"></a>00069 };
00070 <a name="l00070"></a>00070
00071 <span class="preprocessor">#endif</span> <a name="l00071"></a>00071 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,77 +8,75 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>StifKarp.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00022 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00023 <h1>StifKarp.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00024 <span class="preprocessor">#ifndef STK_STIFKARP_H</span> <a name="l00022"></a>00022 <span class="comment">/***************************************************/</span>
00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_STIFKARP_H</span> <a name="l00023"></a>00023
00026 <span class="preprocessor"></span> <a name="l00024"></a>00024 <span class="preprocessor">#ifndef STK_STIFKARP_H</span>
00027 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#define STK_STIFKARP_H</span>
00028 <span class="preprocessor">#include "DelayL.h"</span> <a name="l00026"></a>00026 <span class="preprocessor"></span>
00029 <span class="preprocessor">#include "DelayA.h"</span> <a name="l00027"></a>00027 <span class="preprocessor">#include "Instrmnt.h"</span>
00030 <span class="preprocessor">#include "OneZero.h"</span> <a name="l00028"></a>00028 <span class="preprocessor">#include "DelayL.h"</span>
00031 <span class="preprocessor">#include "Noise.h"</span> <a name="l00029"></a>00029 <span class="preprocessor">#include "DelayA.h"</span>
00032 <span class="preprocessor">#include "BiQuad.h"</span> <a name="l00030"></a>00030 <span class="preprocessor">#include "OneZero.h"</span>
00033 <a name="l00031"></a>00031 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "BiQuad.h"</span>
<a name="l00033"></a>00033
<a name="l00034"></a><a class="code" href="classStifKarp.html">00034</a> <span class="keyword">class </span><a class="code" href="classStifKarp.html">StifKarp</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00035"></a>00035 {
00036 <span class="keyword">public</span>: <a name="l00036"></a>00036 <span class="keyword">public</span>:
00038 <a class="code" href="classStifKarp.html#a0">StifKarp</a>(StkFloat lowestFrequency); <a name="l00038"></a>00038 <a class="code" href="classStifKarp.html#a0">StifKarp</a>(StkFloat lowestFrequency);
00039 <a name="l00039"></a>00039
00041 <a class="code" href="classStifKarp.html#a1">~StifKarp</a>(); <a name="l00041"></a>00041 <a class="code" href="classStifKarp.html#a1">~StifKarp</a>();
00042 <a name="l00042"></a>00042
00044 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a2">clear</a>(); <a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a2">clear</a>();
00045 <a name="l00045"></a>00045
00047 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a3">setFrequency</a>(StkFloat frequency); <a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a3">setFrequency</a>(StkFloat frequency);
00048 <a name="l00048"></a>00048
00050 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a4">setStretch</a>(StkFloat stretch); <a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a4">setStretch</a>(StkFloat stretch);
00051 <a name="l00051"></a>00051
00053 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a5">setPickupPosition</a>(StkFloat position); <a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a5">setPickupPosition</a>(StkFloat position);
00054 <a name="l00054"></a>00054
00056 <a name="l00056"></a>00056
00061 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a6">setBaseLoopGain</a>(StkFloat aGain); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a6">setBaseLoopGain</a>(StkFloat aGain);
00062 <a name="l00062"></a>00062
00064 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a7">pluck</a>(StkFloat amplitude); <a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a7">pluck</a>(StkFloat amplitude);
00065 <a name="l00065"></a>00065
00067 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a8">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00068 <a name="l00068"></a>00068
00070 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a9">noteOff</a>(StkFloat amplitude); <a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a9">noteOff</a>(StkFloat amplitude);
00071 <a name="l00071"></a>00071
00073 StkFloat <a class="code" href="classStifKarp.html#a10">tick</a>(); <a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a10">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00074 <a name="l00074"></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); <a name="l00075"></a>00075 <span class="keyword">protected</span>:
00077 <a name="l00076"></a>00076
00079 <a name="l00077"></a>00077 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00078"></a>00078
00086 <a name="l00079"></a>00079 <a class="code" href="classDelayA.html">DelayA</a> delayLine_;
00088 <span class="keywordtype">void</span> <a class="code" href="classStifKarp.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00080"></a>00080 <a class="code" href="classDelayL.html">DelayL</a> combDelay_;
00089 <a name="l00081"></a>00081 <a class="code" href="classOneZero.html">OneZero</a> filter_;
00090 <span class="keyword">protected</span>: <a name="l00082"></a>00082 <a class="code" href="classNoise.html">Noise</a> noise_;
00091 <a class="code" href="classDelayA.html">DelayA</a> delayLine_; <a name="l00083"></a>00083 <a class="code" href="classBiQuad.html">BiQuad</a> biquad_[4];
00092 <a class="code" href="classDelayL.html">DelayL</a> combDelay_; <a name="l00084"></a>00084
00093 <a class="code" href="classOneZero.html">OneZero</a> filter_; <a name="l00085"></a>00085 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_;
00094 <a class="code" href="classNoise.html">Noise</a> noise_; <a name="l00086"></a>00086 StkFloat loopGain_;
00095 <a class="code" href="classBiQuad.html">BiQuad</a> biquad_[4]; <a name="l00087"></a>00087 StkFloat baseLoopGain_;
00096 <a name="l00088"></a>00088 StkFloat lastFrequency_;
00097 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length_; <a name="l00089"></a>00089 StkFloat lastLength_;
00098 StkFloat loopGain_; <a name="l00090"></a>00090 StkFloat stretching_;
00099 StkFloat baseLoopGain_; <a name="l00091"></a>00091 StkFloat pluckAmplitude_;
00100 StkFloat lastFrequency_; <a name="l00092"></a>00092 StkFloat pickupPosition_;
00101 StkFloat lastLength_; <a name="l00093"></a>00093
00102 StkFloat stretching_; <a name="l00094"></a>00094 };
00103 StkFloat pluckAmplitude_; <a name="l00095"></a>00095
00104 StkFloat pickupPosition_; <a name="l00096"></a>00096 <span class="preprocessor">#endif</span>
00105
00106 };
00107
00108 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

@@ -8,46 +8,44 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>SubNoise.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00011 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00012 <h1>SubNoise.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00013 <span class="preprocessor">#ifndef STK_SUBNOISE_H</span> <a name="l00011"></a>00011 <span class="comment">/***************************************************/</span>
00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_SUBNOISE_H</span> <a name="l00012"></a>00012
00015 <span class="preprocessor"></span> <a name="l00013"></a>00013 <span class="preprocessor">#ifndef STK_SUBNOISE_H</span>
00016 <span class="preprocessor">#include "Noise.h"</span> <a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define STK_SUBNOISE_H</span>
00017 <a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="preprocessor">#include "Noise.h"</span>
<a name="l00017"></a>00017
<a name="l00018"></a><a class="code" href="classSubNoise.html">00018</a> <span class="keyword">class </span><a class="code" href="classSubNoise.html">SubNoise</a> : <span class="keyword">public</span> <a class="code" href="classNoise.html">Noise</a> <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 { <a name="l00019"></a>00019 {
00020 <span class="keyword">public</span>: <a name="l00020"></a>00020 <span class="keyword">public</span>:
00021 <a name="l00021"></a>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); <a name="l00023"></a>00023 <a class="code" href="classSubNoise.html#a0">SubNoise</a>( <span class="keywordtype">int</span> <a class="code" href="classSubNoise.html#a2">subRate</a> = 16 );
00024 <a name="l00024"></a>00024
00026 <a class="code" href="classSubNoise.html#a1">~SubNoise</a>(); <a name="l00026"></a>00026 <a class="code" href="classSubNoise.html#a1">~SubNoise</a>();
00027 <a name="l00027"></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>; <a name="l00029"></a><a class="code" href="classSubNoise.html#a2">00029</a> <span class="keywordtype">int</span> <a class="code" href="classSubNoise.html#a2">subRate</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> rate_; };
00030 <a name="l00030"></a>00030
00032 <span class="keywordtype">void</span> <a class="code" href="classSubNoise.html#a3">setRate</a>(<span class="keywordtype">int</span> subRate); <a name="l00032"></a>00032 <span class="keywordtype">void</span> <a class="code" href="classSubNoise.html#a3">setRate</a>( <span class="keywordtype">int</span> <a class="code" href="classSubNoise.html#a2">subRate</a> );
00033 <a name="l00033"></a>00033
00035 StkFloat <a class="code" href="classSubNoise.html#a4">tick</a>(); <a name="l00034"></a>00034 <span class="keyword">protected</span>:
00036 <a name="l00035"></a>00035
00038 StkFloat *<a class="code" href="classSubNoise.html#a4">tick</a>( StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize ); <a name="l00036"></a>00036 StkFloat computeSample( <span class="keywordtype">void</span> );
00039 <a name="l00037"></a>00037
00041 <a name="l00038"></a>00038 <span class="keywordtype">int</span> counter_;
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 ); <a name="l00039"></a>00039 <span class="keywordtype">int</span> rate_;
00048 <a name="l00040"></a>00040
00049 <span class="keyword">protected</span>: <a name="l00041"></a>00041 };
00050 <span class="keywordtype">int</span> counter_; <a name="l00042"></a>00042
00051 <span class="keywordtype">int</span> rate_; <a name="l00043"></a>00043 <span class="preprocessor">#endif</span>
00052
00053 };
00054
00055 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -0,0 +1,50 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>TcpClient.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00024"></a>00024 <span class="comment">/***************************************************/</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="preprocessor">#ifndef STK_TCPCLIENT_H</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_TCPCLIENT_H</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "Socket.h"</span>
<a name="l00030"></a>00030
<a name="l00031"></a><a class="code" href="classTcpClient.html">00031</a> <span class="keyword">class </span><a class="code" href="classTcpClient.html">TcpClient</a> : <span class="keyword">public</span> <a class="code" href="classSocket.html">Socket</a>
<a name="l00032"></a>00032 {
<a name="l00033"></a>00033 <span class="keyword">public</span>:
<a name="l00035"></a>00035
<a name="l00038"></a>00038 <a class="code" href="classTcpClient.html#a0">TcpClient</a>( <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a3">port</a>, std::string hostname = <span class="stringliteral">"localhost"</span> );
<a name="l00039"></a>00039
<a name="l00041"></a>00041 <a class="code" href="classTcpClient.html#a1">~TcpClient</a>();
<a name="l00042"></a>00042
<a name="l00044"></a>00044
<a name="l00049"></a>00049 <span class="keywordtype">int</span> <a class="code" href="classTcpClient.html#a2">connect</a>( <span class="keywordtype">int</span> port, std::string hostname = <span class="stringliteral">"localhost"</span> );
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">int</span> <a class="code" href="classTcpClient.html#a3">writeBuffer</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">int</span> <a class="code" href="classTcpClient.html#a4">readBuffer</a>(<span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keyword">protected</span>:
<a name="l00058"></a>00058
<a name="l00059"></a>00059 };
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="preprocessor">#endif // defined(STK_TCPCLIENT_H)</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -0,0 +1,50 @@
<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>TcpServer.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
<a name="l00024"></a>00024 <span class="comment">/***************************************************/</span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="preprocessor">#ifndef STK_TCPSERVER_H</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define STK_TCPSERVER_H</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "Socket.h"</span>
<a name="l00030"></a>00030
<a name="l00031"></a><a class="code" href="classTcpServer.html">00031</a> <span class="keyword">class </span><a class="code" href="classTcpServer.html">TcpServer</a> : <span class="keyword">public</span> <a class="code" href="classSocket.html">Socket</a>
<a name="l00032"></a>00032 {
<a name="l00033"></a>00033 <span class="keyword">public</span>:
<a name="l00035"></a>00035
<a name="l00038"></a>00038 <a class="code" href="classTcpServer.html#a0">TcpServer</a>( <span class="keywordtype">int</span> <a class="code" href="classSocket.html#a3">port</a> = 2006 );
<a name="l00039"></a>00039
<a name="l00041"></a>00041 <a class="code" href="classTcpServer.html#a1">~TcpServer</a>();
<a name="l00042"></a>00042
<a name="l00044"></a>00044
<a name="l00049"></a>00049 <span class="keywordtype">int</span> <a class="code" href="classTcpServer.html#a2">accept</a>( <span class="keywordtype">void</span> );
<a name="l00050"></a>00050
<a name="l00052"></a>00052 <span class="keywordtype">int</span> <a class="code" href="classTcpServer.html#a3">writeBuffer</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
<a name="l00053"></a>00053
<a name="l00055"></a>00055 <span class="keywordtype">int</span> <a class="code" href="classTcpServer.html#a4">readBuffer</a>(<span class="keywordtype">void</span> *buffer, <span class="keywordtype">long</span> bufferSize, <span class="keywordtype">int</span> flags = 0);
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keyword">protected</span>:
<a name="l00058"></a>00058
<a name="l00059"></a>00059 };
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="preprocessor">#endif // defined(STK_TCPSERVER_H)</span>
</pre></div><HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>

View File

@@ -8,65 +8,67 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Thread.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00021 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00022 <h1>Thread.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00023 <span class="preprocessor">#ifndef STK_THREAD_H</span> <a name="l00021"></a>00021 <span class="comment">/***************************************************/</span>
00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_THREAD_H</span> <a name="l00022"></a>00022
00025 <span class="preprocessor"></span> <a name="l00023"></a>00023 <span class="preprocessor">#ifndef STK_THREAD_H</span>
00026 <span class="preprocessor">#include "Stk.h"</span> <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_THREAD_H</span>
00027 <a name="l00025"></a>00025 <span class="preprocessor"></span>
00028 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span> <a name="l00026"></a>00026 <span class="preprocessor">#include "Stk.h"</span>
00029 <span class="preprocessor"></span> <a name="l00027"></a>00027
00030 <span class="preprocessor"> #include &lt;pthread.h&gt;</span> <a name="l00028"></a>00028 <span class="preprocessor">#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))</span>
00031 <span class="preprocessor"> #define THREAD_TYPE</span> <a name="l00029"></a>00029 <span class="preprocessor"></span>
00032 <span class="preprocessor"></span> <span class="keyword">typedef</span> pthread_t THREAD_HANDLE; <a name="l00030"></a>00030 <span class="preprocessor"> #include &lt;pthread.h&gt;</span>
00033 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * THREAD_RETURN; <a name="l00031"></a>00031 <span class="preprocessor"> #define THREAD_TYPE</span>
00034 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * (*THREAD_FUNCTION)(<span class="keywordtype">void</span> *); <a name="l00032"></a>00032 <span class="preprocessor"></span> <span class="keyword">typedef</span> pthread_t THREAD_HANDLE;
00035 <a name="l00033"></a>00033 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * THREAD_RETURN;
00036 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span> <a name="l00034"></a>00034 <span class="keyword">typedef</span> <span class="keywordtype">void</span> * (*THREAD_FUNCTION)(<span class="keywordtype">void</span> *);
00037 <span class="preprocessor"></span> <a name="l00035"></a>00035
00038 <span class="preprocessor"> #include &lt;windows.h&gt;</span> <a name="l00036"></a>00036 <span class="preprocessor">#elif defined(__OS_WINDOWS__)</span>
00039 <span class="preprocessor"> #include &lt;process.h&gt;</span> <a name="l00037"></a>00037 <span class="preprocessor"></span>
00040 <span class="preprocessor"> #define THREAD_TYPE __stdcall</span> <a name="l00038"></a>00038 <span class="preprocessor"> #include &lt;windows.h&gt;</span>
00041 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> THREAD_HANDLE; <a name="l00039"></a>00039 <span class="preprocessor"> #include &lt;process.h&gt;</span>
00042 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> THREAD_RETURN; <a name="l00040"></a>00040 <span class="preprocessor"> #define THREAD_TYPE __stdcall</span>
00043 <span class="keyword">typedef</span> unsigned (__stdcall *THREAD_FUNCTION)(<span class="keywordtype">void</span> *); <a name="l00041"></a>00041 <span class="preprocessor"></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> THREAD_HANDLE;
00044 <a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> THREAD_RETURN;
00045 <span class="preprocessor">#endif</span> <a name="l00043"></a>00043 <span class="keyword">typedef</span> unsigned (__stdcall *THREAD_FUNCTION)(<span class="keywordtype">void</span> *);
00046 <span class="preprocessor"></span> <a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="preprocessor">#endif</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span>
<a name="l00047"></a><a class="code" href="classThread.html">00047</a> <span class="keyword">class </span><a class="code" href="classThread.html">Thread</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <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 { <a name="l00048"></a>00048 {
00049 <span class="keyword">public</span>: <a name="l00049"></a>00049 <span class="keyword">public</span>:
00051 <a class="code" href="classThread.html#a0">Thread</a>(); <a name="l00051"></a>00051 <a class="code" href="classThread.html#a0">Thread</a>();
00052 <a name="l00052"></a>00052
00054 <a class="code" href="classThread.html#a1">~Thread</a>(); <a name="l00054"></a>00054 <a class="code" href="classThread.html#a1">~Thread</a>();
00055 <a name="l00055"></a>00055
00057 <a name="l00057"></a>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 ); <a name="l00062"></a>00062 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a2">start</a>( THREAD_FUNCTION routine, <span class="keywordtype">void</span> * ptr = NULL );
00063 <a name="l00063"></a>00063
00065 <a name="l00065"></a>00065
00072 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a3">cancel</a>(<span class="keywordtype">void</span>); <a name="l00072"></a>00072 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a3">cancel</a>(<span class="keywordtype">void</span>);
00073 <a name="l00073"></a>00073
00075 <a name="l00075"></a>00075
00078 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a4">wait</a>(<span class="keywordtype">void</span>); <a name="l00078"></a>00078 <span class="keywordtype">bool</span> <a class="code" href="classThread.html#a4">wait</a>(<span class="keywordtype">void</span>);
00079 <a name="l00079"></a>00079
00081 <a name="l00081"></a>00081
00086 <span class="keywordtype">void</span> <a class="code" href="classThread.html#a5">testCancel</a>(<span class="keywordtype">void</span>); <a name="l00086"></a>00086 <span class="keywordtype">void</span> <a class="code" href="classThread.html#a5">testCancel</a>(<span class="keywordtype">void</span>);
00087 <a name="l00087"></a>00087
00088 <span class="keyword">protected</span>: <a name="l00088"></a>00088 <span class="keyword">protected</span>:
00089 <a name="l00089"></a>00089
00090 THREAD_HANDLE thread_; <a name="l00090"></a>00090 THREAD_HANDLE thread_;
00091 <a name="l00091"></a>00091
00092 }; <a name="l00092"></a>00092 };
00093 <a name="l00093"></a>00093
00094 <span class="preprocessor">#endif</span> <a name="l00094"></a>00094 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,39 +8,38 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>TubeBell.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00031 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00032 <h1>TubeBell.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00033 <span class="preprocessor">#ifndef STK_TUBEBELL_H</span> <a name="l00031"></a>00031 <span class="comment">/***************************************************/</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_TUBEBELL_H</span> <a name="l00032"></a>00032
00035 <span class="preprocessor"></span> <a name="l00033"></a>00033 <span class="preprocessor">#ifndef STK_TUBEBELL_H</span>
00036 <span class="preprocessor">#include "FM.h"</span> <a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_TUBEBELL_H</span>
00037 <a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00036"></a>00036 <span class="preprocessor">#include "FM.h"</span>
<a name="l00037"></a>00037
<a name="l00038"></a><a class="code" href="classTubeBell.html">00038</a> <span class="keyword">class </span><a class="code" href="classTubeBell.html">TubeBell</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <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 { <a name="l00039"></a>00039 {
00040 <span class="keyword">public</span>: <a name="l00040"></a>00040 <span class="keyword">public</span>:
00042 <a name="l00042"></a>00042
00045 <a class="code" href="classTubeBell.html#a0">TubeBell</a>(); <a name="l00045"></a>00045 <a class="code" href="classTubeBell.html#a0">TubeBell</a>();
00046 <a name="l00046"></a>00046
00048 <a class="code" href="classTubeBell.html#a1">~TubeBell</a>(); <a name="l00048"></a>00048 <a class="code" href="classTubeBell.html#a1">~TubeBell</a>();
00049 <a name="l00049"></a>00049
00051 <span class="keywordtype">void</span> <a class="code" href="classTubeBell.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classTubeBell.html#a2">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00052 <a name="l00052"></a>00052
00054 StkFloat <a class="code" href="classTubeBell.html#a3">tick</a>(); <a name="l00053"></a>00053 <span class="keyword">protected</span>:
00055 <a name="l00054"></a>00054
00057 StkFloat *<a class="code" href="classTubeBell.html#a3">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); <a name="l00055"></a>00055 StkFloat computeSample( <span class="keywordtype">void</span> );
00058 <a name="l00056"></a>00056 };
00060 <a name="l00057"></a>00057
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 ); <a name="l00058"></a>00058 <span class="preprocessor">#endif</span>
00067 };
00068
00069 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,55 +8,55 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>TwoPole.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00013 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00014 <h1>TwoPole.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00015 <span class="preprocessor">#ifndef STK_TWOPOLE_H</span> <a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_TWOPOLE_H</span> <a name="l00014"></a>00014
00017 <span class="preprocessor"></span> <a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_TWOPOLE_H</span>
00018 <span class="preprocessor">#include "Filter.h"</span> <a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_TWOPOLE_H</span>
00019 <a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "Filter.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classTwoPole.html">00020</a> <span class="keyword">class </span><a class="code" href="classTwoPole.html">TwoPole</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a> <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 { <a name="l00021"></a>00021 {
00022 <span class="keyword">public</span>: <a name="l00022"></a>00022 <span class="keyword">public</span>:
00023 <a name="l00023"></a>00023
00025 <a class="code" href="classTwoPole.html#a0">TwoPole</a>(); <a name="l00025"></a>00025 <a class="code" href="classTwoPole.html#a0">TwoPole</a>();
00026 <a name="l00026"></a>00026
00028 <a class="code" href="classTwoPole.html#a1">~TwoPole</a>(); <a name="l00028"></a>00028 <a class="code" href="classTwoPole.html#a1">~TwoPole</a>();
00029 <a name="l00029"></a>00029
00031 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a2">clear</a>(<span class="keywordtype">void</span>); <a name="l00031"></a>00031 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a2">clear</a>(<span class="keywordtype">void</span>);
00032 <a name="l00032"></a>00032
00034 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a3">setB0</a>(StkFloat b0); <a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a3">setB0</a>(StkFloat b0);
00035 <a name="l00035"></a>00035
00037 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a4">setA1</a>(StkFloat a1); <a name="l00037"></a>00037 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a4">setA1</a>(StkFloat a1);
00038 <a name="l00038"></a>00038
00040 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a5">setA2</a>(StkFloat a2); <a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a5">setA2</a>(StkFloat a2);
00041 <a name="l00041"></a>00041
00043 <a name="l00043"></a>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>); <a name="l00056"></a>00056 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a6">setResonance</a>(StkFloat frequency, StkFloat radius, <span class="keywordtype">bool</span> normalize = <span class="keyword">false</span>);
00057 <a name="l00057"></a>00057
00059 <a name="l00059"></a>00059
00063 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a7">setGain</a>(StkFloat gain); <a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="classTwoPole.html#a7">setGain</a>(StkFloat gain);
00064 <a name="l00064"></a>00064
00066 StkFloat <a class="code" href="classTwoPole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00066"></a>00066 StkFloat <a class="code" href="classTwoPole.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00067 <a name="l00067"></a>00067
00069 StkFloat <a class="code" href="classTwoPole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00069"></a>00069 StkFloat <a class="code" href="classTwoPole.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00070 <a name="l00070"></a>00070
00072 StkFloat <a class="code" href="classTwoPole.html#a10">tick</a>(StkFloat sample); <a name="l00072"></a>00072 StkFloat <a class="code" href="classTwoPole.html#a10">tick</a>(StkFloat sample);
00073 <a name="l00073"></a>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); <a name="l00075"></a>00075
00076 <a name="l00081"></a>00081 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTwoPole.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
00078 <a name="l00082"></a>00082 };
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 ); <a name="l00083"></a>00083
00085 }; <a name="l00084"></a>00084 <span class="preprocessor">#endif</span>
00086
00087 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,54 +8,54 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>TwoZero.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00013 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00014 <h1>TwoZero.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00015 <span class="preprocessor">#ifndef STK_TWOZERO_H</span> <a name="l00013"></a>00013 <span class="comment">/***************************************************/</span>
00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_TWOZERO_H</span> <a name="l00014"></a>00014
00017 <span class="preprocessor"></span> <a name="l00015"></a>00015 <span class="preprocessor">#ifndef STK_TWOZERO_H</span>
00018 <span class="preprocessor">#include "Filter.h"</span> <a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define STK_TWOZERO_H</span>
00019 <a name="l00017"></a>00017 <span class="preprocessor"></span>
<a name="l00018"></a>00018 <span class="preprocessor">#include "Filter.h"</span>
<a name="l00019"></a>00019
<a name="l00020"></a><a class="code" href="classTwoZero.html">00020</a> <span class="keyword">class </span><a class="code" href="classTwoZero.html">TwoZero</a> : <span class="keyword">protected</span> <a class="code" href="classFilter.html">Filter</a> <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 { <a name="l00021"></a>00021 {
00022 <span class="keyword">public</span>: <a name="l00022"></a>00022 <span class="keyword">public</span>:
00024 <a class="code" href="classTwoZero.html#a0">TwoZero</a>(); <a name="l00024"></a>00024 <a class="code" href="classTwoZero.html#a0">TwoZero</a>();
00025 <a name="l00025"></a>00025
00027 <a class="code" href="classTwoZero.html#a1">~TwoZero</a>(); <a name="l00027"></a>00027 <a class="code" href="classTwoZero.html#a1">~TwoZero</a>();
00028 <a name="l00028"></a>00028
00030 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a2">clear</a>(<span class="keywordtype">void</span>); <a name="l00030"></a>00030 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a2">clear</a>(<span class="keywordtype">void</span>);
00031 <a name="l00031"></a>00031
00033 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a3">setB0</a>(StkFloat b0); <a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a3">setB0</a>(StkFloat b0);
00034 <a name="l00034"></a>00034
00036 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a4">setB1</a>(StkFloat b1); <a name="l00036"></a>00036 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a4">setB1</a>(StkFloat b1);
00037 <a name="l00037"></a>00037
00039 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a5">setB2</a>(StkFloat b2); <a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a5">setB2</a>(StkFloat b2);
00040 <a name="l00040"></a>00040
00042 <a name="l00042"></a>00042
00052 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a6">setNotch</a>(StkFloat frequency, StkFloat radius); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a6">setNotch</a>(StkFloat frequency, StkFloat radius);
00053 <a name="l00053"></a>00053
00055 <a name="l00055"></a>00055
00059 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a7">setGain</a>(StkFloat gain); <a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classTwoZero.html#a7">setGain</a>(StkFloat gain);
00060 <a name="l00060"></a>00060
00062 StkFloat <a class="code" href="classTwoZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00062"></a>00062 StkFloat <a class="code" href="classTwoZero.html#a8">getGain</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00063 <a name="l00063"></a>00063
00065 StkFloat <a class="code" href="classTwoZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00065"></a>00065 StkFloat <a class="code" href="classTwoZero.html#a9">lastOut</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
00066 <a name="l00066"></a>00066
00068 StkFloat <a class="code" href="classTwoZero.html#a10">tick</a>(StkFloat sample); <a name="l00068"></a>00068 StkFloat <a class="code" href="classTwoZero.html#a10">tick</a>(StkFloat sample);
00069 <a name="l00069"></a>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); <a name="l00071"></a>00071
00072 <a name="l00077"></a>00077 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classTwoZero.html#a10">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
00074 <a name="l00078"></a>00078 };
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 ); <a name="l00079"></a>00079
00081 }; <a name="l00080"></a>00080 <span class="preprocessor">#endif</span>
00082
00083 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

@@ -8,51 +8,53 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Vector3D.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00009 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00010 <h1>Vector3D.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00011 <span class="preprocessor">#ifndef STK_VECTOR3D_H</span> <a name="l00009"></a>00009 <span class="comment">/***************************************************/</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_VECTOR3D_H</span> <a name="l00010"></a>00010
00013 <span class="preprocessor"></span> <a name="l00011"></a>00011 <span class="preprocessor">#ifndef STK_VECTOR3D_H</span>
00014 <span class="preprocessor">#include "Stk.h"</span> <a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#define STK_VECTOR3D_H</span>
00015 <a name="l00013"></a>00013 <span class="preprocessor"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#include "Stk.h"</span>
<a name="l00015"></a>00015
<a name="l00016"></a><a class="code" href="classVector3D.html">00016</a> <span class="keyword">class </span><a class="code" href="classVector3D.html">Vector3D</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a> <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 { <a name="l00017"></a>00017 {
00018 <a name="l00018"></a>00018
00019 <span class="keyword">public</span>: <a name="l00019"></a>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); <a name="l00021"></a>00021 <a class="code" href="classVector3D.html#a0">Vector3D</a>(StkFloat initX=0.0, StkFloat initY=0.0, StkFloat initZ=0.0);
00022 <a name="l00022"></a>00022
00024 <a class="code" href="classVector3D.html#a1">~Vector3D</a>(); <a name="l00024"></a>00024 <a class="code" href="classVector3D.html#a1">~Vector3D</a>();
00025 <a name="l00025"></a>00025
00027 StkFloat <a class="code" href="classVector3D.html#a2">getX</a>(); <a name="l00027"></a>00027 StkFloat <a class="code" href="classVector3D.html#a2">getX</a>();
00028 <a name="l00028"></a>00028
00030 StkFloat <a class="code" href="classVector3D.html#a3">getY</a>(); <a name="l00030"></a>00030 StkFloat <a class="code" href="classVector3D.html#a3">getY</a>();
00031 <a name="l00031"></a>00031
00033 StkFloat <a class="code" href="classVector3D.html#a4">getZ</a>(); <a name="l00033"></a>00033 StkFloat <a class="code" href="classVector3D.html#a4">getZ</a>();
00034 <a name="l00034"></a>00034
00036 StkFloat <a class="code" href="classVector3D.html#a5">getLength</a>(); <a name="l00036"></a>00036 StkFloat <a class="code" href="classVector3D.html#a5">getLength</a>();
00037 <a name="l00037"></a>00037
00039 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a6">setXYZ</a>(StkFloat x, StkFloat y, StkFloat z); <a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a6">setXYZ</a>(StkFloat x, StkFloat y, StkFloat z);
00040 <a name="l00040"></a>00040
00042 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a7">setX</a>(StkFloat x); <a name="l00042"></a>00042 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a7">setX</a>(StkFloat x);
00043 <a name="l00043"></a>00043
00045 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a8">setY</a>(StkFloat y); <a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a8">setY</a>(StkFloat y);
00046 <a name="l00046"></a>00046
00048 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a9">setZ</a>(StkFloat z); <a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classVector3D.html#a9">setZ</a>(StkFloat z);
00049 <a name="l00049"></a>00049
00050 <span class="keyword">protected</span>: <a name="l00050"></a>00050 <span class="keyword">protected</span>:
00051 StkFloat myX_; <a name="l00051"></a>00051 StkFloat myX_;
00052 StkFloat myY_; <a name="l00052"></a>00052 StkFloat myY_;
00053 StkFloat myZ_; <a name="l00053"></a>00053 StkFloat myZ_;
00054 }; <a name="l00054"></a>00054 };
00055 <a name="l00055"></a>00055
00056 <span class="preprocessor">#endif</span> <a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,76 +8,74 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>VoicForm.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00026 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00027 <h1>VoicForm.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00028 <span class="preprocessor">#ifndef STK_VOICFORM_H</span> <a name="l00026"></a>00026 <span class="comment">/***************************************************/</span>
00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_VOICFORM_H</span> <a name="l00027"></a>00027
00030 <span class="preprocessor"></span> <a name="l00028"></a>00028 <span class="preprocessor">#ifndef STK_VOICFORM_H</span>
00031 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define STK_VOICFORM_H</span>
00032 <span class="preprocessor">#include "Envelope.h"</span> <a name="l00030"></a>00030 <span class="preprocessor"></span>
00033 <span class="preprocessor">#include "Noise.h"</span> <a name="l00031"></a>00031 <span class="preprocessor">#include "Instrmnt.h"</span>
00034 <span class="preprocessor">#include "SingWave.h"</span> <a name="l00032"></a>00032 <span class="preprocessor">#include "Envelope.h"</span>
00035 <span class="preprocessor">#include "FormSwep.h"</span> <a name="l00033"></a>00033 <span class="preprocessor">#include "Noise.h"</span>
00036 <span class="preprocessor">#include "OnePole.h"</span> <a name="l00034"></a>00034 <span class="preprocessor">#include "SingWave.h"</span>
00037 <span class="preprocessor">#include "OneZero.h"</span> <a name="l00035"></a>00035 <span class="preprocessor">#include "FormSwep.h"</span>
00038 <a name="l00036"></a>00036 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include "OneZero.h"</span>
<a name="l00038"></a>00038
<a name="l00039"></a><a class="code" href="classVoicForm.html">00039</a> <span class="keyword">class </span><a class="code" href="classVoicForm.html">VoicForm</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00040"></a>00040 {
00041 <span class="keyword">public</span>: <a name="l00041"></a>00041 <span class="keyword">public</span>:
00043 <a name="l00043"></a>00043
00046 <a class="code" href="classVoicForm.html#a0">VoicForm</a>(); <a name="l00046"></a>00046 <a class="code" href="classVoicForm.html#a0">VoicForm</a>();
00047 <a name="l00047"></a>00047
00049 <a class="code" href="classVoicForm.html#a1">~VoicForm</a>(); <a name="l00049"></a>00049 <a class="code" href="classVoicForm.html#a1">~VoicForm</a>();
00050 <a name="l00050"></a>00050
00052 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a2">clear</a>(); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a2">clear</a>();
00053 <a name="l00053"></a>00053
00055 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a3">setFrequency</a>(StkFloat frequency); <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a3">setFrequency</a>(StkFloat frequency);
00056 <a name="l00056"></a>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); <a name="l00058"></a>00058 <span class="keywordtype">bool</span> <a class="code" href="classVoicForm.html#a4">setPhoneme</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* phoneme);
00059 <a name="l00059"></a>00059
00061 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a5">setVoiced</a>(StkFloat vGain); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a5">setVoiced</a>(StkFloat vGain);
00062 <a name="l00062"></a>00062
00064 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a6">setUnVoiced</a>(StkFloat nGain); <a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a6">setUnVoiced</a>(StkFloat nGain);
00065 <a name="l00065"></a>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); <a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a7">setFilterSweepRate</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> whichOne, StkFloat rate);
00068 <a name="l00068"></a>00068
00070 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a8">setPitchSweepRate</a>(StkFloat rate); <a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a8">setPitchSweepRate</a>(StkFloat rate);
00071 <a name="l00071"></a>00071
00073 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a9">speak</a>(); <a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a9">speak</a>();
00074 <a name="l00074"></a>00074
00076 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a10">quiet</a>(); <a name="l00076"></a>00076 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a10">quiet</a>();
00077 <a name="l00077"></a>00077
00079 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a11">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a11">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00080 <a name="l00080"></a>00080
00082 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a12">noteOff</a>(StkFloat amplitude); <a name="l00082"></a>00082 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a12">noteOff</a>(StkFloat amplitude);
00083 <a name="l00083"></a>00083
00085 StkFloat <a class="code" href="classVoicForm.html#a13">tick</a>(); <a name="l00085"></a>00085 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a13">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00086 <a name="l00086"></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); <a name="l00087"></a>00087 <span class="keyword">protected</span>:
00089 <a name="l00088"></a>00088
00091 <a name="l00089"></a>00089 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00090"></a>00090
00098 <a name="l00091"></a>00091 <a class="code" href="classSingWave.html">SingWave</a> *voiced_;
00100 <span class="keywordtype">void</span> <a class="code" href="classVoicForm.html#a16">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00092"></a>00092 <a class="code" href="classNoise.html">Noise</a> noise_;
00101 <a name="l00093"></a>00093 <a class="code" href="classEnvelope.html">Envelope</a> noiseEnv_;
00102 <span class="keyword">protected</span>: <a name="l00094"></a>00094 <a class="code" href="classFormSwep.html">FormSwep</a> filters_[4];
00103 <a class="code" href="classSingWave.html">SingWave</a> *voiced_; <a name="l00095"></a>00095 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
00104 <a class="code" href="classNoise.html">Noise</a> noise_; <a name="l00096"></a>00096 <a class="code" href="classOneZero.html">OneZero</a> onezero_;
00105 <a class="code" href="classEnvelope.html">Envelope</a> noiseEnv_; <a name="l00097"></a>00097
00106 <a class="code" href="classFormSwep.html">FormSwep</a> filters_[4]; <a name="l00098"></a>00098 };
00107 <a class="code" href="classOnePole.html">OnePole</a> onepole_; <a name="l00099"></a>00099
00108 <a class="code" href="classOneZero.html">OneZero</a> onezero_; <a name="l00100"></a>00100 <span class="preprocessor">#endif</span>
00109
00110 };
00111
00112 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

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

View File

@@ -8,56 +8,59 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>WaveLoop.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00019 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00020 <h1>WaveLoop.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00021 <span class="preprocessor">#ifndef STK_WAVELOOP_H</span> <a name="l00017"></a>00017 <span class="comment">/***************************************************/</span>
00022 <span class="preprocessor"></span><span class="preprocessor">#define STK_WAVELOOP_H</span> <a name="l00018"></a>00018
00023 <span class="preprocessor"></span> <a name="l00019"></a>00019 <span class="preprocessor">#ifndef STK_WAVELOOP_H</span>
00024 <span class="preprocessor">#include "WvIn.h"</span> <a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_WAVELOOP_H</span>
00025 <a name="l00021"></a>00021 <span class="preprocessor"></span>
<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> <a name="l00022"></a>00022 <span class="preprocessor">#include "FileWvIn.h"</span>
00027 { <a name="l00023"></a>00023
00028 <span class="keyword">public</span>: <a name="l00024"></a><a class="code" href="classWaveLoop.html">00024</a> <span class="keyword">class </span><a class="code" href="classWaveLoop.html">WaveLoop</a> : <span class="keyword">public</span> <a class="code" href="classFileWvIn.html">FileWvIn</a>
00030 <a class="code" href="classWaveLoop.html#a0">WaveLoop</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span> ); <a name="l00025"></a>00025 {
00031 <a name="l00026"></a>00026 <span class="keyword">public</span>:
00033 <span class="keyword">virtual</span> <a class="code" href="classWaveLoop.html#a1">~WaveLoop</a>(); <a name="l00028"></a>00028 <a class="code" href="classWaveLoop.html#a0">WaveLoop</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkThreshold = 1000000, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkSize = 1024 );
00034 <a name="l00029"></a>00029
00036 <a name="l00031"></a>00031 <a class="code" href="classWaveLoop.html#a0">WaveLoop</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>, <span class="keywordtype">bool</span> doNormalize = <span class="keyword">true</span>,
00042 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a2">setFrequency</a>(StkFloat frequency); <a name="l00032"></a>00032 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkThreshold = 1000000, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> chunkSize = 1024 );
00043 <a name="l00033"></a>00033
00045 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a3">addTime</a>(StkFloat time); <a name="l00035"></a>00035 <span class="keyword">virtual</span> <a class="code" href="classWaveLoop.html#a2">~WaveLoop</a>();
00046 <a name="l00036"></a>00036
00048 <a name="l00038"></a>00038
00053 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a4">addPhase</a>(StkFloat angle); <a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a3">openFile</a>( std::string fileName, <span class="keywordtype">bool</span> raw = <span class="keyword">false</span>, <span class="keywordtype">bool</span> doNormalize = <span class="keyword">true</span> );
00054 <a name="l00048"></a>00048
00056 <a name="l00050"></a>00050
00061 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a5">addPhaseOffset</a>(StkFloat angle); <a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a4">setRate</a>( StkFloat rate );
00062 <a name="l00054"></a>00054
00064 <span class="keyword">const</span> StkFloat *<a class="code" href="classWaveLoop.html#a6">tickFrame</a>(<span class="keywordtype">void</span>); <a name="l00056"></a>00056
00065 <a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a5">setFrequency</a>( StkFloat frequency );
00067 <a name="l00063"></a>00063
00070 StkFloat *<a class="code" href="classWaveLoop.html#a6">tickFrame</a>(StkFloat *frameVector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> frames); <a name="l00065"></a>00065 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a6">addTime</a>( StkFloat time );
00071 <a name="l00066"></a>00066
00073 <a name="l00068"></a>00068
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 ); <a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a7">addPhase</a>( StkFloat angle );
00080 <a name="l00074"></a>00074
00081 <span class="keyword">protected</span>: <a name="l00076"></a>00076
00082 <a name="l00081"></a>00081 <span class="keywordtype">void</span> <a class="code" href="classWaveLoop.html#a8">addPhaseOffset</a>( StkFloat angle );
00083 <span class="comment">// Read file data.</span> <a name="l00082"></a>00082
00084 <span class="keywordtype">void</span> readData(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> index); <a name="l00083"></a>00083 <span class="keyword">protected</span>:
00085 <a name="l00084"></a>00084
00086 StkFloat phaseOffset_; <a name="l00085"></a>00085 <span class="keyword">virtual</span> <span class="keywordtype">void</span> computeFrame( <span class="keywordtype">void</span> );
00087 <a name="l00086"></a>00086
00088 }; <a name="l00087"></a>00087 <a class="code" href="classStkFrames.html">StkFrames</a> firstFrame_;
00089 <a name="l00088"></a>00088 StkFloat phaseOffset_;
00090 <span class="preprocessor">#endif</span> <a name="l00089"></a>00089
<a name="l00090"></a>00090 };
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,78 +8,75 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Whistle.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00017 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00018 <h1>Whistle.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00019 <span class="preprocessor">#ifndef STK_WHISTLE_H</span> <a name="l00017"></a>00017 <span class="comment">/***************************************************/</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_WHISTLE_H</span> <a name="l00018"></a>00018
00021 <span class="preprocessor"></span> <a name="l00019"></a>00019 <span class="preprocessor">#ifndef STK_WHISTLE_H</span>
00022 <span class="preprocessor">#include "Instrmnt.h"</span> <a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define STK_WHISTLE_H</span>
00023 <span class="preprocessor">#include "Sphere.h"</span> <a name="l00021"></a>00021 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "Vector3D.h"</span> <a name="l00022"></a>00022 <span class="preprocessor">#include "Instrmnt.h"</span>
00025 <span class="preprocessor">#include "Noise.h"</span> <a name="l00023"></a>00023 <span class="preprocessor">#include "Sphere.h"</span>
00026 <span class="preprocessor">#include "WaveLoop.h"</span> <a name="l00024"></a>00024 <span class="preprocessor">#include "Vector3D.h"</span>
00027 <span class="preprocessor">#include "OnePole.h"</span> <a name="l00025"></a>00025 <span class="preprocessor">#include "Noise.h"</span>
00028 <span class="preprocessor">#include "Envelope.h"</span> <a name="l00026"></a>00026 <span class="preprocessor">#include "SineWave.h"</span>
00029 <a name="l00027"></a>00027 <span class="preprocessor">#include "OnePole.h"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "Envelope.h"</span>
<a name="l00029"></a>00029
<a name="l00030"></a><a class="code" href="classWhistle.html">00030</a> <span class="keyword">class </span><a class="code" href="classWhistle.html">Whistle</a> : <span class="keyword">public</span> <a class="code" href="classInstrmnt.html">Instrmnt</a> <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 { <a name="l00031"></a>00031 {
00032 <span class="keyword">public</span>: <a name="l00032"></a>00032 <span class="keyword">public</span>:
00034 <a name="l00034"></a>00034
00037 <a class="code" href="classWhistle.html#a0">Whistle</a>(); <a name="l00037"></a>00037 <a class="code" href="classWhistle.html#a0">Whistle</a>();
00038 <a name="l00038"></a>00038
00040 <a class="code" href="classWhistle.html#a1">~Whistle</a>(); <a name="l00040"></a>00040 <a class="code" href="classWhistle.html#a1">~Whistle</a>();
00041 <a name="l00041"></a>00041
00043 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a2">clear</a>(); <a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a2">clear</a>();
00044 <a name="l00044"></a>00044
00046 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a3">setFrequency</a>(StkFloat frequency); <a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a3">setFrequency</a>(StkFloat frequency);
00047 <a name="l00047"></a>00047
00049 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate); <a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a4">startBlowing</a>(StkFloat amplitude, StkFloat rate);
00050 <a name="l00050"></a>00050
00052 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a5">stopBlowing</a>(StkFloat rate); <a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a5">stopBlowing</a>(StkFloat rate);
00053 <a name="l00053"></a>00053
00055 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a6">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00056 <a name="l00056"></a>00056
00058 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a7">noteOff</a>(StkFloat amplitude); <a name="l00058"></a>00058 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a7">noteOff</a>(StkFloat amplitude);
00059 <a name="l00059"></a>00059
00061 StkFloat <a class="code" href="classWhistle.html#a8">tick</a>(); <a name="l00061"></a>00061 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a8">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value);
00062 <a name="l00062"></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); <a name="l00063"></a>00063 <span class="keyword">protected</span>:
00065 <a name="l00064"></a>00064
00067 <a name="l00065"></a>00065 StkFloat computeSample( <span class="keywordtype">void</span> );
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 ); <a name="l00066"></a>00066
00074 <a name="l00067"></a>00067 <a class="code" href="classVector3D.html">Vector3D</a> *tempVectorP_;
00076 <span class="keywordtype">void</span> <a class="code" href="classWhistle.html#a11">controlChange</a>(<span class="keywordtype">int</span> number, StkFloat value); <a name="l00068"></a>00068 <a class="code" href="classVector3D.html">Vector3D</a> tempVector_;
00077 <a name="l00069"></a>00069 <a class="code" href="classOnePole.html">OnePole</a> onepole_;
00078 <span class="keyword">protected</span>: <a name="l00070"></a>00070 <a class="code" href="classNoise.html">Noise</a> noise_;
00079 <a name="l00071"></a>00071 <a class="code" href="classEnvelope.html">Envelope</a> envelope_;
00080 <a class="code" href="classVector3D.html">Vector3D</a> *tempVectorP_; <a name="l00072"></a>00072 <a class="code" href="classSphere.html">Sphere</a> can_; <span class="comment">// Declare a Spherical "can".</span>
00081 <a class="code" href="classVector3D.html">Vector3D</a> tempVector_; <a name="l00073"></a>00073 <a class="code" href="classSphere.html">Sphere</a> pea_, bumper_; <span class="comment">// One spherical "pea", and a spherical "bumper".</span>
00082 <a class="code" href="classOnePole.html">OnePole</a> onepole_; <a name="l00074"></a>00074
00083 <a class="code" href="classNoise.html">Noise</a> noise_; <a name="l00075"></a>00075 <a class="code" href="classSineWave.html">SineWave</a> sine_;
00084 <a class="code" href="classEnvelope.html">Envelope</a> envelope_; <a name="l00076"></a>00076
00085 <a class="code" href="classSphere.html">Sphere</a> can_; <span class="comment">// Declare a Spherical "can".</span> <a name="l00077"></a>00077 StkFloat baseFrequency_;
00086 <a class="code" href="classSphere.html">Sphere</a> pea_, bumper_; <span class="comment">// One spherical "pea", and a spherical "bumper".</span> <a name="l00078"></a>00078 StkFloat noiseGain_;
00087 <a name="l00079"></a>00079 StkFloat fippleFreqMod_;
00088 <a class="code" href="classWaveLoop.html">WaveLoop</a> *sine_; <a name="l00080"></a>00080 StkFloat fippleGainMod_;
00089 <a name="l00081"></a>00081 StkFloat blowFreqMod_;
00090 StkFloat baseFrequency_; <a name="l00082"></a>00082 StkFloat tickSize_;
00091 StkFloat noiseGain_; <a name="l00083"></a>00083 StkFloat canLoss_;
00092 StkFloat fippleFreqMod_; <a name="l00084"></a>00084 <span class="keywordtype">int</span> subSample_, subSampCount_;
00093 StkFloat fippleGainMod_; <a name="l00085"></a>00085 };
00094 StkFloat blowFreqMod_; <a name="l00086"></a>00086
00095 StkFloat tickSize_; <a name="l00087"></a>00087 <span class="preprocessor">#endif</span>
00096 StkFloat canLoss_;
00097 <span class="keywordtype">int</span> subSample_, subSampCount_;
00098 };
00099
00100 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,41 +8,40 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>Wurley.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00031 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00032 <h1>Wurley.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00033 <span class="preprocessor">#ifndef STK_WURLEY_H</span> <a name="l00031"></a>00031 <span class="comment">/***************************************************/</span>
00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_WURLEY_H</span> <a name="l00032"></a>00032
00035 <span class="preprocessor"></span> <a name="l00033"></a>00033 <span class="preprocessor">#ifndef STK_WURLEY_H</span>
00036 <span class="preprocessor">#include "FM.h"</span> <a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define STK_WURLEY_H</span>
00037 <a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00036"></a>00036 <span class="preprocessor">#include "FM.h"</span>
<a name="l00037"></a>00037
<a name="l00038"></a><a class="code" href="classWurley.html">00038</a> <span class="keyword">class </span><a class="code" href="classWurley.html">Wurley</a> : <span class="keyword">public</span> <a class="code" href="classFM.html">FM</a> <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 { <a name="l00039"></a>00039 {
00040 <span class="keyword">public</span>: <a name="l00040"></a>00040 <span class="keyword">public</span>:
00042 <a name="l00042"></a>00042
00045 <a class="code" href="classWurley.html#a0">Wurley</a>(); <a name="l00045"></a>00045 <a class="code" href="classWurley.html#a0">Wurley</a>();
00046 <a name="l00046"></a>00046
00048 <a class="code" href="classWurley.html#a1">~Wurley</a>(); <a name="l00048"></a>00048 <a class="code" href="classWurley.html#a1">~Wurley</a>();
00049 <a name="l00049"></a>00049
00051 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a2">setFrequency</a>(StkFloat frequency); <a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a2">setFrequency</a>(StkFloat frequency);
00052 <a name="l00052"></a>00052
00054 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude); <a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classWurley.html#a3">noteOn</a>(StkFloat frequency, StkFloat amplitude);
00055 <a name="l00055"></a>00055
00057 StkFloat <a class="code" href="classWurley.html#a4">tick</a>(); <a name="l00056"></a>00056 <span class="keyword">protected</span>:
00058 <a name="l00057"></a>00057
00060 StkFloat *<a class="code" href="classWurley.html#a4">tick</a>(StkFloat *vector, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> vectorSize); <a name="l00058"></a>00058 StkFloat computeSample( <span class="keywordtype">void</span> );
00061 <a name="l00059"></a>00059 };
00063 <a name="l00060"></a>00060
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 ); <a name="l00061"></a>00061 <span class="preprocessor">#endif</span>
00070 };
00071
00072 <span class="preprocessor">#endif</span>
</pre></div><HR> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,132 +8,60 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>WvIn.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00043 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00044 <h1>WvIn.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00045 <span class="preprocessor">#ifndef STK_WVIN_H</span> <a name="l00018"></a>00018 <span class="comment">/***************************************************/</span>
00046 <span class="preprocessor"></span><span class="preprocessor">#define STK_WVIN_H</span> <a name="l00019"></a>00019
00047 <span class="preprocessor"></span> <a name="l00020"></a>00020 <span class="preprocessor">#ifndef STK_WVIN_H</span>
00048 <span class="comment">// Files larger than CHUNK_THRESHOLD will be copied into memory</span> <a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define STK_WVIN_H</span>
00049 <span class="comment">// in CHUNK_SIZE increments, rather than completely loaded into</span> <a name="l00022"></a>00022 <span class="preprocessor"></span>
00050 <span class="comment">// a buffer at once.</span> <a name="l00023"></a>00023 <span class="preprocessor">#include "Stk.h"</span>
00051 <a name="l00024"></a>00024 <span class="preprocessor">#include &lt;vector&gt;</span>
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> <a name="l00025"></a>00025
00053 <span class="keyword">const</span> <span class="keywordtype">long</span> CHUNK_SIZE = 1024; <span class="comment">// sample frames</span> <a name="l00026"></a><a class="code" href="classWvIn.html">00026</a> <span class="keyword">class </span><a class="code" href="classWvIn.html">WvIn</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00054 <a name="l00027"></a>00027 {
00055 <span class="preprocessor">#include "Stk.h"</span> <a name="l00028"></a>00028 <span class="keyword">public</span>:
00056 <a name="l00030"></a>00030 <a class="code" href="classWvIn.html#a0">WvIn</a>();
<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> <a name="l00031"></a>00031
00058 { <a name="l00033"></a>00033 <span class="keyword">virtual</span> <a class="code" href="classWvIn.html#a1">~WvIn</a>();
00059 <span class="keyword">public</span>: <a name="l00034"></a>00034
00061 <a class="code" href="classWvIn.html#a0">WvIn</a>(); <a name="l00036"></a><a class="code" href="classWvIn.html#a2">00036</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classWvIn.html#a2">getChannels</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> data_.<a class="code" href="classStkFrames.html#a12">channels</a>(); };
00062 <a name="l00037"></a>00037
00064 <a name="l00039"></a>00039
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> ); <a name="l00042"></a>00042 StkFloat <a class="code" href="classWvIn.html#a3">lastOut</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00069 <a name="l00043"></a>00043
00071 <span class="keyword">virtual</span> <a class="code" href="classWvIn.html#a2">~WvIn</a>(); <a name="l00045"></a>00045
00072 <a name="l00048"></a><a class="code" href="classWvIn.html#a4">00048</a> <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWvIn.html#a4">lastFrame</a>( <span class="keywordtype">void</span> )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> lastOutputs_; };
00074 <a name="l00049"></a>00049
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> ); <a name="l00051"></a>00051
00079 <a name="l00054"></a>00054 StkFloat <a class="code" href="classWvIn.html#a5">tick</a>( <span class="keywordtype">void</span> );
00081 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a4">closeFile</a>(<span class="keywordtype">void</span>); <a name="l00055"></a>00055
00082 <a name="l00057"></a>00057
00084 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a5">reset</a>(<span class="keywordtype">void</span>); <a name="l00064"></a>00064 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWvIn.html#a5">tick</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
00085 <a name="l00065"></a>00065
00087 <a name="l00067"></a>00067
00093 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a6">normalize</a>(<span class="keywordtype">void</span>); <a name="l00073"></a>00073 <a class="code" href="classStkFrames.html">StkFrames</a>&amp; <a class="code" href="classWvIn.html#a7">tickFrame</a>( <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
00094 <a name="l00074"></a>00074
00096 <a name="l00075"></a>00075 <span class="keyword">protected</span>:
00102 <span class="keywordtype">void</span> <a class="code" href="classWvIn.html#a6">normalize</a>(StkFloat peak); <a name="l00076"></a>00076
00103 <a name="l00077"></a>00077 <span class="comment">// This abstract function must be implemented in all subclasses.</span>
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>; <a name="l00078"></a>00078 <span class="comment">// It is used to get around a C++ problem with overloaded virtual</span>
00106 <a name="l00079"></a>00079 <span class="comment">// functions.</span>
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>; <a name="l00080"></a>00080 <span class="keyword">virtual</span> <span class="keywordtype">void</span> computeFrame( <span class="keywordtype">void</span> ) = 0;
00109 <a name="l00081"></a>00081
00111 <a name="l00082"></a>00082 <a class="code" href="classStkFrames.html">StkFrames</a> data_;
00116 StkFloat <a class="code" href="classWvIn.html#a10">getFileRate</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00083"></a>00083 <a class="code" href="classStkFrames.html">StkFrames</a> lastOutputs_;
00117 <a name="l00084"></a>00084
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>; <a name="l00085"></a>00085 };
00120 <a name="l00086"></a>00086
00122 <a name="l00087"></a>00087 <span class="preprocessor">#endif</span>
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> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,121 +8,67 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>WvOut.h</h1><div class="fragment"><pre>00001 <span class="comment">/***************************************************/</span> <div class="nav">
00034 <span class="comment">/***************************************************/</span> <a class="el" href="dir_000000.html">include</a></div>
00035 <h1>WvOut.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************/</span>
00036 <span class="preprocessor">#ifndef STK_WVOUT_H</span> <a name="l00021"></a>00021 <span class="comment">/***************************************************/</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#define STK_WVOUT_H</span> <a name="l00022"></a>00022
00038 <span class="preprocessor"></span> <a name="l00023"></a>00023 <span class="preprocessor">#ifndef STK_WVOUT_H</span>
00039 <span class="preprocessor">#include "Stk.h"</span> <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define STK_WVOUT_H</span>
00040 <a name="l00025"></a>00025 <span class="preprocessor"></span>
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> <a name="l00026"></a>00026 <span class="preprocessor">#include "Stk.h"</span>
00042 <a name="l00027"></a>00027 <span class="preprocessor">#include &lt;vector&gt;</span>
<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> <a name="l00028"></a>00028
00044 { <a name="l00029"></a><a class="code" href="classWvOut.html">00029</a> <span class="keyword">class </span><a class="code" href="classWvOut.html">WvOut</a> : <span class="keyword">public</span> <a class="code" href="classStk.html">Stk</a>
00045 <span class="keyword">public</span>: <a name="l00030"></a>00030 {
00046 <a name="l00031"></a>00031 <span class="keyword">public</span>:
00047 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> FILE_TYPE; <a name="l00032"></a>00032
00048 <a name="l00034"></a>00034 <a class="code" href="classWvOut.html#a0">WvOut</a>();
<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="l00035"></a>00035
<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="l00037"></a>00037 <span class="keyword">virtual</span> <a class="code" href="classWvOut.html#a1">~WvOut</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="l00038"></a>00038
<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="l00040"></a>00040 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classWvOut.html#a2">getFrameCount</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
<a name="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>; <a name="l00041"></a>00041
00055 <a name="l00043"></a>00043 StkFloat <a class="code" href="classWvOut.html#a3">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>;
00056 <a class="code" href="classWvOut.html#a0">WvOut</a>(); <a name="l00044"></a>00044
00057 <a name="l00046"></a><a class="code" href="classWvOut.html#a4">00046</a> <span class="keywordtype">bool</span> <a class="code" href="classWvOut.html#a4">clipStatus</a>( <span class="keywordtype">void</span> ) { <span class="keywordflow">return</span> clipping_; };
00059 <a name="l00047"></a>00047
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 ); <a name="l00049"></a><a class="code" href="classWvOut.html#a5">00049</a> <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a5">resetClipStatus</a>( <span class="keywordtype">void</span> ) { clipping_ = <span class="keyword">false</span>; };
00063 <a name="l00050"></a>00050
00065 <span class="keyword">virtual</span> <a class="code" href="classWvOut.html#a2">~WvOut</a>(); <a name="l00052"></a>00052
00066 <a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a6">tick</a>( <span class="keyword">const</span> StkFloat sample );
00068 <a name="l00056"></a>00056
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, <a name="l00058"></a>00058
00072 WvOut::FILE_TYPE type = WVOUT_WAV, Stk::StkFormat format = STK_SINT16 ); <a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a6">tick</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> channel = 0 );
00073 <a name="l00065"></a>00065
00075 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a4">closeFile</a>( <span class="keywordtype">void</span> ); <a name="l00067"></a>00067
00076 <a name="l00072"></a>00072 <span class="keywordtype">void</span> <a class="code" href="classWvOut.html#a8">tickFrame</a>( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames );
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>; <a name="l00073"></a>00073
00079 <a name="l00074"></a>00074 <span class="keyword">protected</span>:
00081 StkFloat <a class="code" href="classWvOut.html#a6">getTime</a>( <span class="keywordtype">void</span> ) <span class="keyword">const</span>; <a name="l00075"></a>00075
00082 <a name="l00076"></a>00076 <span class="comment">// These abstract functions must be implemented in all subclasses.</span>
<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_; }; <a name="l00077"></a>00077 <span class="comment">// They are used to get around a C++ problem with overloaded virtual</span>
00085 <a name="l00078"></a>00078 <span class="comment">// functions.</span>
<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>; }; <a name="l00079"></a>00079 <span class="keyword">virtual</span> <span class="keywordtype">void</span> computeSample( <span class="keyword">const</span> StkFloat sample ) = 0;
00088 <a name="l00080"></a>00080
00090 <a name="l00081"></a>00081 <span class="keyword">virtual</span> <span class="keywordtype">void</span> computeFrames( <span class="keyword">const</span> <a class="code" href="classStkFrames.html">StkFrames</a>&amp; frames ) = 0;
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); <a name="l00082"></a>00082
00094 <a name="l00083"></a>00083 <span class="comment">// Check for sample clipping and clamp.</span>
00096 <a name="l00084"></a>00084 StkFloat&amp; clipTest( StkFloat&amp; sample );
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 ); <a name="l00085"></a>00085
00100 <a name="l00086"></a>00086 <a class="code" href="classStkFrames.html">StkFrames</a> data_;
00102 <a name="l00087"></a>00087 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> frameCounter_;
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 ); <a name="l00088"></a>00088 <span class="keywordtype">bool</span> clipping_;
00109 <a name="l00089"></a>00089
00111 <a name="l00090"></a>00090 };
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); <a name="l00091"></a>00091
00115 <a name="l00092"></a>00092 <span class="preprocessor">#endif</span>
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> </pre></div><HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

View File

@@ -8,13 +8,16 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P> <img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER> <a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR> <HR>
<!-- Generated by Doxygen 1.3.4 --> <!-- Generated by Doxygen 1.4.4 -->
<h1>STK Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table> <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="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="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="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="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="classBiQuad.html">BiQuad</a></td><td class="indexvalue">STK biquad (two-pole, two-zero) filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBlit.html">Blit</a></td><td class="indexvalue">STK band-limited impulse train class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBlitSaw.html">BlitSaw</a></td><td class="indexvalue">STK band-limited sawtooth wave class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBlitSquare.html">BlitSquare</a></td><td class="indexvalue">STK band-limited square wave class </td></tr>
<tr><td class="indexkey"><a class="el" href="classBlowBotl.html">BlowBotl</a></td><td class="indexvalue">STK blown bottle instrument class </td></tr> <tr><td class="indexkey"><a class="el" href="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="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="classBowed.html">Bowed</a></td><td class="indexvalue">STK bowed string instrument class </td></tr>
@@ -29,6 +32,10 @@
<tr><td class="indexkey"><a class="el" href="classEcho.html">Echo</a></td><td class="indexvalue">STK echo effect class </td></tr> <tr><td class="indexkey"><a class="el" href="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="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="classEnvelope.html">Envelope</a></td><td class="indexvalue">STK envelope base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFileRead.html">FileRead</a></td><td class="indexvalue">STK audio file input class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFileWrite.html">FileWrite</a></td><td class="indexvalue">STK audio file output class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFileWvIn.html">FileWvIn</a></td><td class="indexvalue">STK audio file input class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFileWvOut.html">FileWvOut</a></td><td class="indexvalue">STK audio file output class </td></tr>
<tr><td class="indexkey"><a class="el" href="classFilter.html">Filter</a></td><td class="indexvalue">STK filter class </td></tr> <tr><td class="indexkey"><a class="el" href="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="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="classFM.html">FM</a></td><td class="indexvalue">STK abstract FM synthesis base class </td></tr>
@@ -36,7 +43,10 @@
<tr><td class="indexkey"><a class="el" href="classFormSwep.html">FormSwep</a></td><td class="indexvalue">STK sweepable formant filter class </td></tr> <tr><td class="indexkey"><a class="el" href="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="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="classGenerator.html">Generator</a></td><td class="indexvalue">STK abstract unit generator parent class </td></tr>
<tr><td class="indexkey"><a class="el" href="classGranulate.html">Granulate</a></td><td class="indexvalue">STK granular synthesis class </td></tr>
<tr><td class="indexkey"><a class="el" href="classHevyMetl.html">HevyMetl</a></td><td class="indexvalue">STK heavy metal <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr> <tr><td class="indexkey"><a class="el" href="classHevyMetl.html">HevyMetl</a></td><td class="indexvalue">STK heavy metal <a class="el" href="classFM.html">FM</a> synthesis instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classInetWvIn.html">InetWvIn</a></td><td class="indexvalue">STK internet streaming input class </td></tr>
<tr><td class="indexkey"><a class="el" href="classInetWvOut.html">InetWvOut</a></td><td class="indexvalue">STK internet streaming output class </td></tr>
<tr><td class="indexkey"><a class="el" href="classInstrmnt.html">Instrmnt</a></td><td class="indexvalue">STK instrument abstract base class </td></tr> <tr><td class="indexkey"><a class="el" href="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="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="classJetTable.html">JetTable</a></td><td class="indexvalue">STK jet table class </td></tr>
@@ -76,38 +86,39 @@
<tr><td class="indexkey"><a class="el" href="classSaxofony.html">Saxofony</a></td><td class="indexvalue">STK faux conical bore reed instrument class </td></tr> <tr><td class="indexkey"><a class="el" href="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="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="classSimple.html">Simple</a></td><td class="indexvalue">STK wavetable/noise instrument </td></tr>
<tr><td class="indexkey"><a class="el" href="classSineWave.html">SineWave</a></td><td class="indexvalue">STK sinusoid oscillator class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSingWave.html">SingWave</a></td><td class="indexvalue">STK "singing" looped soundfile class </td></tr> <tr><td class="indexkey"><a class="el" href="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="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="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="structSkini_1_1Message.html">Skini::Message</a></td><td class="indexvalue">A message structure to store and pass parsed SKINI messages </td></tr>
<tr><td class="indexkey"><a class="el" href="classSocket.html">Socket</a></td><td class="indexvalue">STK TCP socket client/server class </td></tr> <tr><td class="indexkey"><a class="el" href="classSocket.html">Socket</a></td><td class="indexvalue">STK internet socket abstract base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classSphere.html">Sphere</a></td><td class="indexvalue">STK sphere class </td></tr> <tr><td class="indexkey"><a class="el" href="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="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="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="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="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="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="classTcpClient.html">TcpClient</a></td><td class="indexvalue">STK TCP socket client 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="classTcpServer.html">TcpServer</a></td><td class="indexvalue">STK TCP socket server 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="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="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="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="classTwoZero.html">TwoZero</a></td><td class="indexvalue">STK two-zero filter class </td></tr>
<tr><td class="indexkey"><a class="el" href="classUdpSocket.html">UdpSocket</a></td><td class="indexvalue">STK UDP socket server/client class </td></tr>
<tr><td class="indexkey"><a class="el" href="classVector3D.html">Vector3D</a></td><td class="indexvalue">STK 3D vector class </td></tr> <tr><td class="indexkey"><a class="el" href="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="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="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="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="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="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="classWvIn.html">WvIn</a></td><td class="indexvalue">STK audio input abstract base class </td></tr>
<tr><td class="indexkey"><a class="el" href="classWvOut.html">WvOut</a></td><td class="indexvalue">STK audio data output base class </td></tr> <tr><td class="indexkey"><a class="el" href="classWvOut.html">WvOut</a></td><td class="indexvalue">STK audio output abstract base class </td></tr>
</table> </table>
<HR> <HR>
<table> <table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr> <tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr> <tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table> </table>
</BODY> </BODY>

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