From 3cb9923714c4dfa18bf6338c30b0554524b25836 Mon Sep 17 00:00:00 2001 From: Warren Dukes Date: Tue, 18 May 2004 20:45:40 +0000 Subject: TODO updates git-svn-id: https://svn.musicpd.org/mpd/trunk@1074 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- TODO | 54 ++++++++++++++++++++++++++++++------------------------ 1 file 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 -- cgit v1.2.3