===================================================================
For you who are impatient, type:

     ./demo1		(then after you get bored try..)
     ./demo2		(then after quickly getting bored try..)
     cat beat-1 | demo2  

..and finally to hear 'rapping linus'

     cat beat-2 | demo2 (a hack done with me bass guitar and a mike)

====================================================================

Hi,

Here's release 0.03 of SoundIt, a simple real-time sound mixer library.

It was written mainly to allow the easy addition of sound effects into
games, but I think a fun drum machine program could easily be written (demo2
is a start!)


1) You need to have your kernel compiled for sound support.

2) You'll need a soundcard capable of digital sound playback, and voxware 2.9
   or greater. Voxware is the sound driver in the linux kernel. If you have
   linux 1.1.32 (or maybe 1.1.33?) or greater, then you have it. Otherwise, you
   can either upgrade your linux kernel, or grab the separate voxware release
   and patch your kernel.

   To check the version of voxware you have, try a 'cat /dev/sndstat'


To build the program (although an executable is included in this package):

	make

To try the demos (in same directory as sample files are):


     ./demo1
     ./demo2
     cat beat-1 | demo2  
     cat beat-2 | demo2


I'd appreciate if you could email me details on whether 'cat beat-2 | demo2'
played without major clicks or pops, plus info on what kind of CPU/soundcard
you've got.

If you want to test out a game that uses this library, try ftp'ing to
imagineer.disc-net.com (198.162.12.57) and grab one of the 
following 2 files:

/pub/pitzel/sasteroids1.5-beta1-src.tar.gz	(full sources)
/pub/pitzel/sasteroids1.5-beta1-bin.tar.gz	(precompiled binary)


TODO LIST:
	-	volume control on channels/samples.
	-	func call to stop playing on 1 or all channels.
	-	stereo panning on cards that support it.
	-	optimize mixing routines to be more efficient (asm?).
	-	Can be made much more memory efficient as far as 
		the fork()'ing is concerned.

Have fun,
--brad
pitzel@cs.sfu.ca
