# HG changeset patch # User Ryan C. Gordon # Date 1220991984 14400 # Node ID 668dd6675b7f5e1770b67f927997a64d4c0f894c # Parent fd3f109c5cafb87533ba0529495782ef5dcd6f95 Renamed a bunch of FILENAME to FILENAME.txt diff -r fd3f109c5caf -r 668dd6675b7f CHANGELOG --- a/CHANGELOG Mon Jun 30 01:49:20 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,385 +0,0 @@ -/* - * CHANGELOG. - */ - -04182008 - Include in shn.c. -04172008 - Look for Speex includes in new directory. Converted all text - encoding from ISO-8859-1 to UTF-8. Fixed "make dist" script for - dealing with Subversion instead of CVS. Added Speex to the README. -04112008 - Check if Speex header has bogus data (CVE-2008-1686). -08062007 - Updated my email address. Added -fvisibility=hidden support. -07152007 - Minor correction in Timidity resampling code (Thanks, Sam!). -07062007 - Fixed uninitialized buffer in mpglib. (Thanks, Phil!). -10292006 - Fixed bogus memory dereference when SMPEG fails init (thanks, Chris!) -10272006 - FLAC 1.1.3 breaks their API _again_, so we try to do the right - thing at build time. (Thanks, Josh!). -07282006 - Ogg Vorbis decoding defaults to system byte order now. -05122006 - Patched to get mpglib compiling again (thanks, Sam!). -03312006 - Wedged in a temporary hack for Speex rewinding. -12172005 - Fixed gcc4 whining in playsound_simple.c. -12062005 - Trimmed a bunch of junk out of the build system, and now it works - on Mac OS X again. -10122005 - Check for libmodplug headers in two possible places (thanks, Tyler!) -10012005 - Added playsound_simple.c. -09142005 - Happy September. Patched smpeg.c and some other things to compile. -01062005 - Fixed Project Builder project files (Thanks, Martin!) -11122004 - Fixed automake nonsense. Fixed logic bug in voc decoder. -07032004 - Removed altcvt from the source tree. Started pounding out initial - mixer implementation. -05152004 - Added Sound_NewSampleFromMem(), and implementation of RWops pooling. -05112004 - Added Sound_GetDuration() and moved total_time out of Sound_Sample - struct and into it's opaque data...this fixes binary compatibility - with apps written for SDL_sound 1.0. -05082004 - Started 1.1.0 development branch with code to determine the total - length of a sample (thanks to Wesley, Eric, Wang, and Ahilan!)... - this patch was originally committed to CVS on 10252003, but it is - getting re-merged in the svn repository. Fixed "bootstrap" to - work with MacOSX. -05072004 - Backed out some commits, converted repository to Subversion, and - branched off to a 1.1.0 development tree. Changed MikMod URL...old - one is now a porn site. :( -10252003 - VOC decoder was broken. Now it isn't. -10142003 - Build system fix: acinclude.m4 had some word wrapping badness. -10122003 - Fixed "make dist" behaviour to not packaged generated docs, and - made sure other files are always packaged, regardless of config. - Upped version to 1.0.1. -10102003 - Changed some SDL_Error()s to __Sound_SetError() in new DLS code - to fix linking issues. -10052003 - Fixed memory corruption when freeing DLS instruments, - and bug when timidity is initialized multiple times (Thanks, Sam!). -09252003 - Sam Lantinga added support for DLS instruments to the MIDI decoder. -09132003 - Happy September. Added Speex (.spx) decoder. -08052003 - Fixed MIDI decoder on bigendian systems. -03102003 - Never actually created samplelist_mutex (Thanks, Glenn Maynard!). -01302003 - Patches to make SDL_sound more Visual C happy (Thanks, Eric!). -01122003 - Fix to smpeg.c's rewinding code (Thanks, Eric). Put Visual C 6 - project files in CVS, without external binaries (Thanks, Eric). -12212002 - Fixed ogg.c to decode a full buffer at a time instead of one ogg - packet per call, and mikmod has a check during initialization to - prevent a clash with SDL_mixer (Thanks, Eric). -12092002 - Changed Sound_Init()'s call to SDL_Init() to SDL_InitSubSystem(), - to prevent unwanted use of the SDL parachute (thanks, Glenn). -10092002 - Fixed a "make dist" issue and upped version to 1.0.0! Woohoo! -09302002 - libFLAC broke their API (again!) for version 1.0.4. That was the - last straw. I ripped the version detection and obsolete FLAC - support out, so you need libFLAC 1.0.4 for that decoder now (and - they'll probably break the API again for 1.0.5. Argh). -09262002 - Happy September. Fixed SDLCALL issues in SDL_sound.h, so it should - work with Win32/WinCE builds again. I hope. Merged latest altcvt - from Frank into CVS. -08222002 - Borland project files in CVS, thanks to Dominique Louis. There are - project files for C++ Builder 6 (Windows), C++ Builder for Linux - (aka Kylix 3) and Borland's C++ Command line compiler. -08172002 - Timidity memory leak cleanup by Torbjörn. -07292002 - Valgrind cleanups; memory leak patches, etc. -07212002 - done_flag was not being reset between files in playsound, so the - first file would playback, and then any following tracks in a given - run would "finish" immediately. Fixed. -07132002 - More altcvt fixes from Frank Ranostaj. -07122002 - Changed inline keyword to compile universally. -07102002 - Fixed a bug in command line handling in playsound.c. Fixes from - Torbjörn and myself to get flac.c friendly between versions of - libFLAC. Mutex'd a potential race condition in decoders/modplug.c. - FIXME cleanups here and there. -07092002 - Fixed typo in documentation (SDL_sound.h). -07052002 - Cleaned up some stuff in playsound.c, removing some FIXMEs. - Commandline validation is improved, too. FIXME removal in - voc.c; should report i/o errors correctly now. Changed DECLSPEC - to SNDDECLSPEC to prevent SDL conflict, and added SDLCALL support. - Removed all instances of Sound_SetError()...now they are either - __Sound_SetError or BAIL*_MACRO. -07022002 - Added WinCE support pack to website, updated INSTALL with CE info. - More altcvt fixes from Frank Ranostaj. -07012002 - Fixed configure.in to work around bug in older autoconfs. Started - merging Tyler's WinCE (PocketPC) port. Added checks for assert.h - and signal.h to configure.in/config.h.in, and #if HAVE_*_H checks - where appropriate in the code. Moved #include (along - with the HAVE_ASSERT_H check) to SDL_sound_internal.h, and removed - unnecessary #includes from the individual source files. Added - "md_reverb = 1;" to MIKMOD_init(). Modplug got some WinCE-specific - setting tweaks, and some settings maintanance code. configure.in - checks if setbuf() is available. -06292002 - More altcvt fixes from Frank Ranostaj...mostly working now? -06252002 - More altcvt fixes from Frank Ranostaj. -06132002 - Patch from Torbjörn to fix stereo AIFF files. -06212002 - More altcvt fixes from Frank Ranostaj. -06132002 - Patch from Torbjörn to make the WAV decoder more tolerant. -06122002 - Committed some altcvt enhancements from Frank Ranostaj. -06112002 - Fixed some debug messages in smpeg.c and mpglib.c. -06072002 - Manpages! Finally installed Doxygen and scratched together a - Doxyfile. After some revision to physfs.h, we've got a rather - nice API reference. -06062002 - Added URLs for official and unofficial versions of ModPlug in - decoders/modplug.c. Cleaned up some FIXMEs. -05222002 - Torbjörn sent in some more fixes for altcvt: mono to stereo - conversion works, now. -05222002 - Torbjörn sent in some initial cleanups and fixes for altcvt, and - fixed a bug in playsound when not all three of --rate, --channels - and --format are specified. -05202002 - Some .cvsignores from Max and me. Added a seek implementations for - the SMPEG, ogg, aiff, wav-adpcm, voc, and au decoders. Added a seek - stub to quicktime.c. playsound now takes milliseconds in the seek - lists: --seek "00:00:400" or whatnot. Corrected playsound's usage - text. Other au.c cleanups for extra robustness. Added an - experimental audio converter that Frank Ranostaj sent to the SDL - mailing list about a month ago: enable it with --enable-altcvt at - configure time, but be warned that it doesn't work very well right - now. -04292002 - Darrell Walisser updated the Mac Classic and OS X project - files, fixed some portability issues, and added an - experimental decoder that uses Apple's QuickTime libraries - (see decoders/quicktime.c). I've included the Mac project files - in CVS, now. Removed all use of alloca() from playsound. -04242002 - Added --seek option and bugfixes to playsound.c. Torbjörn comes - through with seek support for the FLAC, MIDI, and ModPlug - decoders (and some stub code for MikMod), and a bugfix for sample - flag manipulation in the base library (and his own --seek code for - playsound, which unfortunately we're not using). -04232002 - Cleaned up the playsound command line handling. Most command line - options (--rate, --format, --predecode, etc) are specified per-file - and reset to their defaults after each sample is played back. - --loop now takes a numeric argument: --loop 2 will playback the - sample three times (one playback and two loops). Added Darrell - to the playsound credits. -04212002 - Initial work to add a Sound_Seek() API. Removed the NEEDSEEK - sample flag (replaced it with CANSEEK). Hack to change the internal - Sound_SetError() function to __Sound_SetError(). Added internal - function __Sound_convertMsToBytePos(). -04082002 - Cleaned up the archive support in playsound a little bit, and - fixed a PhysicsFS bug in the process. -03252002 - Win32 patches and fixes from Tyler Montbriand: handled "inline" - keyword, fixed SNDDBG macros in mpglib, and renamed a conflicting - file (decoders/mpglib/common.c to decoders/mpglib/mpglib_common.c). -03172002 - Removed an unneeded #include in mpglib that broke build on BeOS. - mpglib seems to work find on BeOS. Reworked some of mpglib.c so we - can determine the audio format when accepting the data stream. Some - other minor cleanups here and there. -03162002 - Tied the PhysicsFS code into the build system (code disabled if - physfs not found or --disable-physfs passed to ./configure.) -03152002 - Added PhysicsFS support to playsound, so you can play sound files - that are in ZIP files without unzipping them. Needs to be merged - into build system (I was just testing my PhysFS->RWops glue code). -03142002 - Changed configure script's --enable-vorbis to --enable-ogg. Removed - global state variable from mpglib, so it should be reentrant now - (patches sent to mpglib's actual maintainer). playsound can now - read from stdin. -03102002 - Added a FIXME note to decoders/mpglib.c. playsound now reports - errors in the thread where they occured, which also fixes a double - report of errors during predecoding. Removed all calls to exit() in - mpglib. These calls now report errors correctly to SDL_sound, which - passes them on to the application (patch also sent to mpglib's - actual maintainer). Replaced all stderr chatter in mpglib with - Sound_SetError() calls. -03072002 - decoders/mpglib.c now disregards ID3 tags instead of passing them - on as valid MP3 data to mpglib. Added some (buggy) example code for - adjusting an audio stream's volume (via the new --volume command - line in playsound). -03032002 - Fixed mpglib's build configuration to include general build flags - so that things like --enable-debug work as expected. -02212002 - Changed SMPEG's URL to point to the icculus.org site. Added an - mpglib decoder (internal to SDL_sound; relies on no external libs) - and changes mp3.c to smpeg.c (and other associated things). -02112002 - Committed a patch from Torbjörn to fix incorrect memory accesses - in the Timidity code. Changed the magic number in the AU decoder - to be bigendian (seems appropriate). Updated README for - completeness, and TODO for accuracy. Darrell sent in updated - MacOS X Project Builder files (on the website). -02072002 - Committed a patch Torbjörn sent in awhile ago for preventing - confusion with Timidity++-specific stuff in the timidity.cfg file. - Tyler Montbriand sent in an updated Visual C package. - Updated SDL_sound.h's comments a little. Upped version to 0.1.5. -02052002 - Fixed a cleanup I broke last night. Added CWProject.sit to the - EXTRA_DIST section of Makefile.am, and updated the README with - MacOS (9/X) install instructions. -02042002 - Darrell Walisser submitted some cleanups and CodeWarrior project - files for MacOS 9. Sweet! -01232002 - Max fixed decoders/Makefile.am to work with seperate build - directories, and corrected some dates in this file. -01192002 - Torbjörn sent in patches implementing the rewind method for the - rest of the decoders except shn.c, for which I added a kludged - implementation. Added more info to the README. Hunted down the - reason why SMPEG can't decode before calling SDL_OpenAudio(), and - it can't be fixed without a change to SMPEG (not MY fault! :) ). - Made ModPlug take priority over MikMod when selecting a decoder. - Mutex-protected the internal samples list, and fixed some bugs in - the management of that list. Changed some stuff to use uniform - coding conventions. -01182002 - SDL_sound/playsound builds and runs on BeOS now. Fixed an assertion - bug I introduced yesterday. -01172002 - Implemented Sound_Rewind(), and added a --loop command line to - playsound for testing. Rewrote the audio callback to handle looping - with both predecoded and streamed samples. Most of the decoders - just have an assert(0) in their internal rewinding method at this - point. I implemented the WAV, VOC, AU, AIFF, and RAW ones, for now. - (...and skeleton.c, for what that's worth.) A few tweaks in the - core API implementation to fix unlikely but possible leaks. -01112002 - Mattias Engdegård sent in an .AU decoder. Nice! He also tweaked - playsound to try and wait until SDL has completed playing a given - sound before closing the audio device. Changed a macro in - decoders/shn.c to be more uniform with the other decoders. - SDL_sound error messages are now maintained on a per-thread basis, - and do not interfere with SDL_[GS]etError() anymore. -01112002 - Committed the rest of Torbjörn's MOD patches, to clean up file - extension handling. -01092002 - Torbjörn comes through with a ModPlug-based decoder, which should - work nicely for decoding multiple .MODs at once. Now we need to - figure out what to do with two decoders that can decode the same - file. For now, if you explicitly want either MikMod or ModPlug, you - should explicitly enable one decoder and disable the other on the - configure command line ("--enable-modplug --disable-mikmod", for - example), otherwise configure will try to sort out the best one for - your system. Choice is a wonderful thing. :) -01042002 - Forgot to bump playsound's version to match SDL_sound's. Fixed. - Added some notes to the top of COPYING about other libraries, etc. - A real MIDI decoder (using a hacked version of the hacked version - of Timidity from SDL_mixer) is now in place and working well, - thanks to Torbjörn. -01012002 - Happy New Year. Added some debug output to wav.c for future - codecs (GSM comes to mind). Fixed the SMPEG decoder's URL to point - to Loki's webpage. -12302001 - Upped version to 0.1.4. -12272001 - Added --audiobuf and --decodebuf options to playsound to make - tracking down a bug in the ADPCM decoder easier (plus, it could - help for benchmarking, etc later on...). Found a printf() bug in - playsound (extra comma in there...). ADPCM decoder appears to be - functional now. Tried to add ElectricFence support to - configure.in, and failed. All this libtool/autoconf stuff makes my - head hurt. -12262001 - Changed remaining references to the "LICENSE" file into "COPYING". - Work progresses on the ADPCM-compressed .wav decoder. Updates to - the documentation in SDL_sound.h. Hhmm...find_chunk() in wav.c was - badly broken. Fixed. -12162001 - FLAC decoder now checks for the magic number unless the file - extension is recognized. This was changed back because searching - for metadata, while probably more effective, is VERY expensive (and - useless) on non-FLAC streams. -12052001 - Put our names in a "--credits" option in playsound, and put the - standard GNU disclaimers in there too, for good measure. Renamed - LICENSE to COPYING to match GNU standards more closely (and to - end Max's torment. :) ) Tweaks to wav.c, and work on aiff.c to - make it easier to support multiple audio formats (for compression - handling later down the road). -11302001 - Torbjörn and I make Sound_DecodeAll() more robust: checks for - previous decoding failures and sets an appropriate error, handles - decoders that change their buffers on the fly (such as the FLAC - decoder), and deals with out-of-memory conditions more gracefully. -11252001 - (With thanks to Andreas Umbach for pointing it out) Fixed some - problems with Sound_DecodeAll(). For local testing of this bug, - added a --predecode command line to playsound. Minor fixes to - theoretical bugs in Sound_FreeSample(). playsound no longer - buffers stdout and stderr. Updated Sound_DecodeAll()'s comments in - SDL_sound.h ... -11192001 - FLAC decoder cleanups from Torbjörn. -11092001 - Torbjörn fixes playsound's audio callback after I broke it, again. - A bug in configure.in was preventing SMPEG from being used unless - --enable-debug was set; fixed. Changed this file to list latest - changes first. Torbjörn submitted a FLAC decoder that utilizes - libFLAC (http://flac.sf.net/). Cool. -11012001 - API COMPATIBILITY BREAKAGE: Decoders can now list multiple file - extensions each. Playsound has been updated to handle this. - Playsound now registers a SIGINT handler, so you can skip tracks - and/or abort the way that mpg123 does. -10232001 - Rewrote playsound.c's audio_callback() to no longer need the - overflow buffer hack, which streamlines it a little and trims the - memory requirements for playsound by about 16 kilobytes. -10172001 - Torbjörn catches a problem with the overflow buffer in playsound's - audio callback. -10152001 - Torbjörn sends in a default sample format for the MIDI decoder, - and the starts of the audio conversion funcitonality (ripped - from SDL). Officially released 0.1.3. Added LICENSE and - CHANGELOG to the distribution. (Again, from Torbjörn) added in - the start of a tweaked audio converter. -10122001 - Torbjörn Andersson submitted command line enhancements to - playsound, and I cleaned up the --help output. -10092001 - Patches to shn.c for Visual C compatibility. Visual C project files - available from the website. Changed Corona688 to Tyler Montbriand - in CREDITS. Upped version to 0.1.3. -10082001 - Restructured decoders/wav.c to allow for multiple formats, and - put the start of a handler for the ADPCM format in place. -10072001 - Changed the way decoders/mod.c handles samplerate so that it should - work universally. This isn't an ideal solution, but it's probably - the best we can do without rewriting mikmod. Made a change to ogg.c - for portability: changed an int64_t to ogg_int64_t. -10062001 - Made a change to SDL_sound.c for compiling on non-GNU toolchains. -10052001 - Removed #include "SDL_endian" from aiff.c. -10042001 - Changed some #if (defined SOUND_SUPPORTS_*) lines to - #ifdef SOUND_SUPPORTS_* in voc.c and shn.c, for consistency with - the other decoders. -10032001 - After hours of tracking down a bogus pointer, the SHN decoder works! - I can die happy. :) Max placated me with an --enable-debug option - so I could stop my whining. Other autoconf goodies (such as - reenabling -Werror for debug builds, etc). Torbjörn brings in a - MIDI decoder, which reads from a Timidity process through a pipe. - Changed playsound to open the audio device to match the properties - of each sound file, which results in less conversion (and therefore, - more chance of correct playback). -10022001 - Changed a comment in mod.c to not refer to "the mikmod - directory" anymore. Committed Torbjörn's patch for MP3 detection. - (better late than never). __Sound_strcasecmp() now handles NULL - strings gracefully, fixing the crash with "playsound bootstrap". - More work on the SHN decoder. -10012001 - Fixed a memory leak that Torbjörn found in the MOD decoder. -09252001 - More autoconf work. Gave Max Horn write access to the CVS - repository, so I don't drive him nuts tweaking this thing. :) - Fixed a const complaint and some other stuff needed for compilation - under Visual C++ 6.0 (no, it isn't ported yet). Put the SHN source - in CVS, even though it isn't ready (and doesn't even compile). Do - NOT enable it in your build! -09242001 - Thank goodness, Torbjörn came through with the MP3 fix. Apparently - SMPEG mixes each chunk of decoded data with whatever is already - in the buffer you give it. I hate that. I'm going to patch SMPEG - to let the programmer enable and disable that behaviour in a given - (SMPEG *), since it's just a CPU eater in this case. The _D(()) - macro is now SNDDBG(()), since _D is taken on MacOS X's version of - gcc (which was bound to happen on some platform sooner than later - anyhow). Renamed test_sdlsound to playsound, and made it more - robust in general: fixed potential overflow in audio_callback, - made it chatter less, made it take multiple files and some other - command lines. Initial autoconf support, thanks to Max Horn. -09222001 - Torbjörn Andersson strikes again, with a collection of patches. - First, some cosmetic tweaks for decoders/aiff.c. Next, a MOD player - based on MikMod. This inspired me to add two more methods to - Sound_DecoderFunctions: init() and quit(). Third, a fix to - decoders/mp3.c so that SMPEG won't claim every stream it sees, MP3 - or not. I removed the multiple-streams-per-rwops code, after - discussion on the mailing list. The init() and quit() methods - led to the possibility that certain decoders will flag themselves - as unavailable at runtime, and SDL_sound now handles this. - Added [LIB|INC]PATH_[OGG|MOD]. Bigendian fixes; now works on - PowerPC Linux. MikMod tweaks. Changed version to 0.1.2. -09202001 - Torbjörn Andersson submitted several patches: fixed a comment in - the .WAV decoder (whoops...screwed up my own search-and-replace. - Hah.), made an attempt at putting multiple sound streams behind - one RWops (gotta think on that one first), and, most importantly, - added an AIFF decoder, which is very cool. -09192001 - Added a skeleton decoder source file. Changed voc_read() to - voc_read_waveform(), so it wouldn't be confused with VOC_read(). - Fixed a byte ordering bug in voc.c (reported as AUDIO_S16LSB, but - we were swapping byte order of data ourselves. Fixed). Added basic - .WAV support. Fixed Makefile so that -I. is always first; - otherwise, a previously installed header might get used for the - compiles, which is not good. SDL_sound.h now includes SDL_endian.h, - since SDL.h doesn't, for some reason. Moved version defines in - SDL_sound.h to top of file so I can find them. :) - Changed version to 0.1.1. Committed patch from Tsuyoshi Iguchi to - fix a segfault (I forgot to put a NULL terminator at the end of - the available_decoders array), fixing the only bug preventing the - test program from running on FreeBSD 4.3. Sweet. Added Ogg Vorbis - decoder. Rewrote the test program's SDL audio callback to be more - robust (Ogg exposed a nasty bug in it). Fixed a byte-ordering issue - in the VOC decoder. -09182001 - Implemented MP3 support through SMPEG (not working yet, though) and - wrote the Reference Counting RWops wrapper. Added other little - things like the _D(()) macro. Added VOC support, which went up with - surprisingly little struggle, which means it MUST be leaking - memory. :) -09172001 - Changed some overlooked "voice" to "sound". Implemented base API. - So...tired. Everything's different. :) - Also put in a RAW decoder and a simple test program. -09142001 - Changed name to SDL_sound, added Sound_DecodeAll() to spec. -09132001 - Initial spec proposed on SDL mailing list, under name "SDL_voice". - ---ryan. (icculus@icculus.org) - -/* end of CHANGELOG ... */ - diff -r fd3f109c5caf -r 668dd6675b7f CHANGELOG.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CHANGELOG.txt Tue Sep 09 16:26:24 2008 -0400 @@ -0,0 +1,385 @@ +/* + * CHANGELOG. + */ + +04182008 - Include in shn.c. +04172008 - Look for Speex includes in new directory. Converted all text + encoding from ISO-8859-1 to UTF-8. Fixed "make dist" script for + dealing with Subversion instead of CVS. Added Speex to the README. +04112008 - Check if Speex header has bogus data (CVE-2008-1686). +08062007 - Updated my email address. Added -fvisibility=hidden support. +07152007 - Minor correction in Timidity resampling code (Thanks, Sam!). +07062007 - Fixed uninitialized buffer in mpglib. (Thanks, Phil!). +10292006 - Fixed bogus memory dereference when SMPEG fails init (thanks, Chris!) +10272006 - FLAC 1.1.3 breaks their API _again_, so we try to do the right + thing at build time. (Thanks, Josh!). +07282006 - Ogg Vorbis decoding defaults to system byte order now. +05122006 - Patched to get mpglib compiling again (thanks, Sam!). +03312006 - Wedged in a temporary hack for Speex rewinding. +12172005 - Fixed gcc4 whining in playsound_simple.c. +12062005 - Trimmed a bunch of junk out of the build system, and now it works + on Mac OS X again. +10122005 - Check for libmodplug headers in two possible places (thanks, Tyler!) +10012005 - Added playsound_simple.c. +09142005 - Happy September. Patched smpeg.c and some other things to compile. +01062005 - Fixed Project Builder project files (Thanks, Martin!) +11122004 - Fixed automake nonsense. Fixed logic bug in voc decoder. +07032004 - Removed altcvt from the source tree. Started pounding out initial + mixer implementation. +05152004 - Added Sound_NewSampleFromMem(), and implementation of RWops pooling. +05112004 - Added Sound_GetDuration() and moved total_time out of Sound_Sample + struct and into it's opaque data...this fixes binary compatibility + with apps written for SDL_sound 1.0. +05082004 - Started 1.1.0 development branch with code to determine the total + length of a sample (thanks to Wesley, Eric, Wang, and Ahilan!)... + this patch was originally committed to CVS on 10252003, but it is + getting re-merged in the svn repository. Fixed "bootstrap" to + work with MacOSX. +05072004 - Backed out some commits, converted repository to Subversion, and + branched off to a 1.1.0 development tree. Changed MikMod URL...old + one is now a porn site. :( +10252003 - VOC decoder was broken. Now it isn't. +10142003 - Build system fix: acinclude.m4 had some word wrapping badness. +10122003 - Fixed "make dist" behaviour to not packaged generated docs, and + made sure other files are always packaged, regardless of config. + Upped version to 1.0.1. +10102003 - Changed some SDL_Error()s to __Sound_SetError() in new DLS code + to fix linking issues. +10052003 - Fixed memory corruption when freeing DLS instruments, + and bug when timidity is initialized multiple times (Thanks, Sam!). +09252003 - Sam Lantinga added support for DLS instruments to the MIDI decoder. +09132003 - Happy September. Added Speex (.spx) decoder. +08052003 - Fixed MIDI decoder on bigendian systems. +03102003 - Never actually created samplelist_mutex (Thanks, Glenn Maynard!). +01302003 - Patches to make SDL_sound more Visual C happy (Thanks, Eric!). +01122003 - Fix to smpeg.c's rewinding code (Thanks, Eric). Put Visual C 6 + project files in CVS, without external binaries (Thanks, Eric). +12212002 - Fixed ogg.c to decode a full buffer at a time instead of one ogg + packet per call, and mikmod has a check during initialization to + prevent a clash with SDL_mixer (Thanks, Eric). +12092002 - Changed Sound_Init()'s call to SDL_Init() to SDL_InitSubSystem(), + to prevent unwanted use of the SDL parachute (thanks, Glenn). +10092002 - Fixed a "make dist" issue and upped version to 1.0.0! Woohoo! +09302002 - libFLAC broke their API (again!) for version 1.0.4. That was the + last straw. I ripped the version detection and obsolete FLAC + support out, so you need libFLAC 1.0.4 for that decoder now (and + they'll probably break the API again for 1.0.5. Argh). +09262002 - Happy September. Fixed SDLCALL issues in SDL_sound.h, so it should + work with Win32/WinCE builds again. I hope. Merged latest altcvt + from Frank into CVS. +08222002 - Borland project files in CVS, thanks to Dominique Louis. There are + project files for C++ Builder 6 (Windows), C++ Builder for Linux + (aka Kylix 3) and Borland's C++ Command line compiler. +08172002 - Timidity memory leak cleanup by Torbjörn. +07292002 - Valgrind cleanups; memory leak patches, etc. +07212002 - done_flag was not being reset between files in playsound, so the + first file would playback, and then any following tracks in a given + run would "finish" immediately. Fixed. +07132002 - More altcvt fixes from Frank Ranostaj. +07122002 - Changed inline keyword to compile universally. +07102002 - Fixed a bug in command line handling in playsound.c. Fixes from + Torbjörn and myself to get flac.c friendly between versions of + libFLAC. Mutex'd a potential race condition in decoders/modplug.c. + FIXME cleanups here and there. +07092002 - Fixed typo in documentation (SDL_sound.h). +07052002 - Cleaned up some stuff in playsound.c, removing some FIXMEs. + Commandline validation is improved, too. FIXME removal in + voc.c; should report i/o errors correctly now. Changed DECLSPEC + to SNDDECLSPEC to prevent SDL conflict, and added SDLCALL support. + Removed all instances of Sound_SetError()...now they are either + __Sound_SetError or BAIL*_MACRO. +07022002 - Added WinCE support pack to website, updated INSTALL with CE info. + More altcvt fixes from Frank Ranostaj. +07012002 - Fixed configure.in to work around bug in older autoconfs. Started + merging Tyler's WinCE (PocketPC) port. Added checks for assert.h + and signal.h to configure.in/config.h.in, and #if HAVE_*_H checks + where appropriate in the code. Moved #include (along + with the HAVE_ASSERT_H check) to SDL_sound_internal.h, and removed + unnecessary #includes from the individual source files. Added + "md_reverb = 1;" to MIKMOD_init(). Modplug got some WinCE-specific + setting tweaks, and some settings maintanance code. configure.in + checks if setbuf() is available. +06292002 - More altcvt fixes from Frank Ranostaj...mostly working now? +06252002 - More altcvt fixes from Frank Ranostaj. +06132002 - Patch from Torbjörn to fix stereo AIFF files. +06212002 - More altcvt fixes from Frank Ranostaj. +06132002 - Patch from Torbjörn to make the WAV decoder more tolerant. +06122002 - Committed some altcvt enhancements from Frank Ranostaj. +06112002 - Fixed some debug messages in smpeg.c and mpglib.c. +06072002 - Manpages! Finally installed Doxygen and scratched together a + Doxyfile. After some revision to physfs.h, we've got a rather + nice API reference. +06062002 - Added URLs for official and unofficial versions of ModPlug in + decoders/modplug.c. Cleaned up some FIXMEs. +05222002 - Torbjörn sent in some more fixes for altcvt: mono to stereo + conversion works, now. +05222002 - Torbjörn sent in some initial cleanups and fixes for altcvt, and + fixed a bug in playsound when not all three of --rate, --channels + and --format are specified. +05202002 - Some .cvsignores from Max and me. Added a seek implementations for + the SMPEG, ogg, aiff, wav-adpcm, voc, and au decoders. Added a seek + stub to quicktime.c. playsound now takes milliseconds in the seek + lists: --seek "00:00:400" or whatnot. Corrected playsound's usage + text. Other au.c cleanups for extra robustness. Added an + experimental audio converter that Frank Ranostaj sent to the SDL + mailing list about a month ago: enable it with --enable-altcvt at + configure time, but be warned that it doesn't work very well right + now. +04292002 - Darrell Walisser updated the Mac Classic and OS X project + files, fixed some portability issues, and added an + experimental decoder that uses Apple's QuickTime libraries + (see decoders/quicktime.c). I've included the Mac project files + in CVS, now. Removed all use of alloca() from playsound. +04242002 - Added --seek option and bugfixes to playsound.c. Torbjörn comes + through with seek support for the FLAC, MIDI, and ModPlug + decoders (and some stub code for MikMod), and a bugfix for sample + flag manipulation in the base library (and his own --seek code for + playsound, which unfortunately we're not using). +04232002 - Cleaned up the playsound command line handling. Most command line + options (--rate, --format, --predecode, etc) are specified per-file + and reset to their defaults after each sample is played back. + --loop now takes a numeric argument: --loop 2 will playback the + sample three times (one playback and two loops). Added Darrell + to the playsound credits. +04212002 - Initial work to add a Sound_Seek() API. Removed the NEEDSEEK + sample flag (replaced it with CANSEEK). Hack to change the internal + Sound_SetError() function to __Sound_SetError(). Added internal + function __Sound_convertMsToBytePos(). +04082002 - Cleaned up the archive support in playsound a little bit, and + fixed a PhysicsFS bug in the process. +03252002 - Win32 patches and fixes from Tyler Montbriand: handled "inline" + keyword, fixed SNDDBG macros in mpglib, and renamed a conflicting + file (decoders/mpglib/common.c to decoders/mpglib/mpglib_common.c). +03172002 - Removed an unneeded #include in mpglib that broke build on BeOS. + mpglib seems to work find on BeOS. Reworked some of mpglib.c so we + can determine the audio format when accepting the data stream. Some + other minor cleanups here and there. +03162002 - Tied the PhysicsFS code into the build system (code disabled if + physfs not found or --disable-physfs passed to ./configure.) +03152002 - Added PhysicsFS support to playsound, so you can play sound files + that are in ZIP files without unzipping them. Needs to be merged + into build system (I was just testing my PhysFS->RWops glue code). +03142002 - Changed configure script's --enable-vorbis to --enable-ogg. Removed + global state variable from mpglib, so it should be reentrant now + (patches sent to mpglib's actual maintainer). playsound can now + read from stdin. +03102002 - Added a FIXME note to decoders/mpglib.c. playsound now reports + errors in the thread where they occured, which also fixes a double + report of errors during predecoding. Removed all calls to exit() in + mpglib. These calls now report errors correctly to SDL_sound, which + passes them on to the application (patch also sent to mpglib's + actual maintainer). Replaced all stderr chatter in mpglib with + Sound_SetError() calls. +03072002 - decoders/mpglib.c now disregards ID3 tags instead of passing them + on as valid MP3 data to mpglib. Added some (buggy) example code for + adjusting an audio stream's volume (via the new --volume command + line in playsound). +03032002 - Fixed mpglib's build configuration to include general build flags + so that things like --enable-debug work as expected. +02212002 - Changed SMPEG's URL to point to the icculus.org site. Added an + mpglib decoder (internal to SDL_sound; relies on no external libs) + and changes mp3.c to smpeg.c (and other associated things). +02112002 - Committed a patch from Torbjörn to fix incorrect memory accesses + in the Timidity code. Changed the magic number in the AU decoder + to be bigendian (seems appropriate). Updated README for + completeness, and TODO for accuracy. Darrell sent in updated + MacOS X Project Builder files (on the website). +02072002 - Committed a patch Torbjörn sent in awhile ago for preventing + confusion with Timidity++-specific stuff in the timidity.cfg file. + Tyler Montbriand sent in an updated Visual C package. + Updated SDL_sound.h's comments a little. Upped version to 0.1.5. +02052002 - Fixed a cleanup I broke last night. Added CWProject.sit to the + EXTRA_DIST section of Makefile.am, and updated the README with + MacOS (9/X) install instructions. +02042002 - Darrell Walisser submitted some cleanups and CodeWarrior project + files for MacOS 9. Sweet! +01232002 - Max fixed decoders/Makefile.am to work with seperate build + directories, and corrected some dates in this file. +01192002 - Torbjörn sent in patches implementing the rewind method for the + rest of the decoders except shn.c, for which I added a kludged + implementation. Added more info to the README. Hunted down the + reason why SMPEG can't decode before calling SDL_OpenAudio(), and + it can't be fixed without a change to SMPEG (not MY fault! :) ). + Made ModPlug take priority over MikMod when selecting a decoder. + Mutex-protected the internal samples list, and fixed some bugs in + the management of that list. Changed some stuff to use uniform + coding conventions. +01182002 - SDL_sound/playsound builds and runs on BeOS now. Fixed an assertion + bug I introduced yesterday. +01172002 - Implemented Sound_Rewind(), and added a --loop command line to + playsound for testing. Rewrote the audio callback to handle looping + with both predecoded and streamed samples. Most of the decoders + just have an assert(0) in their internal rewinding method at this + point. I implemented the WAV, VOC, AU, AIFF, and RAW ones, for now. + (...and skeleton.c, for what that's worth.) A few tweaks in the + core API implementation to fix unlikely but possible leaks. +01112002 - Mattias Engdegård sent in an .AU decoder. Nice! He also tweaked + playsound to try and wait until SDL has completed playing a given + sound before closing the audio device. Changed a macro in + decoders/shn.c to be more uniform with the other decoders. + SDL_sound error messages are now maintained on a per-thread basis, + and do not interfere with SDL_[GS]etError() anymore. +01112002 - Committed the rest of Torbjörn's MOD patches, to clean up file + extension handling. +01092002 - Torbjörn comes through with a ModPlug-based decoder, which should + work nicely for decoding multiple .MODs at once. Now we need to + figure out what to do with two decoders that can decode the same + file. For now, if you explicitly want either MikMod or ModPlug, you + should explicitly enable one decoder and disable the other on the + configure command line ("--enable-modplug --disable-mikmod", for + example), otherwise configure will try to sort out the best one for + your system. Choice is a wonderful thing. :) +01042002 - Forgot to bump playsound's version to match SDL_sound's. Fixed. + Added some notes to the top of COPYING about other libraries, etc. + A real MIDI decoder (using a hacked version of the hacked version + of Timidity from SDL_mixer) is now in place and working well, + thanks to Torbjörn. +01012002 - Happy New Year. Added some debug output to wav.c for future + codecs (GSM comes to mind). Fixed the SMPEG decoder's URL to point + to Loki's webpage. +12302001 - Upped version to 0.1.4. +12272001 - Added --audiobuf and --decodebuf options to playsound to make + tracking down a bug in the ADPCM decoder easier (plus, it could + help for benchmarking, etc later on...). Found a printf() bug in + playsound (extra comma in there...). ADPCM decoder appears to be + functional now. Tried to add ElectricFence support to + configure.in, and failed. All this libtool/autoconf stuff makes my + head hurt. +12262001 - Changed remaining references to the "LICENSE" file into "COPYING". + Work progresses on the ADPCM-compressed .wav decoder. Updates to + the documentation in SDL_sound.h. Hhmm...find_chunk() in wav.c was + badly broken. Fixed. +12162001 - FLAC decoder now checks for the magic number unless the file + extension is recognized. This was changed back because searching + for metadata, while probably more effective, is VERY expensive (and + useless) on non-FLAC streams. +12052001 - Put our names in a "--credits" option in playsound, and put the + standard GNU disclaimers in there too, for good measure. Renamed + LICENSE to COPYING to match GNU standards more closely (and to + end Max's torment. :) ) Tweaks to wav.c, and work on aiff.c to + make it easier to support multiple audio formats (for compression + handling later down the road). +11302001 - Torbjörn and I make Sound_DecodeAll() more robust: checks for + previous decoding failures and sets an appropriate error, handles + decoders that change their buffers on the fly (such as the FLAC + decoder), and deals with out-of-memory conditions more gracefully. +11252001 - (With thanks to Andreas Umbach for pointing it out) Fixed some + problems with Sound_DecodeAll(). For local testing of this bug, + added a --predecode command line to playsound. Minor fixes to + theoretical bugs in Sound_FreeSample(). playsound no longer + buffers stdout and stderr. Updated Sound_DecodeAll()'s comments in + SDL_sound.h ... +11192001 - FLAC decoder cleanups from Torbjörn. +11092001 - Torbjörn fixes playsound's audio callback after I broke it, again. + A bug in configure.in was preventing SMPEG from being used unless + --enable-debug was set; fixed. Changed this file to list latest + changes first. Torbjörn submitted a FLAC decoder that utilizes + libFLAC (http://flac.sf.net/). Cool. +11012001 - API COMPATIBILITY BREAKAGE: Decoders can now list multiple file + extensions each. Playsound has been updated to handle this. + Playsound now registers a SIGINT handler, so you can skip tracks + and/or abort the way that mpg123 does. +10232001 - Rewrote playsound.c's audio_callback() to no longer need the + overflow buffer hack, which streamlines it a little and trims the + memory requirements for playsound by about 16 kilobytes. +10172001 - Torbjörn catches a problem with the overflow buffer in playsound's + audio callback. +10152001 - Torbjörn sends in a default sample format for the MIDI decoder, + and the starts of the audio conversion funcitonality (ripped + from SDL). Officially released 0.1.3. Added LICENSE and + CHANGELOG to the distribution. (Again, from Torbjörn) added in + the start of a tweaked audio converter. +10122001 - Torbjörn Andersson submitted command line enhancements to + playsound, and I cleaned up the --help output. +10092001 - Patches to shn.c for Visual C compatibility. Visual C project files + available from the website. Changed Corona688 to Tyler Montbriand + in CREDITS. Upped version to 0.1.3. +10082001 - Restructured decoders/wav.c to allow for multiple formats, and + put the start of a handler for the ADPCM format in place. +10072001 - Changed the way decoders/mod.c handles samplerate so that it should + work universally. This isn't an ideal solution, but it's probably + the best we can do without rewriting mikmod. Made a change to ogg.c + for portability: changed an int64_t to ogg_int64_t. +10062001 - Made a change to SDL_sound.c for compiling on non-GNU toolchains. +10052001 - Removed #include "SDL_endian" from aiff.c. +10042001 - Changed some #if (defined SOUND_SUPPORTS_*) lines to + #ifdef SOUND_SUPPORTS_* in voc.c and shn.c, for consistency with + the other decoders. +10032001 - After hours of tracking down a bogus pointer, the SHN decoder works! + I can die happy. :) Max placated me with an --enable-debug option + so I could stop my whining. Other autoconf goodies (such as + reenabling -Werror for debug builds, etc). Torbjörn brings in a + MIDI decoder, which reads from a Timidity process through a pipe. + Changed playsound to open the audio device to match the properties + of each sound file, which results in less conversion (and therefore, + more chance of correct playback). +10022001 - Changed a comment in mod.c to not refer to "the mikmod + directory" anymore. Committed Torbjörn's patch for MP3 detection. + (better late than never). __Sound_strcasecmp() now handles NULL + strings gracefully, fixing the crash with "playsound bootstrap". + More work on the SHN decoder. +10012001 - Fixed a memory leak that Torbjörn found in the MOD decoder. +09252001 - More autoconf work. Gave Max Horn write access to the CVS + repository, so I don't drive him nuts tweaking this thing. :) + Fixed a const complaint and some other stuff needed for compilation + under Visual C++ 6.0 (no, it isn't ported yet). Put the SHN source + in CVS, even though it isn't ready (and doesn't even compile). Do + NOT enable it in your build! +09242001 - Thank goodness, Torbjörn came through with the MP3 fix. Apparently + SMPEG mixes each chunk of decoded data with whatever is already + in the buffer you give it. I hate that. I'm going to patch SMPEG + to let the programmer enable and disable that behaviour in a given + (SMPEG *), since it's just a CPU eater in this case. The _D(()) + macro is now SNDDBG(()), since _D is taken on MacOS X's version of + gcc (which was bound to happen on some platform sooner than later + anyhow). Renamed test_sdlsound to playsound, and made it more + robust in general: fixed potential overflow in audio_callback, + made it chatter less, made it take multiple files and some other + command lines. Initial autoconf support, thanks to Max Horn. +09222001 - Torbjörn Andersson strikes again, with a collection of patches. + First, some cosmetic tweaks for decoders/aiff.c. Next, a MOD player + based on MikMod. This inspired me to add two more methods to + Sound_DecoderFunctions: init() and quit(). Third, a fix to + decoders/mp3.c so that SMPEG won't claim every stream it sees, MP3 + or not. I removed the multiple-streams-per-rwops code, after + discussion on the mailing list. The init() and quit() methods + led to the possibility that certain decoders will flag themselves + as unavailable at runtime, and SDL_sound now handles this. + Added [LIB|INC]PATH_[OGG|MOD]. Bigendian fixes; now works on + PowerPC Linux. MikMod tweaks. Changed version to 0.1.2. +09202001 - Torbjörn Andersson submitted several patches: fixed a comment in + the .WAV decoder (whoops...screwed up my own search-and-replace. + Hah.), made an attempt at putting multiple sound streams behind + one RWops (gotta think on that one first), and, most importantly, + added an AIFF decoder, which is very cool. +09192001 - Added a skeleton decoder source file. Changed voc_read() to + voc_read_waveform(), so it wouldn't be confused with VOC_read(). + Fixed a byte ordering bug in voc.c (reported as AUDIO_S16LSB, but + we were swapping byte order of data ourselves. Fixed). Added basic + .WAV support. Fixed Makefile so that -I. is always first; + otherwise, a previously installed header might get used for the + compiles, which is not good. SDL_sound.h now includes SDL_endian.h, + since SDL.h doesn't, for some reason. Moved version defines in + SDL_sound.h to top of file so I can find them. :) + Changed version to 0.1.1. Committed patch from Tsuyoshi Iguchi to + fix a segfault (I forgot to put a NULL terminator at the end of + the available_decoders array), fixing the only bug preventing the + test program from running on FreeBSD 4.3. Sweet. Added Ogg Vorbis + decoder. Rewrote the test program's SDL audio callback to be more + robust (Ogg exposed a nasty bug in it). Fixed a byte-ordering issue + in the VOC decoder. +09182001 - Implemented MP3 support through SMPEG (not working yet, though) and + wrote the Reference Counting RWops wrapper. Added other little + things like the _D(()) macro. Added VOC support, which went up with + surprisingly little struggle, which means it MUST be leaking + memory. :) +09172001 - Changed some overlooked "voice" to "sound". Implemented base API. + So...tired. Everything's different. :) + Also put in a RAW decoder and a simple test program. +09142001 - Changed name to SDL_sound, added Sound_DecodeAll() to spec. +09132001 - Initial spec proposed on SDL mailing list, under name "SDL_voice". + +--ryan. (icculus@icculus.org) + +/* end of CHANGELOG ... */ + diff -r fd3f109c5caf -r 668dd6675b7f COPYING --- a/COPYING Mon Jun 30 01:49:20 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,524 +0,0 @@ -Please note that the included source from Timidity, the MIDI decoder, is also - licensed under the following terms (GNU LGPL), but can also be used - separately under the GNU GPL, or the Perl Artistic License. Those licensing - terms are not reprinted here, but can be found on the web easily. - -Other external libraries (such as Ogg Vorbis, SMPEG, etc) have their own - licenses which you should be aware of before including the related code - in your configuration. Most (if not all) are also under the LGPL, but are - external projects and we've got no control over them. - -If you want to use SDL_sound under a closed-source license, please contact - Ryan (icculus@icculus.org), and we can discuss an alternate license for - money to be distributed between the contributors to this work, but I'd - encourage you to abide by the LGPL, since the usual concern is whether you - can use this library without releasing your own source code (you can). - - -------------------- - - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff -r fd3f109c5caf -r 668dd6675b7f CREDITS --- a/CREDITS Mon Jun 30 01:49:20 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ - ---------------------- - | SDL_sound credits. | - ---------------------- - -Initial API interface and implementation, -RAW driver, -VOC driver, -SMPEG driver, -MPGLIB driver, -WAV driver, -OGG driver, -SHN driver, -Unix support, -BeOS support: - Ryan C. Gordon - -Bug fixes, -FreeBSD testing: - Tsuyoshi Iguchi - -Code cleanups, -SMPEG fixes, -AIFF driver, -MikMod driver, -MIDI driver, -ModPlug driver, -FLAC driver: - Torbjörn Andersson - -autoconf, -MacOS X support: - Max Horn - -win32 support, -PocketPC support, -other fixes: - Tyler Montbriand - -AU driver, - Mattias Engdegård - -MacOS Classic support, -quicktime decoder, -OS X fixes: - Darrell Walisser - -Alternate audio conversion code: - Frank Ranostaj - -Initial Borland C++ project files: - Dominique Louis - -Bugfixes and stuff: - Eric Wing - -FLAC 1.1.3 updates: - Josh Coalson - -SMPEG fixes: - Chris Nelson - -Other stuff: - Your name here! Patches go to icculus@icculus.org ... - -/* end of CREDITS ... */ - diff -r fd3f109c5caf -r 668dd6675b7f CREDITS.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CREDITS.txt Tue Sep 09 16:26:24 2008 -0400 @@ -0,0 +1,66 @@ + ---------------------- + | SDL_sound credits. | + ---------------------- + +Initial API interface and implementation, +RAW driver, +VOC driver, +SMPEG driver, +MPGLIB driver, +WAV driver, +OGG driver, +SHN driver, +Unix support, +BeOS support: + Ryan C. Gordon + +Bug fixes, +FreeBSD testing: + Tsuyoshi Iguchi + +Code cleanups, +SMPEG fixes, +AIFF driver, +MikMod driver, +MIDI driver, +ModPlug driver, +FLAC driver: + Torbjörn Andersson + +autoconf, +MacOS X support: + Max Horn + +win32 support, +PocketPC support, +other fixes: + Tyler Montbriand + +AU driver, + Mattias Engdegård + +MacOS Classic support, +quicktime decoder, +OS X fixes: + Darrell Walisser + +Alternate audio conversion code: + Frank Ranostaj + +Initial Borland C++ project files: + Dominique Louis + +Bugfixes and stuff: + Eric Wing + +FLAC 1.1.3 updates: + Josh Coalson + +SMPEG fixes: + Chris Nelson + +Other stuff: + Your name here! Patches go to icculus@icculus.org ... + +/* end of CREDITS ... */ + diff -r fd3f109c5caf -r 668dd6675b7f INSTALL --- a/INSTALL Mon Jun 30 01:49:20 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,105 +0,0 @@ -Building is pretty easy. Please read README, too, as it duplicates and -expands upon much of this information. - - -ALL PLATFORMS: - -Please understand your rights and mine: read the text file COPYING in the root -of the source tree. If you can't abide by it, delete this source tree now. - -The best documentation for the SDL_sound API is SDL_sound.h. It is VERY -heavily commented, and makes an excellent, in-depth reference to all the -functions. The official API reference is generated from this file with -a program called "Doxygen" (http://www.doxygen.org/) - - -Borland C++ Builder for Linux (Kylix 3): - Unzip the "borland.zip" file in the root of the source tree and use the - project files in the newly-created Borland/k3 directory. Makefiles for the - command line compiler are in Borland/freebcc ... - - -Unix: - (If you pulled the source from CVS), run ./bootstrap - - run ./configure --help, and see if there's any options you need. Rerun - configure with those options. If this is confusing to you, just run - ./configure with no options: the defaults are generally decent, and - configure is usually smart enough to figure out what's best.. - - If configuration succeeded, run "make". - - Run "make install" as root to install the library for use on your system. - - This should work for most Unix-style systems, including Linux, *BSD, BeOS, and - MacOS X. Reports of success and failure are welcome. - - -MacOS 9 users: - Included with the source is CWProject.sit, which contains project files for - CodeWarrior 5.0 and later. - - -MacOS X command line tools: - You can use the "UNIX" instructions above if you like the command line tools. - - -MacOS X Project Builder: - If you prefer to use Project Builder, use the project files included with - this source: PBProjects.tar.gz...unpack it in the root of the SDL_sound - folder. This archive contains several external libraries you would have - to download/install manually if you used the command line tools (these - libraries are for extra decoders, and are NOT required for SDL_sound to - function...however, without them, the number of sound formats you can - decode is reduced.) - - -BeOS: - You can use the "UNIX" instructions above, too. - - -Win32 Visual C: - For Visual C, use: - http://icculus.org/SDL_sound/downloads/sdl_sound_visualc_srcs.zip - ...and unzip it somewhere. This zipfile has a complete copy of the - SDL_sound sources, Visual C project files, and several external libraries, - too. This zip is everything you should need, and you can scrap this copy of - the source. - - -Win32 Cygwin: - Cygwin users can try their luck with the Unix build instructions in this - tarball instead. - - -Win32 Borland C++ Builder 6: - Unzip the "borland.zip" file in the root of the source tree and use the - project files in the newly-created Borland/bcb6 directory. Makefiles for the - command line compiler are in Borland/freebcc ... these are unmaintained, and - you will need to go find the external libraries you want to use (those that - wish to maintain these project files should contact me). - - -If building is successful, there will be a shared library and a binary - called "playsound". - - -Windows CE (Microsoft PocketPC): - You'll need Microsoft's PocketPC development environment, and this zipfile: - http://icculus.org/SDL_sound/downloads/SDL_soundCE.zip - - Unzip that into the root of this source tree. The new "wce" directory has - project files, and the source to some of the external decoders is included. - Note that not all of the decoders are supported on PocketPC (but please, do - send us patches if you get them working!) - - -OTHER PLATFORMS: - -Send me patches, and instructions, and I'll list them here. Consider -joining the SDL_sound mailing list. Details are at: - http://icculus.org/SDL_sound/ - ---ryan. (icculus@icculus.org) - - diff -r fd3f109c5caf -r 668dd6675b7f INSTALL.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/INSTALL.txt Tue Sep 09 16:26:24 2008 -0400 @@ -0,0 +1,105 @@ +Building is pretty easy. Please read README, too, as it duplicates and +expands upon much of this information. + + +ALL PLATFORMS: + +Please understand your rights and mine: read the text file COPYING in the root +of the source tree. If you can't abide by it, delete this source tree now. + +The best documentation for the SDL_sound API is SDL_sound.h. It is VERY +heavily commented, and makes an excellent, in-depth reference to all the +functions. The official API reference is generated from this file with +a program called "Doxygen" (http://www.doxygen.org/) + + +Borland C++ Builder for Linux (Kylix 3): + Unzip the "borland.zip" file in the root of the source tree and use the + project files in the newly-created Borland/k3 directory. Makefiles for the + command line compiler are in Borland/freebcc ... + + +Unix: + (If you pulled the source from CVS), run ./bootstrap + + run ./configure --help, and see if there's any options you need. Rerun + configure with those options. If this is confusing to you, just run + ./configure with no options: the defaults are generally decent, and + configure is usually smart enough to figure out what's best.. + + If configuration succeeded, run "make". + + Run "make install" as root to install the library for use on your system. + + This should work for most Unix-style systems, including Linux, *BSD, BeOS, and + MacOS X. Reports of success and failure are welcome. + + +MacOS 9 users: + Included with the source is CWProject.sit, which contains project files for + CodeWarrior 5.0 and later. + + +MacOS X command line tools: + You can use the "UNIX" instructions above if you like the command line tools. + + +MacOS X Project Builder: + If you prefer to use Project Builder, use the project files included with + this source: PBProjects.tar.gz...unpack it in the root of the SDL_sound + folder. This archive contains several external libraries you would have + to download/install manually if you used the command line tools (these + libraries are for extra decoders, and are NOT required for SDL_sound to + function...however, without them, the number of sound formats you can + decode is reduced.) + + +BeOS: + You can use the "UNIX" instructions above, too. + + +Win32 Visual C: + For Visual C, use: + http://icculus.org/SDL_sound/downloads/sdl_sound_visualc_srcs.zip + ...and unzip it somewhere. This zipfile has a complete copy of the + SDL_sound sources, Visual C project files, and several external libraries, + too. This zip is everything you should need, and you can scrap this copy of + the source. + + +Win32 Cygwin: + Cygwin users can try their luck with the Unix build instructions in this + tarball instead. + + +Win32 Borland C++ Builder 6: + Unzip the "borland.zip" file in the root of the source tree and use the + project files in the newly-created Borland/bcb6 directory. Makefiles for the + command line compiler are in Borland/freebcc ... these are unmaintained, and + you will need to go find the external libraries you want to use (those that + wish to maintain these project files should contact me). + + +If building is successful, there will be a shared library and a binary + called "playsound". + + +Windows CE (Microsoft PocketPC): + You'll need Microsoft's PocketPC development environment, and this zipfile: + http://icculus.org/SDL_sound/downloads/SDL_soundCE.zip + + Unzip that into the root of this source tree. The new "wce" directory has + project files, and the source to some of the external decoders is included. + Note that not all of the decoders are supported on PocketPC (but please, do + send us patches if you get them working!) + + +OTHER PLATFORMS: + +Send me patches, and instructions, and I'll list them here. Consider +joining the SDL_sound mailing list. Details are at: + http://icculus.org/SDL_sound/ + +--ryan. (icculus@icculus.org) + + diff -r fd3f109c5caf -r 668dd6675b7f LICENSE.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LICENSE.txt Tue Sep 09 16:26:24 2008 -0400 @@ -0,0 +1,524 @@ +Please note that the included source from Timidity, the MIDI decoder, is also + licensed under the following terms (GNU LGPL), but can also be used + separately under the GNU GPL, or the Perl Artistic License. Those licensing + terms are not reprinted here, but can be found on the web easily. + +Other external libraries (such as Ogg Vorbis, SMPEG, etc) have their own + licenses which you should be aware of before including the related code + in your configuration. Most (if not all) are also under the LGPL, but are + external projects and we've got no control over them. + +If you want to use SDL_sound under a closed-source license, please contact + Ryan (icculus@icculus.org), and we can discuss an alternate license for + money to be distributed between the contributors to this work, but I'd + encourage you to abide by the LGPL, since the usual concern is whether you + can use this library without releasing your own source code (you can). + + +------------------- + + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff -r fd3f109c5caf -r 668dd6675b7f README --- a/README Mon Jun 30 01:49:20 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -SDL_sound. An abstract soundfile decoder. - -SDL_sound is a library that handles the decoding of several popular sound file - formats, such as .WAV and .MP3. It is meant to make the programmer's sound - playback tasks simpler. The programmer gives SDL_sound a filename, or feeds - it data directly from one of many sources, and then reads the decoded - waveform data back at her leisure. If resource constraints are a concern, - SDL_sound can process sound data in programmer-specified blocks. Alternately, - SDL_sound can decode a whole sound file and hand back a single pointer to the - whole waveform. SDL_sound can also handle sample rate, audio format, and - channel conversion on-the-fly and behind-the-scenes, if the programmer - desires. - -Please check the website for the most up-to-date information about SDL_sound: - http://icculus.org/SDL_sound/ - -SDL_sound _REQUIRES_ Simple Directmedia Layer (SDL) to function, and cannot - be built without it. You can get SDL from http://www.libsdl.org/. SDL_sound - has only been tried with the SDL 1.2 series, but may work on older versions. - Reports of success or failure are welcome. - -Some optional external libraries that SDL_sound can use and where to find them: - SMPEG (used to decode MP3s): http://icculus.org/smpeg/ - libvorbisfile (used to decode OGGs): http://www.xiph.org/ogg/vorbis/ - libSpeex (used to decode SPXs): http://speex.org/ - libFLAC (used to decode FLACs): http://flac.sourceforge.net/ - libModPlug (used to decode MODs, etc): http://modplug-xmms.sourceforge.net/ - libMikMod (used to decode MODs, etc, too): http://www.mikmod.org/ - - Experimental QuickTime support for the Mac is included, but has not been - integrated with the build system, and probably doesn't work with - QuickTime for Windows. - -These external libraries are OPTIONAL. SDL_sound will build and function - without them, but various sound file formats are not supported unless these - libraries are available. Unless explicitly disabled during initial build - configuration, SDL_sound always supports these file formats internally: - - - Microsoft .WAV files (uncompressed and MS-ADPCM encoded). - - Creative Labs .VOC files - - Shorten (.SHN) files - - Audio Interchange format (AIFF) files - - Sun Audio (.AU) files - - MIDI files - - MP3 files (internal decoder, different than the one SMPEG uses) - - Raw waveform data - -Building/Installing: - Please read the INSTALL document. - -Reporting bugs/commenting: - There is a mailing list available. To subscribe, send a blank email to - sdlsound-subscribe@icculus.org. This is the best way to get in touch with - SDL_sound developers. - ---ryan. (icculus@icculus.org) - - diff -r fd3f109c5caf -r 668dd6675b7f README.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.txt Tue Sep 09 16:26:24 2008 -0400 @@ -0,0 +1,58 @@ +SDL_sound. An abstract soundfile decoder. + +SDL_sound is a library that handles the decoding of several popular sound file + formats, such as .WAV and .MP3. It is meant to make the programmer's sound + playback tasks simpler. The programmer gives SDL_sound a filename, or feeds + it data directly from one of many sources, and then reads the decoded + waveform data back at her leisure. If resource constraints are a concern, + SDL_sound can process sound data in programmer-specified blocks. Alternately, + SDL_sound can decode a whole sound file and hand back a single pointer to the + whole waveform. SDL_sound can also handle sample rate, audio format, and + channel conversion on-the-fly and behind-the-scenes, if the programmer + desires. + +Please check the website for the most up-to-date information about SDL_sound: + http://icculus.org/SDL_sound/ + +SDL_sound _REQUIRES_ Simple Directmedia Layer (SDL) to function, and cannot + be built without it. You can get SDL from http://www.libsdl.org/. SDL_sound + has only been tried with the SDL 1.2 series, but may work on older versions. + Reports of success or failure are welcome. + +Some optional external libraries that SDL_sound can use and where to find them: + SMPEG (used to decode MP3s): http://icculus.org/smpeg/ + libvorbisfile (used to decode OGGs): http://www.xiph.org/ogg/vorbis/ + libSpeex (used to decode SPXs): http://speex.org/ + libFLAC (used to decode FLACs): http://flac.sourceforge.net/ + libModPlug (used to decode MODs, etc): http://modplug-xmms.sourceforge.net/ + libMikMod (used to decode MODs, etc, too): http://www.mikmod.org/ + + Experimental QuickTime support for the Mac is included, but has not been + integrated with the build system, and probably doesn't work with + QuickTime for Windows. + +These external libraries are OPTIONAL. SDL_sound will build and function + without them, but various sound file formats are not supported unless these + libraries are available. Unless explicitly disabled during initial build + configuration, SDL_sound always supports these file formats internally: + + - Microsoft .WAV files (uncompressed and MS-ADPCM encoded). + - Creative Labs .VOC files + - Shorten (.SHN) files + - Audio Interchange format (AIFF) files + - Sun Audio (.AU) files + - MIDI files + - MP3 files (internal decoder, different than the one SMPEG uses) + - Raw waveform data + +Building/Installing: + Please read the INSTALL document. + +Reporting bugs/commenting: + There is a mailing list available. To subscribe, send a blank email to + sdlsound-subscribe@icculus.org. This is the best way to get in touch with + SDL_sound developers. + +--ryan. (icculus@icculus.org) + + diff -r fd3f109c5caf -r 668dd6675b7f TODO --- a/TODO Mon Jun 30 01:49:20 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -More immediate: -- Fix the crappy rewind implementation in shn.c's SHN_rewind(). -- Finish implementing seek() method in decoders, see below. -- Add a sdlsound-config script? -- Make sure we can build shared libs on Cygwin, BeOS, Mac OS X... -- Move to CMake -- Up default optimizations to -O3? - -Decoders still needing seek() method: - (If decoder can't seek, clean up the stub and report an error.) -- mikmod.c -- shn.c -- mpglib.c -- quicktime.c - -General stuff TODO: -- Hack on the experimental audio conversion routines. -- Add the altivec-optimized libvorbis to the project? -- Handle compression and other chunks in WAV files. -- Handle compression and other chunks in AIFF-C files. -- Reduce malloc() pressure. -- Maybe allow an external allocator? - -Quicktime stuff that'd be cool, but isn't crucial: -- Integrate decoders/quicktime.c with build system (for OS X)? -- Make decoders/quicktime.c more robust. -- Make decoders/quicktime.c work on win32? -- There's no seek() method. - -Ongoing: -- look for "FIXME"s in the code. - -/* end of TODO ... */ - diff -r fd3f109c5caf -r 668dd6675b7f TODO.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TODO.txt Tue Sep 09 16:26:24 2008 -0400 @@ -0,0 +1,34 @@ +More immediate: +- Fix the crappy rewind implementation in shn.c's SHN_rewind(). +- Finish implementing seek() method in decoders, see below. +- Add a sdlsound-config script? +- Make sure we can build shared libs on Cygwin, BeOS, Mac OS X... +- Move to CMake +- Up default optimizations to -O3? + +Decoders still needing seek() method: + (If decoder can't seek, clean up the stub and report an error.) +- mikmod.c +- shn.c +- mpglib.c +- quicktime.c + +General stuff TODO: +- Hack on the experimental audio conversion routines. +- Add the altivec-optimized libvorbis to the project? +- Handle compression and other chunks in WAV files. +- Handle compression and other chunks in AIFF-C files. +- Reduce malloc() pressure. +- Maybe allow an external allocator? + +Quicktime stuff that'd be cool, but isn't crucial: +- Integrate decoders/quicktime.c with build system (for OS X)? +- Make decoders/quicktime.c more robust. +- Make decoders/quicktime.c work on win32? +- There's no seek() method. + +Ongoing: +- look for "FIXME"s in the code. + +/* end of TODO ... */ +