diff options
author | Warren Dukes <warren.dukes@gmail.com> | 2004-05-18 20:45:40 +0000 |
---|---|---|
committer | Warren Dukes <warren.dukes@gmail.com> | 2004-05-18 20:45:40 +0000 |
commit | 3cb9923714c4dfa18bf6338c30b0554524b25836 (patch) | |
tree | 769643b33920c011993b38f7617cb8c010adf25c /TODO | |
parent | 1be91059b050143957130a9006676f9d88a26945 (diff) | |
download | mpd-3cb9923714c4dfa18bf6338c30b0554524b25836.tar.gz mpd-3cb9923714c4dfa18bf6338c30b0554524b25836.tar.xz mpd-3cb9923714c4dfa18bf6338c30b0554524b25836.zip |
TODO updates
git-svn-id: https://svn.musicpd.org/mpd/trunk@1074 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to '')
-rw-r--r-- | TODO | 54 |
1 files changed, 30 insertions, 24 deletions
@@ -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 |