aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--TODO54
1 files changed, 30 insertions, 24 deletions
diff --git a/TODO b/TODO
index 8b4f5f63e..12b18535d 100644
--- a/TODO
+++ b/TODO
@@ -1,40 +1,46 @@
1) play streams
- a) don't use libcurl, too messy, instead write own http code. lots of
- examples in alsaplayer, xine, xmms, etc. THis will be
- much more flexible and prevent from needing to spawn an extra
- process!
- b) pass decoderControl to inputStream, so that if we are doing blocking
- stuff, its easy to halt it and return
- c) for mp3, remember to turn off IGNORECRC for mp3 streams
-
-2) streaming and playing in general
- a) determine a clever interface to play, so that play doesn't block
- until the file is opened, but just returns when the command
- is accepted.
- b) put errors in error stuff of PlayerControl and report this to
+ a) for mp3, remember to turn off IGNORECRC for mp3 streams
+ b) make deal with non-blocking in the beginning better.
+ c) check inStream->seekable after opening and store this in
+ decoderControl to deal with seeking better
+ d) fetch metadata and store in DecoderControl and pass to
+ PlayerControl
+ 1) eventually deal with icy-metadata
+ 2) parse metadata on the fly in decoders
+ e) command for dealing with the changing metadata, currentsonginfo
+ or something
+
+2) how to deal with streams and the db
+ a) should streams be stored in the db?
+ b) handle url playlists!
+ 1) have one fd for opening playlists in a url (allow only
+ loading of one of these at a time).
+ 2) check for new data on it in the main while(select()) loop
+ 3) block client requesting the log until the load is finished
+ 4) need a timeout for this, 10 seconds, configurable?
+
+3) streaming and playing in general
+ a) put errors in error stuff of PlayerControl and report this to
status and print to error logs
- c) this will help streaming from blocking indefinetly or waiting
- on a response
-3) resampling audio for compatibility, and better gapless/crossfading
- a) default audio format is (44.1khz, 16-bit, stereo)
- b) use resampling from oggenc (is it fast enough for realtime?)
+4) resampling audio for compatibility, and better gapless/crossfading
+ a) use resampling from oggenc (is it fast enough for realtime?)
-4) when writing combined interface for all decodes to use, be sure to add a
+5) when writing combined interface for all decodes to use, be sure to add a
common function and abstrct dealing with DecoderControl * and put
cycleLogFiles in there, so we cycleLogFiles while decoding, not just when
decoding has stopped.
-5) ACK error codes
+6) ACK error codes
-6) cleanup main()
+7) cleanup main()
-7) handle '\n' in filenames
+8) handle '\n' in filenames
-8) allow "add" command to load playlists, then depricate "load" command, this
+9) allow "add" command to load playlists, then depricate "load" command, this
will be benneficial for adding m3u url's
-9) compute average replaygain to use for non-replaygain songs
+10) compute average replaygain to use for non-replaygain songs
Post-1.0