mirror of
https://github.com/thestk/stk
synced 2026-01-31 14:56:15 +00:00
Merge 4.1.2 into releases
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 =
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||
<tr><td>©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
||||
</table>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
</HTML>
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF">
|
||||
<CENTER>
|
||||
<img src="princeton.gif"> <img src="ccrma.gif"><P>
|
||||
<img src="princeton.gif"> <img src="ccrma.gif"> <img src="mcgill.gif"><P>
|
||||
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
||||
<HR>
|
||||
<HR>
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
*/
|
||||
|
||||
@@ -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"><stk-request@ccrma.stanford.edu></A>
|
||||
with the contents: <TT>subscribe</TT>
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
175
doc/treesed.html
Normal 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>
|
||||
Reference in New Issue
Block a user