Archive / / / release-plan.txt
2008-10-14 23:26:00 UTC
previous next
Stuff to cleanup before the first release: - Pick a consistent way to organize #include's and change all files to match - Pick a consistent way to name class members (m_ vs _) and change all files to match - Pick a consistent coding style in general and try to make all files match (look at the coding style used by other projects: firefox, linux kernel, gnome, etc.) - Check every API call and make sure that we handle any errors it can return - Check every spot that a string is used and make sure any unicode stuff is taken care of - Check every member variable of every class to make sure it's initialized in a constructor - Look into automated code scanning/bug finding tools? - Figure out how translations are done - Make sure that any long running task doesn't block the UI (i.e. drag/dropping a lot of tracks) - Find out why virtual destructors are important and make sure the classes that need them have them and the classes that don't, don't - Write unit tests of some kind? Features to have for the first release: - Multiple user-defined libraries, configrable in the way they show up in the browser and what icon they use - Multiple playlists in each library - Cover art from mp3 tags, and from cover.jpg/folder.jpg files - Tabs: - Now Playing - Library view - Album view? - Playlist from library - Playlist from file - Scrobble tracks to last.fm Features for future releases: - Ability to watch videos - Ability to watch visualizations - Support for iPods - Ability to view the Now Playing/Coverart/Video/Visualization thing fullscreen as well as in the now playing tab, in an external window, and in the TrackInfoPane - Cover art downloaded automatically - Ability to edit mp3 id3 info - Ability to have different views in Library View tab such as ones that show cover art by album or by artist, and allow you to double click a cover art to see a track list or an album list, with a bar on the top showing the hierachy you've travelled (like naulatus does) - Ability to tag songs with arbitrary strings, potentially suggesting tags by looking them up in last.fm - Smart Playlists based on a search query allowing usage of mp3 id3 info, tags, rating, times listened, etc. - "Suggested" song ratings based on times the song has been listened to and/or using last.fm data, etc?