Skip to content

Commit

Permalink
Version 4.4.4
Browse files Browse the repository at this point in the history
  • Loading branch information
garyscavone authored and radarsat1 committed Sep 29, 2013
1 parent 0aec392 commit fc877b8
Show file tree
Hide file tree
Showing 233 changed files with 9,104 additions and 5,869 deletions.
6 changes: 3 additions & 3 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The Synthesis ToolKit in C++ (STK)

By Perry R. Cook and Gary P. Scavone, 1995-2011.
By Perry R. Cook and Gary P. Scavone, 1995-2012.

The Synthesis ToolKit in C++ can be used in a variety of ways, depending on your particular needs. Some people simmply choose the classes they need for a particular project and copy those to their project directory. Others like to compile and link to a library of object files. STK was not designed with one particular style of use in mind.

Expand All @@ -25,7 +25,7 @@ Several options can be passed to configure, including:
--with-asio = choose ASIO API support (windows only)
--with-ds = choose DirectSound API support (windows only)

It is now possible to specify more than one audio API where supported. Note, however, that the ALSA library is required in order to compile the RtMidi class in Linux, even if the "--with-oss" option is provided (only the OSS audio API will be used, not the OSS MIDI API). Typing "./configure --help" will display all the available options. In addition, it is possible to specify the RAWWAVES and INCLUDE paths to configure as (ex. to set to /home/me/rawwaves and /home/me/include):
It is now possible to specify more than one audio and MIDI API where supported. Note, however, that the ALSA library is required in order to compile the RtMidi class in Linux if the "--with-oss" option is provided (only the OSS audio API will be used, not the OSS MIDI API). Typing "./configure --help" will display all the available options. In addition, it is possible to specify the RAWWAVES and INCLUDE paths to configure as (ex. to set to /home/me/rawwaves and /home/me/include):

./configure RAWWAVE_PATH='$(HOME)/rawwaves/'
./configure INCLUDE_PATH='$(HOME)/include/'
Expand All @@ -39,4 +39,4 @@ If you wish to use a different compiler than that selected by configure, specify

For Windows Users:

MinGW support is provided in the configure script. In addition, Visual C++ project files are included for each of the example STK projects.
MinGW support is provided in the configure script. In addition, Visual C++ 6.0 project files are included for each of the example STK projects, though these may not work with more recent versions of Visual Studio.
3 changes: 3 additions & 0 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ all :
cd projects/demo && $(MAKE) libdemo
cd projects/effects && $(MAKE) libeffects
cd projects/ragamatic && $(MAKE) libragamat
cd projects/eguitar && $(MAKE) libeguitar
cd projects/examples && $(MAKE) -f libMakefile

clean :
Expand All @@ -15,6 +16,7 @@ clean :
cd projects/demo && $(MAKE) clean
cd projects/effects && $(MAKE) clean
cd projects/ragamatic && $(MAKE) clean
cd projects/eguitar && $(MAKE) clean
cd projects/examples && $(MAKE) clean

distclean: clean
Expand All @@ -23,5 +25,6 @@ distclean: clean
cd projects/demo && $(MAKE) distclean
cd projects/effects && $(MAKE) distclean
cd projects/ragamatic && $(MAKE) distclean
cd projects/eguitar && $(MAKE) distclean
cd projects/examples && $(MAKE) distclean

28 changes: 14 additions & 14 deletions README
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The Synthesis ToolKit in C++ (STK)

By Perry R. Cook and Gary P. Scavone, 1995-2011.
By Perry R. Cook and Gary P. Scavone, 1995-2012.

This distribution of the Synthesis ToolKit in C++ (STK) contains the following:

Expand Down Expand Up @@ -32,11 +32,10 @@ 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.

The Synthesis ToolKit is free for non-commercial use. The only
classes of the Synthesis ToolKit that are platform-dependent concern
sockets, threads, mutexes, and real-time audio and MIDI input and
output. The interface for MIDI input and the simple Tcl/Tk graphical
user interfaces (GUIs) provided is the same, so it's easy to
The only classes of the Synthesis ToolKit that are platform-dependent
concern sockets, threads, mutexes, and real-time audio and MIDI input
and output. The interface for MIDI input and the simple Tcl/Tk
graphical user interfaces (GUIs) provided is the same, so it's easy to
experiment in real time using either the GUIs or MIDI. The Synthesis
ToolKit can generate simultaneous SND (AU), WAV, AIFF, and MAT-file
output soundfile formats (as well as realtime sound output), so you
Expand Down Expand Up @@ -95,11 +94,12 @@ messages. In most cases, this should eliminate the use of the
Md2Skini program.

