From 1faf9d34976cbb202d56ac8c02200bfd1274b464 Mon Sep 17 00:00:00 2001 From: InvisibleFunction <3682184+InvisibleFunction@users.noreply.github.com> Date: Sat, 16 Mar 2024 17:47:17 -0400 Subject: [PATCH] Fix SACD Import --- beets/autotag/match.py | 4 ++++ beets/config_default.yaml | 1 + docs/changelog.rst | 3 +++ 3 files changed, 8 insertions(+) diff --git a/beets/autotag/match.py b/beets/autotag/match.py index a256960f73..2232fe1bce 100644 --- a/beets/autotag/match.py +++ b/beets/autotag/match.py @@ -204,6 +204,10 @@ def track_distance( if item.mb_trackid: dist.add_expr("track_id", item.mb_trackid != track_info.track_id) + # Penalize mismatching disc numbers. + if track_info.medium and item.disc: + dist.add_expr("medium_index", item.disc != track_info.medium) + # Plugins. dist.update(plugins.track_distance(item, track_info)) diff --git a/beets/config_default.yaml b/beets/config_default.yaml index b28165c2cf..09989dfd14 100644 --- a/beets/config_default.yaml +++ b/beets/config_default.yaml @@ -207,6 +207,7 @@ match: track_index: 1.0 track_length: 2.0 track_id: 5.0 + medium_index: 1.0 preferred: countries: [] media: [] diff --git a/docs/changelog.rst b/docs/changelog.rst index 6823f5cce3..3a9a00fe1f 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -303,6 +303,9 @@ Bug fixes: * Fix bug where unimported plugin would not ignore children directories of ignored directories. :bug:`5130` +* Fix bug where matcher doesn't consider medium number when importing making + it difficult to import hybrid SACDs + :bug:`5148` For plugin developers: