Problem Summary
PerfectTUNES ID Tags corrupts custom 'CDTOC' metadata tags when editing any tag in FLAC files that contain pre-existing CDTOC data.
Environment
All existing metadata tags should be preserved unchanged when editing unrelated tags.
Actual Behavior
The CDTOC tag value is corrupted from a valid format to '1+96+96'.
Before PerfectTUNES editing:
CDTOC=1 14 202 18080 45152 69462 98392 124450 132797 149280 173482 194427 224755 243820 253920 279670 314917
After PerfectTUNES editing:
CDTOC=1+96+96
Impact
PerfectTUNES ID Tags corrupts custom 'CDTOC' metadata tags when editing any tag in FLAC files that contain pre-existing CDTOC data.
Environment
- Software: PerfectTUNES ID Tags (companion to dBpoweramp CD Ripper)
- File Format: FLAC
- OS: macOS Version 15.3.2 (Build 24D81)
- dBpoweramp Version: RRelease 2025-05-04
- Create FLAC files using dBpoweramp CD Ripper
- Add custom metadata tags via 'metaflac':
- CDTOC (CD Table of Contents data)
- Open the FLAC file in PerfectTUNES ID Tags
- Edit any tag (e.g., correct artist name, add genre, etc.)... doesn't have to be the CDTOC tag
- Save changes
All existing metadata tags should be preserved unchanged when editing unrelated tags.
Actual Behavior
The CDTOC tag value is corrupted from a valid format to '1+96+96'.
Before PerfectTUNES editing:
CDTOC=1 14 202 18080 45152 69462 98392 124450 132797 149280 173482 194427 224755 243820 253920 279670 314917
Code:
% metaflac --show-all-tags './Joe Satriani/Time Machine, Disc 2/05 The Crush Of Love.flac' ... CDTOC=1 14 202 18080 45152 69462 98392 124450 132797 149280 173482 194427 224755 243820 253920 279670 314917 ...
CDTOC=1+96+96
Code:
% metaflac --show-all-tags './Joe Satriani/Time Machine, Disc 2/05 The Crush Of Love.flac' ... CDTOC=1+96+96 ...
- Data Loss: Valid CD table of contents information is destroyed
- Database Linking: CDDB and MusicBrainz disc identification becomes impossible
- Silent Corruption: No error message alerts user to the data loss
- This is reproducible on numerous FLAC files.
- The 1+96+96 appears to be a placeholder/default value rather than random corruption
- PerfectTUNES should preserve all existing metadata tags that are not being explicitly edited, especially custom/non-standard tags that may be used for library management and disc identification purposes.
- Writes should be verified and an error raised when the user input != data written.
Comment