Merge 4.1.2 into releases

This commit is contained in:
Stephen Sinclair
2013-09-29 23:37:02 +02:00
125 changed files with 7301 additions and 5337 deletions

View File

@@ -1,6 +1,6 @@
STK: A ToolKit of Audio Synthesis Classes and Instruments in C++
By Perry R. Cook and Gary P. Scavone, 1995-2002.
By Perry R. Cook and Gary P. Scavone, 1995-2004.
STK Classes - See the HTML documentation in the html directory for complete information.
@@ -77,7 +77,7 @@ Sources: Envelope.cpp Linearly Goes to Target by Rate
TcpWvIn.cpp Audio Streaming (socket server) Input Class (subclass of WvIn)
Sinks: WvOut.cpp Output Master Class for RAW, WAV, SND (AU), AIFF, MAT-file files
RtWvOut.cpp Realtime Output Class (subclass of WvOut)
RtWvOut.cpp Realtime Audio Output Class (subclass of WvOut)
TcpWvOut.cpp Audio Streaming (socket client) Output Class (subclass of WvOut)
Duplex: RtDuplex.cpp Synchronous Realtime Audio Input/Output Class
@@ -98,14 +98,14 @@ Non-Linear: JetTabl.cpp Cubic Jet Non-Linearity
BowTabl.cpp x^(-3) Bow Non-Linearity
ReedTabl.cpp One Breakpoint Saturating Reed Non-Linearity
Derived: Modulate.cpp Periodic and Random Vibrato: RawWvIn, SubNoise, OnePole
Derived: Modulate.cpp Periodic and Random Vibrato: WvIn, SubNoise, OnePole
SingWave.cpp Looping wave table with randomness: Modulate, WaveLoop, Envelope
********** INSTRUMENTS AND ALGORITHMS **************
Each Class will be listed either with all the unit generators it uses,
or the <<Algorithm>> of which it is a flavor. All inherit from Instrmnt,
Each class is listed either with some of the unit generators it uses,
or in terms of the algorithm it implements. All inherit from Instrmnt,
which inherits from Stk.
Simple.cpp Simple Instrument Pulse oscillator + resonant filtered noise

View File

@@ -1,6 +1,6 @@
The Synthesis ToolKit in C++ (STK)
By Perry R. Cook and Gary P. Scavone, 1995-2002.
By Perry R. Cook and Gary P. Scavone, 1995-2004.
Please read the file README and INSTALL for more general STK information.

View File

