From b64a4d0922bafd734153cb003596a23281e3b79c Mon Sep 17 00:00:00 2001 From: dschlueter Date: Wed, 29 Apr 2026 08:05:49 +0200 Subject: [PATCH] Fix disc prefix for single-CD albums (disc=1 must not produce '1-TT' filenames) disc_number=1 is now treated identical to disc_number=None: no 'D-' prefix in filenames, no discnumber tag written. The D-TT prefix and discnumber tag are only applied for genuine multi-CD albums (disc_number > 1). Co-Authored-By: Claude Sonnet 4.6 --- executor.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/executor.py b/executor.py index 42c19cb..440ded0 100755 --- a/executor.py +++ b/executor.py @@ -72,9 +72,8 @@ def _proposed_filename( Fehlende Teile werden weggelassen. """ tn = f"{proposal.track_number:02d}" if proposal.track_number else "00" - # Wenn disc_number gesetzt (auch disc=1): immer "D-TT" — konsistent über alle CDs. - # disc=None (Einzel-CD ohne Tag): nur "TT". - disc_prefix = f"{proposal.disc_number}-" if proposal.disc_number else "" + # disc_prefix nur bei echtem Multi-CD (disc > 1). disc=1 oder None → Einzel-CD → kein Präfix. + disc_prefix = f"{proposal.disc_number}-" if (proposal.disc_number and proposal.disc_number > 1) else "" prefix = f"{disc_prefix}{tn}" track_artist = _safe_name(proposal.artist or "Unknown") @@ -123,7 +122,7 @@ def write_tags(path: Path, proposal: TrackProposal, album_proposal: AlbumProposa if proposal.track_number: total = len(album_proposal.tracks) tags_to_write["tracknumber"] = f"{proposal.track_number}/{total}" - if proposal.disc_number: + if proposal.disc_number and proposal.disc_number > 1: tags_to_write["discnumber"] = str(proposal.disc_number) if album_proposal.date: # Strip everything except valid ID3 timestamp characters to prevent ID3TimeStamp errors