* morituri/common/program.py:
* morituri/rip/cd.py:
Add rip cd rip --release-id as an option to select the exact
release this disc is a part of.
Fixes Radiohead - Pablo Honey and U2 - Achtung Baby
Add shrinkPath to write shorter path names.
* morituri/test/test_common_common.py (added):
Add test.
* morituri/program/cdparanoia.py:
Catch ENAMETOOLONG and shrink path.
* morituri/common/program.py:
Update track result's filename if it was shrunk.
* morituri/rip/cd.py:
set the possibly shrunk path on the result.
Templates should have same number of slashes.
This avoids #66.
(Possibly, it should also be the same directory, or more code
should be written to handle that case).
* morituri/rip/main.py:
Catch CommandError.
Add a retagging command.
Add a getMusicBrainz() method.
* morituri/rip/cd.py:
Use it.
* morituri/image/image.py:
Add a task to retag an image.
* morituri/rip/image.py:
Add a command to retag an image.
Parse version number.
* morituri/rip/cd.py:
Warn about cdrdao versions with a bug.
* morituri/test/test_program_cdrdao.py:
Test that we can parse the version.
* morituri/common/program.py:
Extract a common method to get textual representation of
AccurateRip results, and test it.
* morituri/rip/cd.py:
* morituri/rip/image.py:
Use the method.
Add max confidence from database.
* morituri/common/program.py:
* morituri/rip/cd.py:
Move AccurateRip checking to program.py
Re-rip if verification failed when continuing a rip.
Move getPath to Program.
Remove arguments to ripTrack that can be gotten from
trackResult.
* morituri/rip/cd.py:
Continue without musicbrainz metadata.
Unify htoa and normal track ripping.
* morituri/result/result.py:
Add getTrackResult so it's easier to look up track results
when there's a HTOA.
Change toctable to table since it's a full index table.
* morituri/common/Makefile.am:
* morituri/common/program.py (added):
Add module and class for program state.
* morituri/rip/cd.py:
Use the program state to clean up the do() function.
Add getPregap() method.
* morituri/rip/cd.py:
Use artist.name, not getUniqueName, to avoid monstruous names for
Muse.
Pass mbdiscid to getPath, so Unknown Disc can be saved with it.
Don't set the date if the release doesn't have one.
Set pregap on trackResult using new Track.getPregap()
Write all log/cue/m3u files as utf-8.
Add a shorter test file, 23 seconds.
* morituri/test/test_program_cdparanoia.py:
Update the test to adapt. Check for track quality.
* morituri/program/cdparanoia.py:
Add a measure of track quality based on the number of reads.
Use the [wrote] output for progress updates, a bit more
jittery in its output.
* morituri/rip/cd.py:
Set track quality on RipResult.
Comment out number of track setting on tag for now.
MusicBrainz can give us dates in YYYY, YYYY-MM, and YYYY-MM-DD
format, so convert to YYYY-MM-DD always.
Unmount the data part of the CD we want to rip if it is mounted.
Adapt to peak level change.
Don't try to write data tracks to the m3u file.
Resolve the device path to the actual device path.
Add a test() method to the profile so we can warn about bad
flacenc versions.
Encode track number and count, and release date, if possible.
* morituri/rip/cd.py:
Fix another off-by-one error in the tag encoding.
* morituri/program/cdparanoia.py:
* morituri/rip/cd.py:
Clean up the temporary unencoded file.
Pass profile as objects to tasks, so that temp files have the right
extension.