view TODO @ 221:c9772a9f5271

Initial implementation or stubs for rewind method. Other cleanups.
author Ryan C. Gordon <icculus@icculus.org>
date Thu, 17 Jan 2002 20:53:53 +0000
parents ef72f3c490e7
children 3b4415a39466
line wrap: on
line source

Left todo for 0.1.5:
- Implement rewind method in decoders missing it:
    * mikmod.c
    * ogg.c
    * flac.c
    * modplug.c
    * voc.c
    * midi.c
    * mp3.c
    * shn.c
- SMPEG only works after calling SDL_OpenAudio(), but I don't think this
  is a universal truth (i.e. - OpenAL uses it without outputting through
  SDL...) Figure out if this can be fixed.
- in Sound_NewSample*, if a decoder is selected by file extension and
  fails, it should not be tried again when going through the rest of the
  decoders. Or should we just opt to give up if the specified decoder
  fails?
- Port to BeOS. Getting BeOS up and running is probably harder than
  porting SDL_sound to it, I should think.
- Rename the "test" directory to "playsound".
- Have the default "make" build playsound, and "make install" install it.
- Update the Visual C project files.

General stuff TODO:
- Verify portability to various Unixes (BSD, etc)
- Port to BeOS.
- Port to MacOS Classic.
- Man pages for the API.

More immediate:
- Write a decent README.
- Handle compression and other chunks in WAV files.
- Handle compression and other chunks in AIFF-C files.
- Cleanup up VOC decoder (seems messy to me).
- Rename "test" directory to "playsound".
- Have default make build playsound, and make install install it.
- Make some of the SNDDBG() strings more uniform.
- Run through ElectricFence, dmalloc, etc...
- Verify thread safety. SDL_sound should be fully reentrant right now, with
  the exception of Sound_NewSample*()...starting two sounds at once can cause
  the internal linked list of currently-decoding samples to scramble.

Decoders to implement:
- .CDA (Does this need specific decoding? Or is a RWops needed?)
- An mpglib MP3 decoder? (or backend mpglib into SMPEG?)
- ...and more...

Ongoing:
- look for "FIXME"s in the code.

/* end of TODO ... */