TODO:
----
* Get the multiple choices in both local and remote CDDB to use the same
  functions.

* Add musicbrainz support: http://www.rupamsunyata.org/~decklin/musicbrainz-get-tracks

* read the TOC and CDTEXT files and store them

* read_and_encode_and_tag? :)
* Customizable post-read/encode/tag hooks
  (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=114851)

* Separate local/dist tagging: if local encoding, the tags are added on the
  encoding phase. If remote, the tracks need tagging.
  And also add the possibility to add this information via oggenc directly
  instead of explicitly invoking vorbiscomment.

* Maybe repair files when they have the same name in the original CD?
  (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=205634)

* Separate the different output encodings, so a user can read and encode one
  format and then encode another one, later, from the same wavs. Right now,
  the same status line is used for all formats, so a re-encoding is rejected
  since abcde sees the encoding already finished. Same with tags and moves.

* Support UTF-8 tags

* From slashdot: IMHO the most important aspect of an auto-ripper, is its
  error-handling: what happens if a CD is too scratched to rip? How should it
  react if someone tries to rip the exact same CD? make a new rip with another
  name ? silently overwrite the old rip? etc.

  Review the things that abcde does ;)

* When cdparanoia encounters a problem (disk full, data track) when abcde
  is run in batch mode, abcde still continues, but batch mode is disabled.
  I.e. instead of normalizing all tracks together, they are normalized
  separately, instead of running "lame --nogap" on all wavs, lame is
  invoked once per wav.

  Abcde should halt when a problem occurs, so it can be manually resolved.
