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.
