0.12 ---- *) Abstract audio stuff into a plugin oriented thing *) audio_ao & audio_oss & audio_shout *) allow for sending to multiple audio devices *) Rewrite replaygain stuff: *) Replay gain struct with album and track gain's and peak's *) Pass these to replaygain function *) Don't have deocder plugins inquire weather or not to use replaygain, they should just parse tags and pass these to replaygain func *) If replaygain tag info present, average the replaygain gain's and peak's on the fly *) If NULL replaygain struct, then use the average replaygain gains and peak's to compute the the scale for files missing replaygain tags (make this a config file option) *) Optimize read() on clients *) Add libshout && vorbis encoding support *) clean up code to make more robust (only works for 16-bits) *) check for memory leaks and such *) add option for keeping audio devices alive (i.e. send silence even when stopped/paused), this should also force a consistant audio format *) need some way to send metadata through shout plugin *) cleanup configure script stuff (shout needs vorbisenc) *) add command *) command that takes file/url's (no directory's) and returns the songid *) allow to specify position in playlist where to insert song(s) *) rewrite saved playlist code *) abstract out saved playlists from playlist.c *) command for displaying playlist contents *) command for appending to playlist *) have listallinfo return directories *) allow find/search commands take arbitrary search pairs *) abstract out input buffering from inputStream_http to inputStream Post-1.0 -------- 1) crosslink "list" stuff, for example, artists are crosslinked to alubms and vice versa, this way you can do list album artists or list artist albums, this will make life easier when we add genre and other metadata 2) rewrite linked list impelmentation to be more flexible a) remove "key" stuff b) allow assigning a compare function for a list