This port should now be superceeded by STK version 2.0 , which has Linux support, integrated from this port, along with lots of other neat new stuff.
This port by Tim Stilson, but
it is not supported by me, nor by Perry Cook.
Stk1.0Linux.tgz (extract with: tar -zxvf Stk1.0Linux.tgz)
Things to watch out for:
- This is not likely to make correctly out of the box. See the last two items in this section (below). This tar file is just a snapshot from one of
my working directories, no attempt was made to make it portable.
- I split the sound-out classes into a superclass (WvOut) and subclasses for NeXT Soundfile (SndWvOut), Wav file (WavWvOut), Real-Time sound out (RTWvOut), and Matlab .mat file (MatWvOut). The original RawWvOut class is kept for backwards compatibility (i.e. it is not a subclass of WvOut). NOTE: the SndWvOut and WavWvOut classes have not been tested/debugged yet.
- The real-time sound output class (RTWvOut) for linux uses the OSS (OSS/Free) sound driver (OSS Programmer's Guide). Someone may want to make a version for other sound drivers.
- The MatWvOut class refers to a library and include file in a Matlab installlation. If you dan't have Matlab, you may want to get rid of MatWvOut in the Makefile (and any references to it in the test programs). If you do have matlab, make sure the directories are correct for your installation.
- The MatWvOut code is written for the Matlab 4.2 version of the libmat library. It doesn't seem to work with the Matlab 5.x version of the libmat library. If anybody wants to upgrade the code, please do.
- For those who don't have Matlab 4.2, the library and include files can be found on the mathworks ftp site:
ftp://ftp.mathworks.com/pub/mathworks/extern/lib/lnx86/libmat.a,
ftp://ftp.mathworks.com/pub/mathworks/extern/include/
- For the moment, these files on the mathworks site still seem to be the 4.2 versions of the files. It is unknown how long it may be until mathworks puts 5.x versions there.
- testTextIn uses the pthreads package. The Makefile refers to an installation in my home directory on my machine. The paths will need to be changed for your installation, or just comment out testTextIn in the Makefile (or change testTextIn to not use threads --- Perry suggested doing this).
Some things that someone should do (if you add something useful, Perry may like to hear about it).
- The things mentioned in the above section
- Write a version of MatWvOut that doesn't require the library from matlab.
- test the untested output classes
- reduce the latency in the RTWvOut class. (My version was just enough to get things going, I haven't gotten around to fixing latency)
- write a RTWvIn class (this will require putting the sound card in duplex mode, so some coordination with (and changing of) the RTWvOut class will probably be necessary)
- implement MIDI input under linux (OSS can be used for this)
- Add instruments, classes, etc. (useful ones preferred)
Tim Stilson 4/27/97