[Stk] New release of STK, version 4.2.1

Gary P. Scavone gary@music.mcgill.ca
Fri, 14 Oct 2005 15:48:24 -0400


Hi everyone,

I finally finished up the new release of STK.  The full story is  
available at: http://ccrma.stanford.edu/software/stk/

Some of the improvements, fixes, and changes in this release include:

- greatly expanded StkFrames functionality (including interpolation  
and indexing by channel/frame)
- new Granulate granular synthesis class
- new Blit, BlitSaw, and BlitSquare bandlimited waveform classes  
(thanks to Robin Davies!)
- removed Table class ... all functionality (including interpolation)  
now in StkFrames and FileRead classes
- revised Socket class (now abstract) and added TcpServer, TcpClient,  
and UdpSocket subclasses
- added Stk::showWarnings() and Stk::printErrors() functions to dis/ 
enable warning and error printouts
- extracted file I/O functionality to new FileRead and FileWrite classes
- revised WvIn / WvOut class structure (WvIn / WvOut now abstract and  
file I/O functionality in new FileWvIn / FileWvOut subclasses)
- new SineWave class which calculates its own static table of  
variable length (no rawwave dependency)
- new sinewave.raw file of length 1024 samples (used to be 256)
- TcpWvIn and TcpWvOut renamed InetWvIn and InetWvOut, with added  
support for UDP sockets
- fixed bug in WvOut tickFrame( const  StkFrames &frames ) function
- fixed bug in demo.cpp when writing output soundfiles without  
realtime output
- added "binary" open flag to MidiFileIn class for Windows
- fixed oversized MAT-file header in WvOut.cpp
- fixed case statement bug in MidiFileIn.cpp for sysex
- added missing getDelay() function to DelayA.cpp
- fixed modDepth omission in Chorus.cpp
- fixed DC blocker initialization bug in Flute.cpp
- changed Filter class behavior so no default clearing of state when  
changing coefficients
- bug fixes to RtAudio, especially for Windows DirectSound and ASIO  
(thanks to Robin Davies)
- bug fixes to RtMidi, especially for Linux (thanks to Pedro Pedro  
Lopez-Cabanillas)

The most significant API change involves the WvIn / WvOut classes.   
Functionality for file input / output has now been extracted to the  
FileRead and FileWrite classes, which have "tick-level" interfaces  
via the FileWvIn and FileWvOut classes.  WvIn and WvOut are now  
abstract base classes for the various audio i/o classes.

I did not have the ability to test this release on an SGI machine  
though someone has volunteered to do that.

Happy STK-ing!

--gary