Audio File Library Development Notes
Sunday, 9 May 1999
Michael Pruett <michael@68k.org>

----

Error handling code is now in place, but errors are not returned in
all situations in which they should be.  Furthermore the errors
returned may not be the most applicable.  Some work needs to be done
here.

Recognition of other audio files should include some of the following
file formats which I discovered through the `file' command on Linux:

[ 0 string,=.snd,"Sun/NeXT audio data:"]
[ 0 lelong,=6583086,"DEC audio data:"]
[> 8 string,=WAVE,", WAVE audio data"]
[ 0 belong,=779248125,"realaudio sound file"]
[> 8 string,=AIFF,", AIFF audio"]
[> 8 string,=AIFC,", AIFF-C compressed audio"]
[> 8 string,=SAMP,", SAMP sampled audio"]

I do not know what DEC audio data or SAMP sampled audio are.  I have
no plans to support RealAudio since it provides quite poor sound
quality (that is to say that it sucks a fat dick).

Compressed data formats are not supported.  I would like to add
support for the non-proprietary codecs sometime soon, but I have more
important issues to address first.

SGI's Audio File Library implements the following formats which I do
not:
	Berkeley/IRCAM/CARL SoundFile
	MPEG1 audio bitstream
	Sound Designer II
	Audio Visual Research
	Amiga IFF/8SVX
	SampleVision
	VOC
	SoundFont2
	Raw (headerless)

I'm planning to look into implementing BICSF.  The others don't seem
that interesting.  MPEG is plagued with patent issues, Sound Designer
II uses Macintosh resource forks, and I've never seen any of the
others.  If you'd like to nominate a sound file format for inclusion,
drop me a line.  I won't be able to do much without a solid reference,
though.

----

This version of the Audio File Library has been tested under the
following operating environments:
	mips-sgi-irix6.3 / Irix 6.3 (egcs 1.1.2)
	i386-redhat-linux / Red Hat Linux 5.0 for i386 (gcc 2.7.2.3)
	i386-debian-linux / Debian Linux 2.0 for i386 (gcc 2.7.2.3)
	i386-unknown-netbsd1.3 / NetBSD for i386 (gcc 2.7.2.2+myc1)
	alpha-redhat-linux / Red Hat Linux 5.2 for Alpha (egcs 1.0.3)
