RoboDJ Notes ------------ - Rewrite music daemon in Java, have the clients communicate with it using a more robust protocol (maybe Narya) so that they can be informed when shared state (the current track, etc.) changes - Provide a protocol for uploading mp3 files via the music server to avoid having to do it by hand - Use Java code to handle ID3 reading and updating - Write a tool to import existing MP3 files into the system - Play a sound when the ripping process is complete (or when an error occurs) because the user may be off doing something in another window - Have musicd manage the playlist hierarchically so that if we add a whole CD to the playlist, we can remove it in the same way. Also pass the metadata (entryid, songid) to the musicd as well so that we don't have to reverse engineer things when we're displaying the contents of the playlist. - Restructure ripping process so that the panel code drives the ripping of each track which would allow it to respond to ripping failures and provide the ability to retry or ignore a track that fails to rip. - Add check to see if a disc is already in the repository and offer to re-rip it.