gchudov / cuetools.net

CD image processing suite with optimized lossless encoders in C#
http://cue.tools/
Other
480 stars 51 forks source link

HTOA file shifts filenames in cue sheet #313

Closed sboukortt closed 7 months ago

sboukortt commented 7 months ago

The HTOA file ends up getting the metadata of the first track, then the actual first track gets the metadata of the second track, and so on:

REM DISCID 2B0DA704
PERFORMER "Klaus Schulze"
TITLE "X (Sechs musikalische Biographien)"
CATALOG 0042283362826
REM DATE 1978
REM DISCNUMBER 1
REM TOTALDISCS 2
REM COMMENT "YEAR: 1978 ID3G: 52"
FILE "00. (HTOA).flac" WAVE
  TRACK 01 AUDIO
    PERFORMER "Klaus Schulze"
    TITLE "Friedrich Nietzsche"
    ISRC DEF087825060
    INDEX 00 00:00:00
FILE "01. Friedrich Nietzsche.flac" WAVE
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    PERFORMER "Klaus Schulze"
    TITLE "Georg Trakl"
    ISRC DEF087800240
    INDEX 00 24:12:45
FILE "02. Georg Trakl.flac" WAVE
    INDEX 01 00:00:00
  TRACK 03 AUDIO
    PERFORMER "Klaus Schulze"
    TITLE "Frank Herbert"
    ISRC DEF087825070
    INDEX 00 05:19:05
FILE "03. Frank Herbert.flac" WAVE
    INDEX 01 00:00:00
  TRACK 04 AUDIO
    PERFORMER "Klaus Schulze"
    TITLE "Friedemann Bach"
    ISRC DEF087825080
    INDEX 00 10:35:68
FILE "04. Friedemann Bach.flac" WAVE
    INDEX 01 00:00:00

This is with CUETools 2.2.5.

sboukortt commented 7 months ago

Oddly enough, if I set “preserve HTAO” to false, then instead, the first file is thought to contain the first two tracks:

REM DISCID 2B0DA704
PERFORMER "Klaus Schulze"
TITLE "X (Sechs musikalische Biographien)"
CATALOG 0042283362826
REM DATE 1978
REM DISCNUMBER 1
REM TOTALDISCS 2
REM COMMENT "YEAR: 1978 ID3G: 52"
FILE "01. Friedrich Nietzsche.flac" WAVE
  TRACK 01 AUDIO
    PERFORMER "Klaus Schulze"
    TITLE "Friedrich Nietzsche"
    ISRC DEF087825060
    PREGAP 00:00:33
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    PERFORMER "Klaus Schulze"
    TITLE "Georg Trakl"
    ISRC DEF087800240
    INDEX 00 24:12:45
FILE "02. Georg Trakl.flac" WAVE
    INDEX 01 00:00:00
  TRACK 03 AUDIO
    PERFORMER "Klaus Schulze"
    TITLE "Frank Herbert"
    ISRC DEF087825070
    INDEX 00 05:19:05
FILE "03. Frank Herbert.flac" WAVE
    INDEX 01 00:00:00
  TRACK 04 AUDIO
    PERFORMER "Klaus Schulze"
    TITLE "Friedemann Bach"
    ISRC DEF087825080
    INDEX 00 10:35:68
FILE "04. Friedemann Bach.flac" WAVE
    INDEX 01 00:00:00

Edit: I haven’t checked the code but what I suspect is happening is that the length of the gap is subtracted from the duration of the first track, but not of the first file, therefore each file is thought to contain a little bit of the next track (track 2 is said to start at 24:12:45 in the first file, but the first file is 24:14:73), or something along those lines.

sboukortt commented 7 months ago

Ah, I suppose this relates to https://github.com/gchudov/cuetools.net/issues/179#issuecomment-1222206625, doesn’t it.