@@ -1,12 +1,12 @@
The Synthesis ToolKit in C++ (STK)
By Perry R. Cook and Gary P. Scavone, 1995-2002.
By Perry R. Cook and Gary P. Scavone, 1995-2004.
Please read the file README and INSTALL for more general STK information.
Realtime support for Macintosh OS X uses the CoreAudio HAL API and is specified during compilation using the __MACOSX_CORE__ preprocessor definition.
It is necessary to download the OS X developer kit in order to compile STK. STK was successfully tested on OS X versions 10.1 and 10.2.
It is necessary to download the OS X developer kit in order to compile STK. STK was successfully tested on OS X version 10.2.
The internal Macintosh audio hardware typically supports a sample rate of 44100 Hz only. Therefore, it is necessary to either specify this rate as a command-line option to the STK example programs or to change the default sample rate inside the Stk.h file before compilation. In addition, the RT_BUFFER_SIZE, specified in Stk.h, could be increased (to a higher power of two) for more robust performance.
@@ -15,15 +15,8 @@ There is a potential conflict between the STK Delay class and a Delay() function
Tcl/Tk on OS X:
The tcl/tk interpreter does not ship by default with OS X, but must be downloaded from the internet. Binary distributions exist but it is instead recommended that you download recent tcl and tk source distributions (http://dev.scriptics.com/software/tcltk/downloadnow84.tml) and compile them as follows:
make -C tcl/macosx deploy
make -C tk/macosx deploy
sudo make -C tcl/macosx install-deploy
sudo make -C tk/macosx install-deploy
(Note: the tcl and tk directories specified in the above lines will more likely be appended with version numbers) The default installation will place a link to the wish interpretor at /usr/bin/wish. The latest 8.4.1 release of tcl/tk has been tested on a 10.2 system and found to work correctly. In particular, redirection of a tcl/tk script to the interpreter (e.g., wish < test.tcl) works normally (which is not the case with binary distributions tested thus far).
The tcl/tk interpreter does not ship by default with OS X, but must be downloaded from the internet. The latest Tcl/Tk Aqua distribution (http://www.apple.com/downloads/macosx/unix_open_source/tcltk.html) has been successfully tested on a 10.2 system. The default installation will place a link to the wish interpretor at /usr/bin/wish.
Initial tests have shown somewhat poor response between changes made in the tcl/tk script and the resulting audio updates.
Also, it is not recommended to connect by socket from a tcl/tk script to an STK program because the tcl/tk interpreter does not appear to properly close the socket connection, leaving the STK program in a "hung" state.
It is possible to connect a tcl/tk interface to an STK program via a socket connection. However, the tcl/tk interpreter does not appear to properly close the socket connection during disconnection. It is therefore necessary to type "Exit" in the STK program terminal window to properly exit the STK program.

View File

@@ -1,6 +1,6 @@
The Synthesis ToolKit in C++ (STK)
By Perry R. Cook and Gary P. Scavone, 1995-2002.
By Perry R. Cook and Gary P. Scavone, 1995-2004.
Please read the file README and INSTALL for more general STK information.

View File

@@ -1,6 +1,6 @@
The Synthesis ToolKit in C++ (STK)
By Perry R. Cook and Gary P. Scavone, 1995-2002.
By Perry R. Cook and Gary P. Scavone, 1995-2004.
Please read the file README and INSTALL for more general STK information.

View File

@@ -1,6 +1,6 @@
The Synthesis ToolKit in C++ (STK)
By Perry R. Cook and Gary P. Scavone, 1995-2002.
By Perry R. Cook and Gary P. Scavone, 1995-2004.
Please read the file README for more general STK information.

View File

@@ -1,6 +1,20 @@
The Synthesis ToolKit in C++ (STK)
By Perry R. Cook and Gary P. Scavone, 1995-2002.
By Perry R. Cook and Gary P. Scavone, 1995-2004.
v4.1.2: (15 March 2004)
- added Linux JACK support to RtAudio
- added optional doNormalize argument to WvIn to allow specification of data normalization or not
- added volume control to demo program and various tcl scripts
- added support for dynamic rawwavePath() setting
- WaveLoop bug fix
- fixed bug in ADSR::setReleaseTime() method
- fixed missing initialization of apInput in non-default constructor of DelayA class
- added time seeding of random number generator to Noise constructor
- update to the contentsAt() method of Delay class
- WAV file fixes (8-bit) in WvIn and WvOut classes
- configure changes
- updated <iostream> include statements and appended "std::" as necessary throughout for compatibility with gcc 3
v4.1.1: (24 October 2002)
- bug fix in RtAudio for Macintosh OS X and Windows ASIO duplex operation
@@ -122,4 +136,4 @@ v1.0:
v0.8:
- One of (if not THE) original distributions for SGI, NeXTStep, and basic Win support. I think this came out in 1996.
- One of (if not THE) original distributions for SGI, NeXTStep, and basic Win support. I think this came out in 1996.

View File

@@ -1,44 +1,56 @@
# Doxyfile 1.2.6
# Doxyfile 1.3.6
#---------------------------------------------------------------------------
# General configuration options
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = STK
PROJECT_NUMBER =
OUTPUT_DIRECTORY = .
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CLASS_DIAGRAMS = YES
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
VERBATIM_HEADERS = YES
SHOW_INCLUDE_FILES = YES
JAVADOC_AUTOBRIEF = NO
INHERIT_DOCS = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = NO
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
ENABLED_SECTIONS =
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
ALIASES =
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
OPTIMIZE_OUTPUT_FOR_C = NO
SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
@@ -46,22 +58,37 @@ SHOW_USED_FILES = YES
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = . ../../include
FILE_PATTERNS = *.txt *.h
INPUT = . \
../../include
FILE_PATTERNS = *.txt \
*.h \
*.cpp
RECURSIVE = YES
EXCLUDE =
EXCLUDE_PATTERNS =
EXCLUDE = ../../src/asio
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = NO
@@ -72,11 +99,14 @@ IGNORE_PREFIX =
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = ../html
HTML_FILE_EXTENSION = .html
HTML_HEADER = header.html
HTML_FOOTER = footer.html
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
@@ -89,6 +119,8 @@ TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
GENERATE_LATEX = YES
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = letter
EXTRA_PACKAGES =
@@ -96,6 +128,7 @@ LATEX_HEADER = header.tex
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
@@ -104,12 +137,33 @@ RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
@@ -121,35 +175,38 @@ INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = NO
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 0
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO
CGI_NAME = search.cgi
CGI_URL =
DOC_URL =
DOC_ABSPATH =
BIN_ABSPATH = /usr/local/bin/
EXT_DOC_PATHS =

View File

@@ -58,7 +58,7 @@ g++ -Wall -D__LITTLE_ENDIAN__ -o sineosc Stk.cpp WvIn.cpp WaveLoop.cpp WvOut.cpp
Note that the <TT>sineosc.cpp</TT> example does not make use of realtime audio or MIDI input/output classes. For programs using any of the STK realtime classes mentioned above, it is necessary to specify an audio/MIDI API preprocessor definition and link with the appropriate libraries or frameworks.
When working with a number of different projects that make use of ToolKit classes, the above approach can become cumbersome (especially when trying to synchronize with new STK releases). The example STK projects (e.g., demo, effects, ...) contain <TT>Makefiles</TT> (built by the configure script) which compile project-specific class objects from the distribution <TT>src</TT> and <TT>include</TT> directories. This approach makes it relatively easy when upgrading to a new STK release (by making path substitutions in the <TT>Makefile</TT> or by moving the projects to a similar relative path within the new STK source tree). A <TT>Makefile</TT> of this sort is provided in the <TT>projects/examples</TT> directory for compiling all the tutorial programs, as well as other example programs. To compile the <TT>sineosc.cpp</TT> program, for example, one need only type <TT>make sineosc</TT> from within the <TT>projects/examples</TT> directory.
When working with a number of different projects that make use of ToolKit classes, the above approach can become cumbersome (especially when trying to synchronize with new STK releases). Most of the STK projects (e.g., demo, effects, ...) contain <TT>Makefiles</TT> (built by the configure script) which compile project-specific class objects from the distribution <TT>src</TT> and <TT>include</TT> directories. This approach makes it relatively easy when upgrading to a new STK release (by making path substitutions in the <TT>Makefile</TT> or by moving the projects to a similar relative path within the new STK source tree). A <TT>Makefile</TT> is provided in the <TT>projects/examples</TT> directory for compiling all the tutorial programs, as well as other example programs. To compile the <TT>sineosc.cpp</TT> program, for example, one need only type <TT>make sineosc</TT> from within the <TT>projects/examples</TT> directory. Note that this particular <TT>Makefile</TT> depends on a static library, as described in the next section.
\subsection library Library Use:

View File

@@ -1,26 +1,41 @@
/*! \page download Download and Release Notes
<B>Version 4.1.1, 24 October 2002</B><P>
<B>Version 4.1.2, 15 March 2004</B><P>
<UL>
<LI><A HREF="http://www-ccrma.stanford.edu/software/stk/release/stk-4.1.1.tar.gz">Source distribution</A> (1.2 MB tar/gzipped)</LI>
<LI><A HREF="http://www-ccrma.stanford.edu/software/stk/release/stk-4.1.1.binaries.tar.gz">Source with precompiled Windows binaries</A> (2.0 MB tar/gzipped)</LI>
<LI><A HREF="http://www-ccrma.stanford.edu/software/stk/release/stk-4.1.1-1.i386.rpm">Linux RPM</A> (1.2 MB) <B>Note: Library and Makefiles built for ALSA, though the rpm can be rebuilt to use OSS</B></LI>
<LI><A HREF="http://www-ccrma.stanford.edu/software/stk/release/stkmanual.pdf">STK Manual (PDF)</A> (1.62 MB) <B>Note: HTML version already in /doc/html/ directory of distribution</B></LI>
<LI><A HREF="http://www-ccrma.stanford.edu/software/stk/release/stk-4.1.2.tar.gz">Source distribution</A></LI>
<LI><A HREF="http://www-ccrma.stanford.edu/software/stk/release/stk-4.1.2.binaries.tar.gz">Source with precompiled Windows binaries</A></LI>
<LI><A HREF="http://www-ccrma.stanford.edu/planetccrma/software/">Linux RPMs from Planet CCRMA</A></LI>
</UL>
\section notes Release Notes:
\subsection v4dot1dot3 Version 4.1.1
\subsection v4dot1dot2 Version 4.1.2
<UL>
<LI>Bug fix in RtAudio for Macintosh OS X and Windows ASIO duplex operation.</LI>
<LI>Windows ASIO fix in Stk.h.</LI>
<LI>Documentation updates.</LI>
<LI>Expanded tutorial.</LI>
<LI>Fixed RtDuplex omission in src Makefile.</LI>
<li>Added Linux JACK support to RtAudio.</li>
<li>Added optional doNormalize argument to WvIn to allow specification of data normalization or not.</li>
<li>Added volume control to demo program and various tcl scripts.</li>
<li>Added support for dynamic rawwavePath() setting.</li>
<li>WaveLoop bug fix.</li>
<li>Fixed bug in ADSR::setReleaseTime() method.</li>
<li>Fixed missing initialization of apInput in non-default constructor of DelayA class.</li>
<li>Added time seeding of random number generator to Noise constructor.</li>
<li>Update to the contentsAt() method of Delay class.</li>
<li>WAV file fixes (8-bit) in WvIn and WvOut classes.</li>
<li>Configure script changes.</li>
<li>Updated <iostream> include statements and appended "std::" as necessary throughout for compatibility with gcc 3.</li>
</UL>
\subsection v4dot1dot1 Version 4.1.1
<ul>
<li>Bug fix in RtAudio for Macintosh OS X and Windows ASIO duplex operation.</li>
<li>Windows ASIO fix in Stk.h.</li>
<li>Documentation updates.</li>
<li>Expanded tutorial.</li>
<li>Fixed RtDuplex omission in src Makefile.</li>
</ul>
\subsection v4dot1 Version 4.1
<UL>

View File

@@ -2,8 +2,8 @@
<table>
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>
</HTML>

View File

@@ -5,6 +5,6 @@
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.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>
<HR>
<HR>

View File

@@ -2,6 +2,8 @@
<BODY BGCOLOR="white">
<center><h3>Perry R. Cook & Gary P. Scavone</h3></center>
The <B>Synthesis ToolKit in C++ (STK)</B> is a set of open source audio signal processing and algorithmic synthesis classes written in C++. STK was designed to facilitate rapid development of music synthesis and audio processing software, with an emphasis on cross-platform functionality, realtime control, ease of use, and educational example code. The Synthesis ToolKit is extremely portable (it's mostly platform-independent C and C++ code), and it's completely user-extensible (all source included, no unusual libraries, and no hidden drivers). We like to think that this increases the chances that our programs will still work in another 5-10 years. In fact, the ToolKit has been working continuously for nearly 8 years now. STK currently runs with "realtime" support (audio and MIDI) on SGI (Irix), Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.
- \ref information
@@ -18,4 +20,5 @@ The <B>Synthesis ToolKit in C++ (STK)</B> is a set of open source audio signal p
<P>
<FONT SIZE=-1>
STK is a registered trademark of Analytical Graphics, Inc., 40 General Warren Blvd., Malvern, PA 19355, the manufacturer of the Satellite Tool Kit<69> (STK<54>) family of satellite simulation software. Although the term "STK" is used in this website, the content of this site is in no way related to Analytical Graphics, Inc, or its registered STK mark. Nothing in this website should be construed to mean that a business relationship, either past or present, exists between Analytical Graphics, Inc. and the owners of this particular website.
</FONT>
</FONT>

View File

@@ -4,8 +4,16 @@
- <A HREF="http://kern.humdrum.net/">Kern Scores: A Library of Electronic Musical Scores</A> (with automatic conversion to SKINI format)
- <A HREF="http://stk.sapp.org/midi2skini">MIDI to SKINI file converter</A> by Craig Sapp
- <A HREF="http://stk.sapp.org/kern2skini">Kern Score to SKINI file converter</A> by Craig Sapp
- <A HREF="http://www.artassault.org/software/software.html">Calico - A Polyphonic Score File Parser for STK</A> by Greg Kellum
- <A HREF="http://www.music.columbia.edu/PeRColate/">PeRColate: A Port of STK for Max/MSP</A>
- <A HREF="http://mathmorphs.swiki.net/32/">A Partial Port of STK to Squeak</A>
*/
- <a href="http://airy.andre.online.fr/AU/index.html">AUStk: a demo of integration of STK instruments into an AudioUnit</a> by Airy Andre
*/

View File

@@ -2,6 +2,8 @@
An <A HREF="mailto:stk-request@ccrma.stanford.edu">STK</A> mailing list has been set up to facilitate communication among STK users. Subscribing to this list is your best way of keeping on top of new releases, bug fixes, and various user developments.
<P>
For answers to frequently asked questions, check the list <A HREF="http://ccrma-mail.stanford.edu/pipermail/stk/">archives</A>.
<P>
To join send a message to <A HREF="mailto:stk-request@ccrma.stanford.edu">&lt;stk-request@ccrma.stanford.edu&gt;</A>
with the contents: <TT>subscribe</TT>

View File

@@ -108,7 +108,7 @@ int main()
}
\endcode
Assuming the program is compiled as <TT>threebees</TT>, the three-voice SKINI scorefile <A HREF="tutorial/bachfugue.ski"><TT>bachfugue.ski</TT></A> could be redirected to the program as:
Assuming the program is compiled as <TT>threebees</TT>, the three-voice SKINI scorefile <A HREF="tutorial/bachfugue.ski"><TT>bachfugue.ski</TT></A> (also located in the <tt>scores</tt> directory with the examples) could be redirected to the program as:
\code
threebees < bachfugue.ski

View File

@@ -15,17 +15,10 @@
<B>Macintosh OS X (specific):</B>
<UL>
<LI>A C++ compiler does not ship by default with OS X. It is necessary to download the Developer Kit from the Apple WWW site in order to compile STK.</LI>
<LI>The internal Macintosh audio hardware typically supports a sample rate of 44100 Hz only. Therefore, it is necessary to either specify this rate as a command-line option to the STK example programs or to change the default sample rate inside the Stk.h file before compilation. In addition, the RT_BUFFER_SIZE, specified in Stk.h, could be increased (to a higher power of two) for more robust performance.</LI>
<LI>The tcl/tk interpreter does not ship by default with OS X, but must be downloaded from the internet. Binary distributions exist but it is instead recommended that you download recent tcl and tk source distributions (http://dev.scriptics.com/software/tcltk/downloadnow84.tml) and compile them as follows:
<LI><B>IMPORTANT:</B>The internal Macintosh audio hardware typically supports a sample rate of 44100 Hz only. Therefore, it is necessary to either specify this rate as a command-line option to the STK example programs or to change the default sample rate inside the Stk.h file before compilation. In addition, the RT_BUFFER_SIZE, specified in Stk.h, could be increased (to a higher power of two) for more robust performance.</LI>
<LI>The tcl/tk interpreter does not ship by default with OS X, but must be downloaded from the internet. The latest Tcl/Tk Aqua distribution (http://www.apple.com/downloads/macosx/unix_open_source/tcltk.html) has been successfully tested on a 10.2 system. The default installation will place a link to the wish interpretor at /usr/bin/wish.
make -C tcl/macosx deploy<BR>
make -C tk/macosx deploy<BR>
sudo make -C tcl/macosx install-deploy<BR>
sudo make -C tk/macosx install-deploy<BR>
(Note: the tcl and tk directories specified in the above lines will more likely be appended with version numbers) The default installation will place a link to the wish interpretor at /usr/bin/wish. The latest 8.4.1 release of tcl/tk has been tested on a 10.2 system and found to work correctly. In particular, redirection of a tcl/tk script to the interpreter (e.g., wish < test.tcl) works normally (which is not the case with binary distributions tested thus far).
Initial tests have shown somewhat poor response between changes made in the tcl/tk script and the resulting audio updates. Also, it is not recommended to connect by socket from a tcl/tk script to an STK program because the tcl/tk interpreter does not appear to properly close the socket connection, leaving the STK program in a "hung" state.</LI>
Initial tests have shown somewhat poor response between changes made in the tcl/tk script and the resulting audio updates. It is possible to connect a tcl/tk interface to an STK program via a socket connection. However, the tcl/tk interpreter does not appear to properly close the socket connection during disconnection. It is therefore necessary to type "Exit" in the STK program terminal window to properly exit the STK program.</LI>
</UL>

175
doc/treesed.html Normal file
View File

@@ -0,0 +1,175 @@
<html>
<head>
<title>Treesed Usage</title>
</head>
<body>
<table border="0" width="660" cellpadding="0" cellspacing="0">
<tbody><tr valign="top"><td width="165">
<h3>How to Use Treesed</h3>
Go to the directory where you want to search or make changes.
<p>
There are two choices you can make when using treesed:
</p><ol>
<li>Do I just want to search for a text, or do I want to search for a
text and replace it with something else?
<br>
If you are just searching you are using Treesed in "search mode", otherwise it is in
"replace mode."
</li><li>Do I want to search/replace only in files in my current directory,
or should files in all subdirectories (and all directories below that)
also be done?
</li></ol>
Some examples will make this clear.
<h4>Searching</h4>
Say you are faced with the situation that the author of a slew of web-pages, Nathan Brazil, has left and has been succeeded by Mavra Chang. First, let us see which files are affected by this (what you type in is shown in <b><tt>bold</tt></b>):
<blockquote>
<pre>[localhost] <b>treesed "Nathan Brazil" -files *.html</b>
search_pattern: Nathan\ Brazil
replacement_pattern:
** Search mode
.
midnight.html: 1 lines on: 2
..
well.html: 1 lines on: 3
</pre>
</blockquote>
We notice the following:
<ul>
<li>The search text <tt>"Nathan Brazil"</tt> is enclosed in
double-quotes (<tt>"</tt>).
</li><li>You specify which files to search with <tt>-files</tt> followed by a
list of file names--in this case <tt>*.html</tt>.
</li><li>Treesed reports the search pattern ("pattern" is just a fancy word
for "text") you specified (you can ignore
that \).
</li><li>Treesed reports an empty <tt>replacement_pattern</tt>. This is
correct, because you haven't entered one.
</li><li>It therefore deduces that is is in search mode.
</li><li>It finds two files containing "Nathan Brazil", and reports on which
lines of these files it found it; it does not show the lines themselves.
</li></ul>
Because you used <tt>-files</tt>, Treesed will search in the files you
specify <i>in the current directory</i>. You can also search files in
the current directory <i>and</i> all directories below it. However, in
that case you can not specify which file names to use, all files will be
searched:
<blockquote>
<pre>[localhost] <b>treesed "Nathan Brazil" -tree</b>
search_pattern: Nathan\ Brazil
replacement_pattern:
** Search mode
.
midnight.html: 1 lines on: 2
...
well.html: 1 lines on: 3
.
new/echoes.html: 1 lines on: 2
</pre>
</blockquote>
We notice the following:
<ul>
<li>Instead of <tt>-files</tt> we now see <tt>-tree</tt>.
</li><li>We do not see a specification of file names.
</li><li>Treesed finds an occurence of "Nathan Brazil" in the file
<tt>echoes.html</tt> in the subdirectory <tt>new</tt>; it did not
find this file in the previous example (as it shouldn't).
</li></ul>
<h4>Replacing</h4>
To replace a text you simply add the replacement text right after the
search text:
<blockquote>
<pre>[localhost] <b>treesed "Nathan Brazil" "Mavra Change" -files *.html</b>
search_pattern: Nathan\ Brazil
replacement_pattern: Mavra Chang
** EDIT MODE!
.
midnight.html: 1 lines on: 2
Replaced Nathan\ Brazil by Mavra Chang on 1 lines in midnight.html
..
well.html: 1 lines on: 3
Replaced Nathan\ Brazil by Mavra Chang on 1 lines in well.html
</pre>
</blockquote>
We notice the following:
<ul>
<li>Right after the search text "Nathan Brazil" you specify the
replacement text "Mavra Chang".
</li><li>As a result, Treesed now reports a non-empty
<tt>replacement_pattern</tt>.
</li><li>Hence it concludes it is in "edit mode", which means replacment mode.
</li><li>Treesed dutifully reports on which lines in which files it did the
replacement.
</li></ul>
To replace a text in all files in the current directory and the ones
below it, we do the following:
<blockquote>
<pre>[localhost] <b>treesed "Nathan Brazil" "Mavra Chang" -tree</b>
search_pattern: Nathan\ Brazil
replacement_pattern: Mavra Chang
** EDIT MODE!
.
midnight.html: 1 lines on: 2
Replaced Nathan\ Brazil by Mavra Chang on 1 lines in midnight.html
....
well.html: 1 lines on: 3
Replaced Nathan\ Brazil by Mavra Chang on 1 lines in well.html
.
new/echoes.html: 1 lines on: 2
Replaced Nathan\ Brazil by Mavra Chang on 1 lines in new/echoes.html
</pre>
</blockquote>
and we get the expected results, including the replace in
<tt>new/echoes.html</tt>.
<h4>Old Versions</h4>
Treesed leaves behind quite a mess of old versions of the files it
changed (only in change-mode, of course). These old files have the same
name as the original file, with <tt>.ddddd</tt> appended to it. For
example, if treesed makes a change to <tt>midnight.html</tt> it will
leave the original version as something like
<tt>midnight.html.26299</tt>. You'll have to remove these files lest
your disk area clutters up. Here is a command that does that, <b>but
beware!</b> This command removes all files in the current directory and
all below it, that end in a period followed by one or more
digits:
<blockquote>
<pre>find . -name "*.[0-9]*" -exec rm {} \;
</pre>
</blockquote>
It is interesting to note that if you use treesed again without cleaning
up, you may get files like <tt>midnight.html.26299.27654</tt>. These
will also be cleaned up by the above slightly dangerous command.
<h3>About Treesed</h3>
<tt>treesed</tt> is public domain software developed
and designed by Rick Jansen from Sara, Amsterdam, Netherlands, January
1996.
<p>
<h3>About This Document</h3>
This usage document was created by the Division of Information Technology Services at The
University of Western Ontario.
</body></html>