0.12 ---- *) rewrite search, find, locate to tag LocateTagItem pairs *) rewrite filename handling *) use memory more efficiently, by iteratively constructing filename *) create a function for creating directory names: *) when creating the string, check that the same directory string wasn't just created (store last Directory * ptr) *) this should be very fast! and save memory *) static char * buffer, that only grows in size during life span *) implement like: static char * buffer = NULL; static int bufferSize = 0; static int lastDirectory * last = NULL; static int pos; if(last == thisOne) return buffer[pos]; pos = bufferSIze; for(parentDir; !rootDir; parent = parent->parent) { pos -= strlen(parent); if(pos < 0) i{ realloc(-pos bytes); pos = 0; } /* we don't want to append a '\0', so use strncpy */ strncpy(buffer[pos], parent, strlen(parent)); } return buffer; *) implement listener socket protocol as documented here: http://www.musicpd.org/wiki/moin.cgi/MpdListenerProtocol *) add support for coverart using freedesktop standard for icons/images *) rewrite saved playlist code *) abstract out saved playlists from playlist.c *) command for displaying playlist contents *) command for appending to playlist *) new commands *) clear /* synonym for rm */ *) add *) playlist /* displays saved playlist */ *) replace /* replace current playlist with saved playlist and keep playing */ *) state *) abstract out state code from playlist.c *) save states of audioOutput devices *) put MPD Version in statefile *) add command for inserting songs in a specific position *) put more debugging info when failing to read/write db and other similar errors *) make libao optional during configure, but check that some form of audioOutput is enabled (either oss, shout, or ao) *) Fix id3v1 encoding *) Cleanup Config File Code *) Optimize read() on clients *) Handle mp1 and mp2 files (including mp2's that are disguised as mp3's with a mp3 suffix) 0.13 ---- *) support for dynamically loading plugins