Realtime audio input capabilities were added to STK with release 3.0,
though the behavior of such is very hardware dependent. Under Linux,
Macintosh OS-X, and Irix, audio input and output are possible with
very low latency. Using the Windoze DirectSound API, minimum
dependable output sound latency seems to be around 20 milliseconds or
so, while input sound latency is generally higher.
though the behavior of such is very hardware dependent. Under Linux
and Macintosh OS-X, audio input and output are possible with very low
latency. Using the Windoze DirectSound API, minimum dependable output
sound latency seems to be around 20 milliseconds or so, while input
sound latency is generally higher. Performance with the ASIO audio
API on Windoze provides much better performance.

As mentioned above, it is possible to record the audio ouput of an STK
program to .snd, .wav, .raw, .aif, and .mat (Matlab MAT-file) output
Expand All @@ -110,7 +110,7 @@ generic C++ compiler.

For those who wish to make a library from the core STK classes, the
configure script generates a Makefile in the src directory that will
accomplish that (Linux, SGI, and Macintosh OS X only).
accomplish that.


DISCLAIMER:
Expand All @@ -129,7 +129,7 @@ for free, primarily for academic purposes, so if you use it, pass it
on with this documentation, and for free.

If you make a million dollars with it, it would be nice if you would
share. If you make compositions with it, put us in the program notes.
share. If you make compositions with it, put us in the program notes.

Some of the concepts are covered by various patents, some known to us
and likely others which are unknown. Many of the ones known to us are
Expand All @@ -145,7 +145,7 @@ LICENSE:
STK WWW site: http://ccrma.stanford.edu/software/stk/

The Synthesis ToolKit in C++ (STK)
Copyright (c) 1995-2011 Perry R. Cook and Gary P. Scavone
Copyright (c) 1995-2012 Perry R. Cook and Gary P. Scavone

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
Expand Down
2 changes: 1 addition & 1 deletion config/config.guess
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.

timestamp='2001-04-20'
timestamp='2004-02-26'

# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
Expand Down
2 changes: 1 addition & 1 deletion config/config.sub
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.

timestamp='2001-04-20'
timestamp='2004-02-26'

# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
Expand Down
12 changes: 4 additions & 8 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
AC_INIT(STK, 4.4, [email protected], stk)
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_SRCDIR(src/Stk.cpp)
AC_CONFIG_FILES(Makefile src/Makefile projects/demo/Makefile projects/effects/Makefile projects/ragamatic/Makefile projects/examples/Makefile projects/examples/libMakefile)
AC_CONFIG_FILES(Makefile src/Makefile projects/demo/Makefile projects/effects/Makefile projects/ragamatic/Makefile projects/examples/Makefile projects/examples/libMakefile projects/eguitar/Makefile)

# Fill GXX with something before test.
AC_SUBST( GXX, ["no"] )
Expand Down Expand Up @@ -121,8 +121,9 @@ if test $realtime = yes; then

# Look for OSS flag
AC_ARG_WITH(oss, [ --with-oss = choose OSS API support (linux only)], [
api="$api -D__LINUX_OSS__"
AC_MSG_RESULT(using OSS)], )
api="$api -D__LINUX_OSS__ -D__LINUX_ALSA__"
AC_MSG_RESULT(using OSS)
AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(OSS support requires ALSA for RtMidi!))], )

# If no audio api flags specified, use ALSA
if [test "$api" == "";] then
Expand All @@ -131,11 +132,6 @@ if test $realtime = yes; then
AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(ALSA support requires the asound library!))
fi

# Look for ALSA library because we need it for RtMidi
AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(STK in Linux requires the ALSA asound library for RtMidi!))
api="$api -D__LINUX_ALSASEQ__"

AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR(realtime support requires the pthread library!))
;;

*-apple*)
Expand Down
4 changes: 2 additions & 2 deletions doc/README-Linux.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
The Synthesis ToolKit in C++ (STK)

By Perry R. Cook and Gary P. Scavone, 1995-2011.
By Perry R. Cook and Gary P. Scavone, 1995-2012.

Please read the file README and INSTALL for more general STK information.

Realtime audio support for Linux currently includes the Advanced Linux Sound Architecture (ALSA), the JACK low-latency audio server, and/or Open Sound System (OSS version 4.0 and higher only) APIs. That said, the OSS API support has not been tested in several years and is not considered a high priority. One or more APIs are selected during compilation using the __LINUX_ALSA__, __UNIX_JACK__, and/or __LINUX_OSS__ definitions. Because the ALSA library is now integrated into the standard Linux kernel, it is the default audio/MIDI API with STK versions 4.2 and higher.

