| 1 | TODO: |
| 2 | ---- |
| 3 | * Get the multiple choices in both local and remote CDDB to use the same |
| 4 | functions. |
| 5 | |
| 6 | * Add musicbrainz support: http://www.rupamsunyata.org/~decklin/musicbrainz-get-tracks |
| 7 | |
| 8 | * read the TOC and CDTEXT files and store them |
| 9 | |
| 10 | * read_and_encode_and_tag? :) |
| 11 | * Customizable post-read/encode/tag hooks |
| 12 | (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=114851) |
| 13 | |
| 14 | * Separate local/dist tagging: if local encoding, the tags are added on the |
| 15 | encoding phase. If remote, the tracks need tagging. |
| 16 | And also add the possibility to add this information via oggenc directly |
| 17 | instead of explicitly invoking vorbiscomment. |
| 18 | |
| 19 | * Maybe repair files when they have the same name in the original CD? |
| 20 | (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=205634) |
| 21 | |
| 22 | * Separate the different output encodings, so a user can read and encode one |
| 23 | format and then encode another one, later, from the same wavs. Right now, |
| 24 | the same status line is used for all formats, so a re-encoding is rejected |
| 25 | since abcde sees the encoding already finished. Same with tags and moves. |
| 26 | |
| 27 | * Support UTF-8 tags |
| 28 | |
| 29 | * From slashdot: IMHO the most important aspect of an auto-ripper, is its |
| 30 | error-handling: what happens if a CD is too scratched to rip? How should it |
| 31 | react if someone tries to rip the exact same CD? make a new rip with another |
| 32 | name ? silently overwrite the old rip? etc. |
| 33 | |
| 34 | Review the things that abcde does ;) |
| 35 | |
| 36 | * When cdparanoia encounters a problem (disk full, data track) when abcde |
| 37 | is run in batch mode, abcde still continues, but batch mode is disabled. |
| 38 | I.e. instead of normalizing all tracks together, they are normalized |
| 39 | seperately, instead of running "lame --nogap" on all wavs, lame is |
| 40 | invoked once per wav. |
| 41 | |
| 42 | Abcde should halt when a problem occurs, so it can be manually resolved. |