Release 4.2.1 tarball

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

View File

@@ -8,7 +8,7 @@
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<!-- Generated by Doxygen 1.4.4 -->
<h1><a class="anchor" name="usage">Usage Documentation</a></h1><ul>
<li><a class="el" href="usage.html#directory">Directory Structure:</a></li><li><a class="el" href="usage.html#compiling">Compiling:</a></li><li><a class="el" href="usage.html#control">Control Data:</a></li><li><a class="el" href="usage.html#voices">Demo: STK Instruments</a></li><li><a class="el" href="usage.html#nort">Demo: Non-Realtime Use</a></li><li><a class="el" href="usage.html#rt">Demo: Realtime Use</a></li><li><a class="el" href="usage.html#tcl">Realtime Control Input using Tcl/Tk Graphical User Interfaces:</a></li><li><a class="el" href="usage.html#midi">Realtime MIDI Control Input:</a></li><li><a class="el" href="usage.html#polyphony">Polyphony:</a></li></ul>
<p>
@@ -79,7 +79,7 @@ Several options can be supplied to the <code>configure</code> script to customiz
<code>--with-oss</code> to choose native OSS audio API support (linux only, no native OSS MIDI support) </li>
</ul>
<p>
Note that it is possible to specify as many of the "--with-" options as desired to compile multi-API support. In addition, it is possible to specify the location of the STK rawwaves and the STK include path as follows: <div class="fragment"><pre>./configure RAWWAVE_PATH=<span class="stringliteral">"/home/gary/rawwaves/"</span>
Note that it is possible to specify as many of the "--with-" options as desired to compile multi-API support. In addition, it is possible to specify the location of the STK rawwaves and the STK include path as follows: <div class="fragment"><pre class="fragment">./configure RAWWAVE_PATH=<span class="stringliteral">"/home/gary/rawwaves/"</span>
./configure INCLUDE_PATH=<span class="stringliteral">"/home/gary/include/"</span>
</pre></div><p>
For novice STK users, the default configuration should be adequate. </li>
@@ -96,7 +96,7 @@ For those who wish to create their own system-specific <code>Makefiles</code>: <
<b>SGI:</b> Realtime audio and MIDI support is enabled with the <code>__IRIX_AL__</code> and <code>__IRIX_MD__</code> preprocessor definitions and linkage with the <code>audio</code>, <code>md</code>, and <code>pthread</code> libraries. STK 4.0 (and higher) is confirmed to compile using CC version 7.30. There may be problems with old compiler versions.<p>
</li>
<li>
<b>Generic (non-realtime):</b> Most STK classes are operating system <em>independent</em> and can be compiled using any current C++ compiler. STK assumes big-endian host byte order by default, so if your system is little-endian (i.e. Intel processor), you must provide the <code>__LITTLE_ENDIAN__</code> preprocessor definition to your compiler. The <em><b>demo</b></em> project will compile without realtime support, allowing the use of SKINI scorefiles for input control and output to a variety of soundfile formats. The following classes <em>cannot</em> be used without realtime support: <a class="el" href="classRtAudio.html">RtAudio</a>, <a class="el" href="classRtWvIn.html">RtWvIn</a>, <a class="el" href="classRtWvOut.html">RtWvOut</a>, <a class="el" href="classRtDuplex.html">RtDuplex</a>, <a class="el" href="classRtMidi.html">RtMidi</a>, <a class="el" href="classSocket.html">Socket</a>, <a class="el" href="classThread.html">Thread</a>, <a class="el" href="classMutex.html">Mutex</a>, <a class="el" href="classTcpWvIn.html">TcpWvIn</a>, <a class="el" href="classTcpWvOut.html">TcpWvOut</a>. Because of this, it is not possible to compile the <em><b>effects</b></em>, <em><b>ragamatic</b></em>, and most of the <em><b>examples</b></em> projects for non-realtime use. </li>
<b>Generic (non-realtime):</b> Most STK classes are operating system <em>independent</em> and can be compiled using any current C++ compiler. STK assumes big-endian host byte order by default, so if your system is little-endian (i.e. Intel processor), you must provide the <code>__LITTLE_ENDIAN__</code> preprocessor definition to your compiler. The <em><b>demo</b></em> project will compile without realtime support, allowing the use of SKINI scorefiles for input control and output to a variety of soundfile formats. The following classes <em>cannot</em> be used without realtime support: <a class="el" href="classRtAudio.html">RtAudio</a>, <a class="el" href="classRtWvIn.html">RtWvIn</a>, <a class="el" href="classRtWvOut.html">RtWvOut</a>, <a class="el" href="classRtDuplex.html">RtDuplex</a>, <a class="el" href="classRtMidi.html">RtMidi</a>, <a class="el" href="classSocket.html">Socket</a>, <a class="el" href="classThread.html">Thread</a>, <a class="el" href="classMutex.html">Mutex</a>, TcpWvIn, TcpWvOut. Because of this, it is not possible to compile the <em><b>effects</b></em>, <em><b>ragamatic</b></em>, and most of the <em><b>examples</b></em> projects for non-realtime use. </li>
</ul>
<h2><a class="anchor" name="control">
Control Data:</a></h2>
@@ -174,13 +174,13 @@ The <em><b>demo</b></em> project demonstrates the behavior of all the distribute
Demo: Non-Realtime Use</a></h2>
See the information above with respect to compiling STK for non-realtime use.<p>
In non-realtime mode, it is assumed that input control messages are provided from a SKINI scorefile and that audio output is written to a soundfile (.snd, .wav, .aif, .mat, .raw). A number of SKINI scorefiles are provided in the <em>scores</em> directory of the <em><b>demo</b></em> project. Assuming a successful compilation of the <em><b>demo</b></em> program, typing:<p>
<div class="fragment"><pre>demo <a class="code" href="classBeeThree.html">BeeThree</a> -ow myfile.wav -<span class="keywordflow">if</span> scores/bookert.ski
<div class="fragment"><pre class="fragment">demo <a class="code" href="classBeeThree.html">BeeThree</a> -ow myfile.wav -<span class="keywordflow">if</span> scores/bookert.ski
</pre></div><p>
from the <em><b>demo</b></em> directory will play the scorefile <em>bookert.ski</em> using the STK <a class="el" href="classBeeThree.html">BeeThree</a> instrument and write the resulting audio data to a WAV formatted soundfile called "myfile.wav" (note that you may need to append <code>./</code> to the program name if your default shell setup is not set to look in the current directory). Typing <code>demo</code> without any arguments will provide a full program usage description.<h2><a class="anchor" name="rt">
Demo: Realtime Use</a></h2>
STK realtime audio and MIDI input/output and realtime SKINI control input via socketing support is provided for Linux, SGI, Mac OS X, and Windows95/98/2000/XP operating systems. STK realtime SKINI control input via piping is possible under Linux, SGI, Mac OS X, and Windows2000/XP only. <p>
Control input and audio output options are typically specified as command-line arguments to STK programs. For example, the <em><b>demo</b></em> program is invoked as:<p>
<div class="fragment"><pre>demo instrument flags
<div class="fragment"><pre class="fragment">demo instrument flags
</pre></div><p>
where instruments include those described above and flags can be any or all of: <ul>
<li>
@@ -206,12 +206,12 @@ where instruments include those described above and flags can be any or all of:
</ul>
The <em>-ip</em> and <em>-is</em> flags must be used when piping or socketing realtime SKINI control data to an STK program. The <em>-im</em> flag must be used to read MIDI control input from your MIDI port. Note that you can use all three input types simultaneously.<p>
Assuming a successful compilation of the <em><b>demo</b></em> program, typing:<p>
<div class="fragment"><pre>demo <a class="code" href="classBeeThree.html">BeeThree</a> -or -<span class="keywordflow">if</span> scores/bookert.ski
<div class="fragment"><pre class="fragment">demo <a class="code" href="classBeeThree.html">BeeThree</a> -or -<span class="keywordflow">if</span> scores/bookert.ski
</pre></div><p>
from the <em><b>demo</b></em> directory will play the scorefile <em>bookert.ski</em> using the STK <a class="el" href="classBeeThree.html">BeeThree</a> instrument and stream the resulting audio data in realtime to the audio output channel of your computer. Typing <code>demo</code> without any arguments will provide a full program usage description.<h2><a class="anchor" name="tcl">
Realtime Control Input using Tcl/Tk Graphical User Interfaces:</a></h2>
There are a number of <a href="http://dev.scriptics.com">Tcl/Tk</a> GUIs supplied with the STK projects. These scripts require Tcl/Tk version 8.0 or later, which can be downloaded for free over the WWW. On Unix and Windows2000/XP platforms, you can run the various executable scripts (e.g. StkDemo.bat) provided with each project to start everything up (you may need to symbolically link the wishXX executable to the name <em>wish</em>). The Physical.bat script just implements the following command-line sequence:<p>
<div class="fragment"><pre>wish &lt; tcl/Physical.tcl | demo <a class="code" href="classClarinet.html">Clarinet</a> -or -ip
<div class="fragment"><pre class="fragment">wish &lt; tcl/Physical.tcl | demo <a class="code" href="classClarinet.html">Clarinet</a> -or -ip
</pre></div><p>
On WindowsXX and Unix platforms, the following operations are necessary to establish a socket connection between the Tcl/Tk GUI and the STK program: <ol>
<li>
@@ -225,17 +225,17 @@ Establish the socket connection by selecting <em><a class="el" href="classSocket
Note that it is possible to specify a hostname when establishing the socket connection from the socket client. Thus, the STK socket server program and the Tcl/Tk GUI need not necessarily reside on the same computer.<h2><a class="anchor" name="midi">
Realtime MIDI Control Input:</a></h2>
On all supported realtime platforms, you can direct realtime MIDI input to the STK <a class="el" href="classClarinet.html">Clarinet</a> by typing:<p>
<div class="fragment"><pre>demo <a class="code" href="classClarinet.html">Clarinet</a> -or -im
<div class="fragment"><pre class="fragment">demo <a class="code" href="classClarinet.html">Clarinet</a> -or -im
</pre></div><p>
This will attempt to use the default MIDI port for input. An optional MIDI port number can be specified after the <code>-im</code> flag. Valid MIDI ports are numbered from 0 (default) and higher. On Linux and Macintosh OS-X systems, it is possible to open a virtual MIDI input port (which other software applications can connect to) by specifying a port identifier of -1.<h2><a class="anchor" name="polyphony">
Polyphony:</a></h2>
The <em><b>demo</b></em> program supports an arbitrary number of voices via the <code>-n NUMBER</code> command-line flag and argument. For example, you can play eight <a class="el" href="classBeeThree.html">BeeThree</a> instruments with realtime output and control them from a MIDI device by typing:<p>
<div class="fragment"><pre>demo <a class="code" href="classBeeThree.html">BeeThree</a> -n 8 -or -im
</pre></div><HR>
<div class="fragment"><pre class="fragment">demo <a class="code" href="classBeeThree.html">BeeThree</a> -n 8 -or -im
</pre></div> <HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
<tr><td>&copy;1995-2005 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>