beets
beets copied to clipboard
Fix Hybrid SACD importing
Description
Fixes #5148.
When importing, the code that matches tracks does not consider the medium number. This causes problems on Hybrid SACDs where the artists, track numbers, titles, and lengths are the same on both layers.
I added a distance penalty for mismatching medium numbers.
Before:
$ beet imp .
/Volumes/Music/ti/Red Garland/1958 - All Mornin' Long - 1 (6 items)
Match (95.4%):
The Red Garland Quintet - All Mornin' Long
≠ media, year
MusicBrainz, 2xHybrid SACD (CD layer), 2013, US, Analogue Productions, CPRJ 7130 SA, mono
https://musicbrainz.org/release/6a584522-58ea-470b-81fb-e60e5cd7b21e
* Artist: The Red Garland Quintet
* Album: All Mornin' Long
* Hybrid SACD (CD layer) 1
≠ (#2-1) All Mornin' Long (20:21) -> (#1-1) All Mornin' Long (20:21)
≠ (#2-2) They Can't Take That Away From Me (10:24) -> (#1-2) They Can't Take That Away From Me (10:27)
≠ (#2-3) Our Delight (6:23) -> (#1-3) Our Delight (6:23)
* Hybrid SACD (CD layer) 2
≠ (#1-1) All mornin' long (20:21) -> (#2-1) All Mornin' Long (20:21)
≠ (#1-2) They can't take that away from me (10:27) -> (#2-2) They Can't Take That Away From Me (10:25)
≠ (#1-3) Our delight (6:23) -> (#2-3) Our Delight (6:23)
➜ [A]pply, More candidates, Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort, eDit, edit Candidates?
Note that all tracks tagged with disc 1 get moved to disc 2 and vice versa.
After:
$ beet-test imp .
/Volumes/Music/ti/Red Garland/1958 - All Mornin' Long - 1 (6 items)
Match (95.4%):
The Red Garland Quintet - All Mornin' Long
≠ media, year
MusicBrainz, 2xMedia, 2013, US, Analogue Productions, CPRJ 7130 SA, mono
https://musicbrainz.org/release/6a584522-58ea-470b-81fb-e60e5cd7b21e
* Artist: The Red Garland Quintet
* Album: All Mornin' Long
* Hybrid SACD (CD layer) 1
≠ (#1-1) All mornin' long (20:21) -> (#1-1) All Mornin' Long (20:21)
≠ (#1-2) They can't take that away from me (10:27) -> (#1-2) They Can't Take That Away From Me (10:27)
≠ (#1-3) Our delight (6:23) -> (#1-3) Our Delight (6:23)
* Hybrid SACD (SACD layer) 2
* (#2-1) All Mornin' Long (20:21)
* (#2-2) They Can't Take That Away From Me (10:24)
* (#2-3) Our Delight (6:23)
➜ [A]pply, More candidates, Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort, eDit, edit Candidates?
Yay!
To Do
- [] ~Documentation. (If you've added a new command-line flag, for example, find the appropriate page under
docs/
to describe it.)~ - [X] Changelog. (Add an entry to
docs/changelog.rst
to the bottom of one of the lists near the top of the document.) - [ ] Tests. (Very much encouraged but not strictly required.) (I don't really know how to do this effectively and would appreciate pointers.)
Can I get any feedback on this PR?
uhoh, I tried to get fancy with git :( let me fix that