annotate README @ 575:e587ba9d1c87 stable-1.0

Don't force quit in signal handler, since we might double-free things. Instead we set a flag and clean up normally. (transplanted from 7815c90ba55221f47a042339f872207904da0f5c)
author Ryan C. Gordon <icculus@icculus.org>
date Sun, 24 Jan 2010 13:45:18 -0500
parents cdbee48bb275
children
rev   line source
78
8b7d48449ad1 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
1 SDL_sound. An abstract soundfile decoder.
8b7d48449ad1 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
2
256
c6b7f7999a0e Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 253
diff changeset
3 SDL_sound is a library that handles the decoding of several popular sound file
c6b7f7999a0e Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 253
diff changeset
4 formats, such as .WAV and .MP3. It is meant to make the programmer's sound
c6b7f7999a0e Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 253
diff changeset
5 playback tasks simpler. The programmer gives SDL_sound a filename, or feeds
c6b7f7999a0e Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 253
diff changeset
6 it data directly from one of many sources, and then reads the decoded
c6b7f7999a0e Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 253
diff changeset
7 waveform data back at her leisure. If resource constraints are a concern,
c6b7f7999a0e Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 253
diff changeset
8 SDL_sound can process sound data in programmer-specified blocks. Alternately,
c6b7f7999a0e Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 253
diff changeset
9 SDL_sound can decode a whole sound file and hand back a single pointer to the
c6b7f7999a0e Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 253
diff changeset
10 whole waveform. SDL_sound can also handle sample rate, audio format, and
c6b7f7999a0e Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 253
diff changeset
11 channel conversion on-the-fly and behind-the-scenes, if the programmer
c6b7f7999a0e Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 253
diff changeset
12 desires.
c6b7f7999a0e Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 253
diff changeset
13
c6b7f7999a0e Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 253
diff changeset
14 Please check the website for the most up-to-date information about SDL_sound:
232
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
15 http://icculus.org/SDL_sound/
78
8b7d48449ad1 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
16
239
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
17 SDL_sound _REQUIRES_ Simple Directmedia Layer (SDL) to function, and cannot
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
18 be built without it. You can get SDL from http://www.libsdl.org/. SDL_sound
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
19 has only been tried with the SDL 1.2 series, but may work on older versions.
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
20 Reports of success or failure are welcome.
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
21
232
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
22 Some optional external libraries that SDL_sound can use and where to find them:
416
41412aa092d1 Added Borland C++ info, other revisions.
Ryan C. Gordon <icculus@icculus.org>
parents: 319
diff changeset
23 SMPEG (used to decode MP3s): http://icculus.org/smpeg/
41412aa092d1 Added Borland C++ info, other revisions.
Ryan C. Gordon <icculus@icculus.org>
parents: 319
diff changeset
24 libvorbisfile (used to decode OGGs): http://www.xiph.org/ogg/vorbis/
540
cdbee48bb275 Added Speex to the README.
Ryan C. Gordon <icculus@icculus.org>
parents: 525
diff changeset
25 libSpeex (used to decode SPXs): http://speex.org/
239
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
26 libFLAC (used to decode FLACs): http://flac.sourceforge.net/
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
27 libModPlug (used to decode MODs, etc): http://modplug-xmms.sourceforge.net/
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
28 libMikMod (used to decode MODs, etc, too): http://www.mikmod.org/
232
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
29
319
4a2cd7d4aa06 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 264
diff changeset
30 Experimental QuickTime support for the Mac is included, but has not been
4a2cd7d4aa06 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 264
diff changeset
31 integrated with the build system, and probably doesn't work with
4a2cd7d4aa06 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 264
diff changeset
32 QuickTime for Windows.
4a2cd7d4aa06 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 264
diff changeset
33
232
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
34 These external libraries are OPTIONAL. SDL_sound will build and function
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
35 without them, but various sound file formats are not supported unless these
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
36 libraries are available. Unless explicitly disabled during initial build
239
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
37 configuration, SDL_sound always supports these file formats internally:
232
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
38
239
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
39 - Microsoft .WAV files (uncompressed and MS-ADPCM encoded).
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
40 - Creative Labs .VOC files
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
41 - Shorten (.SHN) files
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
42 - Audio Interchange format (AIFF) files
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
43 - Sun Audio (.AU) files
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
44 - MIDI files
264
abe472572e38 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 256
diff changeset
45 - MP3 files (internal decoder, different than the one SMPEG uses)
239
30e21a90f3b1 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 232
diff changeset
46 - Raw waveform data
232
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
47
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
48 Building/Installing:
253
6e1ee1f5be1b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 248
diff changeset
49 Please read the INSTALL document.
78
8b7d48449ad1 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
50
232
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
51 Reporting bugs/commenting:
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
52 There is a mailing list available. To subscribe, send a blank email to
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
53 sdlsound-subscribe@icculus.org. This is the best way to get in touch with
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
54 SDL_sound developers.
34000a50353b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 228
diff changeset
55
525
50bb9a6cebfe Updated my email address.
Ryan C. Gordon <icculus@icculus.org>
parents: 416
diff changeset
56 --ryan. (icculus@icculus.org)
253
6e1ee1f5be1b Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 248
diff changeset
57
319
4a2cd7d4aa06 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 264
diff changeset
58