* morituri/common/program.py:
When morituri finds multiple matches for a given release, it only
keeps the releases whose length are the closest to the CD being
ripped.
However, this currently interacts badly with the --release-id
parameter because this duration filtering is done before trying to
do the release-id matching. The release that the user has specified
may have been removed from the potential matches by the time the
release
id match is tried.
This commit removes the duration filtering when the user explicitly
specified a release id. I've observed this bug with the first disc
of The Wall (Experience Edition) by the Pink Floyd.
Fixes#91.
* morituri/common/program.py:
When --release-id is used, we are not making guesses based on the
CD lengths, so the message saying that we picked the closest match
in duration, which can still trigger, is inappropriate.
* 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
* morituri/common/musicbrainzngs.py:
* morituri/common/program.py:
* morituri/extern/Makefile.am:
Use musicbrainz NGS for ripping.
Can now rip Weezer, the Blue Album, both discs.
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.
Add release data for Bettie Serveert, Lamprey
* morituri/test/test_common_program.py:
Add a test for parsing and getting the whole duration.
* morituri/common/common.py:
Add a method to format time.
* morituri/common/program.py:
Add duration to tracks and release metadatas.
When there are multiple matches, look up the closest in duration.
Make sure that multiple matches closest in duration contain same
artist and title.
Complain about the other ones.
* morituri/image/table.py:
Add a method to calculate a duration from the table.
* morituri/test/test_image_table.py:
Add a test for it.
Log which task we are notifying progress on.
* morituri/common/program.py:
Solve a problem where a release does not have an .id,
which means it's only half in musicbrainz (artist
and title, but no URL to the disc)
AccurateRip responses should be treated per track; one response set
isn't necessarily from the same pressing.
The first response set contains all the highest confidence
checksums, and so on in decreasing order.
So don't assert about one track having a checksum matching from
a different response set.
Fixes#5.
* morituri/common/program.py:
On compilation albums the album artist is different to the artist.
If this is the case, morituri should write both tags.
Fixes#43.
* morituri/common/program.py:
On compilation albums the album artist is different to the artist.
If this is the case, morituri should write both tags.
Fixes#43.
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.
Fix getting AccurateRip results for albums with a HTOA.
* morituri/test/Makefile.am:
* morituri/test/test_common_program.py:
* morituri/test/silentalarm.result.pickle (added):
Add testcase for it, Bloc Party's Silent Alarm.