[Stk] stk version 4.2.0 new release

Gary P. Scavone gary@music.mcgill.ca
Mon, 4 Oct 2004 12:44:21 -0400


Hi all,

I'm pleased to announce a new release of the Synthesis ToolKit in C++ 
(STK), version 4.2.0.  Surf to http://ccrma.stanford.edu/software/stk/ 
for all the details.

The most evident update in this release involves multiple simultaneous 
supported audio APIs (ex. you can compile for Jack, native ALSA, and 
OSS support at the same time), a completely new RtMidi class for MIDI 
input and output (see http://music.mcgill.ca/~gary/rtmidi/) which 
allows virtual MIDI ports where supported (ALSA sequencer and 
CoreMidi), new MIDI file input support, a switch from using "MY_FLOAT" 
to "StkFloat" type, and other assorted updates/changes as detailed 
below:

Version 4.2.0
- Simultaneous multiple audio APIs supported at compile time.
- Various changes to better conform to standard C++ programming 
practices.
- Fixed hidden overloaded virtual functions.
- New Asymp exponential envelope class.
- MY_FLOAT type converted to StkFloat and changed throughout (use 
treesed utility to search/replace in old files).
- Most example programs rewritten to use an audio callback paradigm 
(which works better in OS-X).
- New StkFrames class for vectorized multichannel data and associated 
new tick() functions making use of StkFrames .
- New RtMidi class with MIDI output capabilities (API changes).
- New MidiFileIn class for reading MIDI files.
- Revised Filter classes to use std::vectors for coefficients (API 
changes).
- Revised Messager class (API changes).
- New abstract parent Effect class for various effects.
- New abstract parent Generator class for various signal sources.
- New abstract parent Function class for tables and various non-linear 
functions.
- Skini class completely rewritten (simplified) using the C++ STL (API 
changes).
- WvOut classes now clip to -1.0 to +1.0 and report out of range.
- New Mutex class.
- Turned Nagle algorithm off by default in Socket class.
- Error reporting standardized in all classes.

Old code which still uses the MY_FLOAT type should compile but with 
warnings (probably lots of them).  To simplify the conversion process, 
I included the "treesed" utility in the bin directory of the 
distribution, with information on how to use it in the doc/treesed.html 
file.  This allows global search and replacement on directory trees.

Enjoy!!

--gary