The __LINUX_ALSASEQ__ definition is required to compile RtMidi with ALSA sequencer support. Native OSS MIDI support no longer exists in RtMidi. If the __LINUX_OSS__ preprocessor definition is specified, only OSS audio support will be compiled and RtMidi will still be compiled using the ALSA API. For this reason, STK now requires the asound library for realtime support. Realtime programs must also link with the pthread library.
Realtime MIDI support Linux currently includes the Jack and ALSA sequencer support. Native OSS MIDI support no longer exists in RtMidi. If the __LINUX_OSS__ preprocessor definition is specified, only OSS audio support will be compiled and RtMidi will still be compiled using the ALSA API. For this reason, STK now requires the asound library for realtime support (unless only using the Jack API). Realtime programs must also link with the pthread library.

STK should compile without much trouble under Linux. Since all Linux distributions typically include the GNU makefile utilities, you should be able to use the default Makefiles. Typing "make" in a project directory will initiate the compilation process (after initially running the configure script in the top-level directory).

Expand Down
4 changes: 2 additions & 2 deletions doc/README-MacOSX.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
The Synthesis ToolKit in C++ (STK)

By Perry R. Cook and Gary P. Scavone, 1995-2011.
By Perry R. Cook and Gary P. Scavone, 1995-2012.

Please read the file README and INSTALL for more general STK information.

The default realtime support for Macintosh OS X uses the CoreAudio HAL API and is specified during compilation using the __MACOSX_CORE__ preprocessor definition. There is also support for the JACK audio server using the __UNIX_JACK__ preprocessor definition.

It is necessary to install the OS X developer kit in order to compile STK. STK was successfully tested on the latest version of OS X.
It is necessary to install the OS X developer kit (or the command line tools) in order to compile STK. STK was successfully tested on the latest version of OS X.

Tcl/Tk on OS X:

Expand Down
2 changes: 1 addition & 1 deletion doc/README-SGI.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The Synthesis ToolKit in C++ (STK)

By Perry R. Cook and Gary P. Scavone, 1995-2011.
By Perry R. Cook and Gary P. Scavone, 1995-2012.

Please read the file README and INSTALL for more general STK information.

Expand Down
4 changes: 2 additions & 2 deletions doc/README-Win.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
The Synthesis ToolKit in C++ (STK)

By Perry R. Cook and Gary P. Scavone, 1995-2011.
By Perry R. Cook and Gary P. Scavone, 1995-2012.

Please read the file README for more general STK information.

The configure script supports MinGW. As well, STK is distributed with Visual C++ .NET project and workspace files. It no longer compiles with Visual C++ 6.0.
The configure script supports MinGW. As well, STK is distributed with Visual C++ .NET project and workspace files (though these may no longer work with current versions of Visual Studio). It no longer compiles with Visual C++ 6.0.

With Windows XP/7, piping works as under unix. Simply fire up the script files (ex. StkDemo.bat) by either double-clicking on them or from within a shell.

Expand Down
15 changes: 13 additions & 2 deletions doc/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
The Synthesis ToolKit in C++ (STK)

By Perry R. Cook and Gary P. Scavone, 1995-2011.
By Perry R. Cook and Gary P. Scavone, 1995-2012.

v4.4.4: (24 August 2012)
- new FreeVerb class (thanks to Greg Burlet)
- new Guitar class
- new electric guitar project
- cleaned / revised Shakers class
- updated versions of RtAudio and RtMidi
- bug fix in LentPitShift
- bug fix in Echo constructor
- bug fix in FileWvIn (file size when chunking)
- bug fix in StkFrames copy constructor

v4.4.3: (30 August 2011)
- changed SINT24 to be lower 3 bytes of 32-bit word
Expand All @@ -13,7 +24,7 @@ v4.4.3: (30 August 2011)
- added WAVE_FORMAT_EXTENSIBLE support in FileWrite
- added sample rate variable reading and writing for MAT-files in FileRead and FileWrite

v4.4.2: (4 February 2010)
v4.4.2: (4 February 2011)
- added various header file includes for newer compilers
- new LentPitShift class (thanks to Francois Germain)
- added "addTo" function to Delay class
Expand Down
2 changes: 1 addition & 1 deletion doc/doxygen/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ PROJECT_NAME = STK
# This could be handy for archiving the generated documentation or
# if some version control system is used.

PROJECT_NUMBER = 4.4.3
PROJECT_NUMBER = 4.4.4

# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
Expand Down
8 changes: 4 additions & 4 deletions doc/doxygen/compile.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,19 +37,19 @@ STK compiles with realtime support on the following flavors of the Unix operatin
<TR>
<TD>Linux</TD>
<TD>ALSA</TD>
<TD>__LINUX_ALSA__, __LINUX_ALSASEQ__, __LITTLE_ENDIAN__</TD>
<TD>__LINUX_ALSA__, __LITTLE_ENDIAN__</TD>
<TD><TT>asound, pthread</TT></TD>
</TR>
<TR>
<TD>Linux</TD>
<TD>OSS (version 4.0 only, use ALSA for MIDI support)</TD>
<TD>__LINUX_OSS__, __LINUX_ALSASEQ__, __LITTLE_ENDIAN__</TD>
<TD>__LINUX_OSS__, __LINUX_ALSA__, __LITTLE_ENDIAN__</TD>
<TD><TT>asound, pthread</TT></TD>
</TR>
<TR>
<TD>Linux and Macintosh OS-X</TD>
<TD>Jack (audio only, use ALSA for MIDI support)</TD>
<TD>__UNIX_JACK__, __LINUX_ALSASEQ__, __LITTLE_ENDIAN__</TD>
<TD>Jack</TD>
<TD>__UNIX_JACK__, __LITTLE_ENDIAN__</TD>
<TD><TT>asound, pthread, jack</TT></TD>
</TR>
<TR>
Expand Down
18 changes: 16 additions & 2 deletions doc/doxygen/download.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,28 @@
/*! \page download Download, Release Notes, and Bug Fixes

\section down Download Version 4.4.3 (30 August 2011):
\section down Download Version 4.4.4 (24 August 2012):

<UL>
<LI><A HREF="http://ccrma.stanford.edu/software/stk/release/stk-4.4.3.tar.gz">Source distribution</A></LI>
<LI><A HREF="http://ccrma.stanford.edu/software/stk/release/stk-4.4.4.tar.gz">Source distribution</A></LI>
</UL>


\section notes Release Notes:

\subsection v4dot4dot4 Version 4.4.4

<ul>
<li>New FreeVerb class (thanks to Greg Burlet)</li>
<li>New Guitar class</li>
<li>New electric guitar project</li>
<li>Updated versions of RtAudio and RtMidi</li>
<li>Cleaned / revised Shakers class</li>
<li>Bug fix in LentPitShift</li>
<li>Bug fix in Echo constructor</li>
<li>Bug fix in FileWvIn (file size when chunking)</li>
<li>Bug fix in StkFrames copy constructor</li>
</ul>

\subsection v4dot4dot3 Version 4.4.3

<ul>
Expand Down
2 changes: 1 addition & 1 deletion doc/doxygen/faq.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ work with any standard C++ compiler.
STK WWW site: http://ccrma.stanford.edu/software/stk/

The Synthesis ToolKit in C++ (STK)
Copyright (c) 1995-2011 Perry R. Cook and Gary P. Scavone
Copyright (c) 1995-2012 Perry R. Cook and Gary P. Scavone

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
Expand Down
2 changes: 1 addition & 1 deletion doc/doxygen/footer.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<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-2011 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
<tr><td>&copy;1995-2012 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>

</BODY>
Expand Down
12 changes: 4 additions & 8 deletions doc/doxygen/links.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,22 @@

- <A HREF="http://www.music.mcgill.ca/~gary/rtmidi/">The %RtMidi WWW site</A>

- <A HREF="http://momu.stanford.edu/stk/">MoMu-Stk: A lightly modified version of STK that supports the iPhone platform (iPhone, iPad, iPod Touches)</A>

- <A HREF="http://ccrma.stanford.edu/~woony/software/stkx/">StkX: A Cocoa STK Framework for Mac OS X by Woon Seung Yeo</A>

- <A HREF="http://sourceforge.net/projects/mobilestk">Mobile STK: A port of STK for mobile devices by Georg Essl and Michael Rohs</A>

- <A HREF="http://chuck.cs.princeton.edu/">ChucK: Concurrent, On-the-fly Audio Programming Language</A> using STK unit generators

- <A HREF="http://www.music.princeton.edu/paul/stkugens.tar.gz">Paul Lansky's port of STK to SuperCollider</A>

- <A HREF="http://kern.humdrum.net/">Kern Scores: A Library of Electronic Musical Scores</A> (with automatic conversion to SKINI format)
- <A HREF="http://kern.ccarh.org">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://extra.humdrum.org/example/kern2skini/">Kern Score to SKINI file converter</A> by Craig Sapp

- <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

*/
1 change: 0 additions & 1 deletion doc/doxygen/system.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ It appears that socket support in Tcl/Tk uses the Nagle algorithm, which produce
<UL>
<LI>A soundcard to use realtime audio input/output capabilities. In order to use the <I><B>effects</B></I> project, the soundcard and drivers must support full duplex mode.</LI>
<LI><A HREF="http://www.microsoft.com/directx/">DirectX</A> 5.0 (or higher) runtime libraries.</LI>
<LI>Visual C++ .NET or MinGW for compiling.</LI>
<LI>For compiling the source (if not already in your system): <UL><LI><A HREF="Misc/dsound.h">dsound.h</A> header file (DirectX 6.1) - put somewhere in your header search path</LI><LI><A HREF="Misc/dsound.lib">dsound.lib</A> library file (DirectX 6.1) - put somewhere in your library search path</LI></UL></LI>
</UL>

Expand Down
Loading

0 comments on commit fc877b8

Please sign in to comment.