Menu

#153 START incorrectly detected after track end

reproducible
open
nobody
5
2005-12-14
2005-12-14
Neil Short
No

I'm getting toc file errors:
START 00:02:00 behind or at track end.

sample session (bash shell):
$ cdrdao write cd.toc
Cdrdao version 1.2.1 - (C) Andreas Mueller
<andreas@daneb.de>
SCSI interface library - (C) Joerg Schilling
Paranoia DAE library - (C) Monty

Check http://cdrdao.sourceforge.net/drives.html#dt for
current driver tables.

ERROR: cd.toc:3: START 00:02:00 behind or at track end.

$ cat cd.toc
CD_DA
TRACK AUDIO
PREGAP 0:2:0
FILE "lecture.wav" 0
$ ls -l
total 316546
-rw-r--r-- 1 neshort neshort 52 Dec 10 11:48 cd.toc
-rw-r--r-- 1 neshort neshort 323947018 Dec 10 11:23
lecture.wav

=====
other details:
cdrdao-1.2.1
system: FreeBSD 6.0 Release
=====
If I substitute a SILENCE - START pair, the START
statement still is incorrectly detected to begin after
the track.
I can use a SILENCE statement but some CD player have a
problem playing the first track if it has no pregap.

Discussion

  • Jaroslav Mazurak

    Logged In: YES
    user_id=683507

    This error introduced earlier, in versions 1.1.x.
    Same on Win32 (Windows XP SP2) and OS/2 (ver.4.5x) ports.

     
  • Jaroslav Mazurak

    Logged In: YES
    user_id=683507

    I have some WAV files and create a TOC (test.toc), total of
    9 tracks:
    === Cut ===
    CD_DA

    TRACK AUDIO
    COPY
    NO PRE_EMPHASIS
    TWO_CHANNEL_AUDIO
    PREGAP 0:2:0
    FILE "track01.wav" 0

    TRACK AUDIO
    COPY
    NO PRE_EMPHASIS
    TWO_CHANNEL_AUDIO
    PREGAP 0:2:0
    FILE "track02.wav" 0

    ...
    === Cut ===

    Check run with different versions of cdrdao:
    cdrdao toc-info test.toc

    1.1.7: OK
    1.1.9: OK
    1.2.0 and later: broken ("ERROR: test.toc:7: START 00:02:00
    behind or at track end."...)

     
  • Stephen Savitzky

    Logged In: YES
    user_id=180346
    Originator: NO

    This appears to be happening because the file's length is not being computed, or is computed in the wrong place, if the length isn't specified. According to the documentation the length is optional, in which case the whole file is inserted into the track.

     
  • Florian Forster

    Florian Forster - 2007-08-03

    Logged In: YES
    user_id=105894
    Originator: NO

    Hi,

    I have no idea if this is the way to fix it or not, but it did the trick for me and now I can enjoy the upcoming vacation with music WITH pregaps.

    The appended patch (sorry it's in this comment, but for some reason I cannot attach files..) reads the track length while parsing the toc-file, so the (omitted) length of the file is ``filled in'', thus satisfying the contraints.

    An alternative would be to allow the `start' to be at the exact end of a track (changing a `>=' to a `>' in trackdb/Track.cc and check for that condition when the length of the subtracks is known. I think reading the file length when needed is more elegant, though.

    Regards,
    -octo

    diff -pur a/trackdb/TocParser.g b/trackdb/TocParser.g
    --- a/trackdb/TocParser.g 2005-11-03 02:08:16.000000000 +0100
    +++ b/trackdb/TocParser.g 2007-08-03 15:33:40.000000000 +0200
    @@ -432,6 +432,11 @@ subTrack < [ TrackData::Mode trackType,
    samples > [start] { samples > [len] }
    << $st = new SubTrack(SubTrack::DATA,
    TrackData(filename, offset, start, len));
    +
    + // An error has been printed in this case.
    + if (len == 0 && $st->determineLength () != 0)
    + error_ = 1;
    +
    $st->swapSamples(swapSamples);

    $lineNr = $1->getLine();

     
  • Anonymous

    Anonymous - 2008-03-09

    Logged In: YES
    user_id=436891
    Originator: NO

    Hi, I'm still seeing this issue, which is over 2 years old. Is this project dead? Why not apply the patch that was submitted?

     

Log in to post a comment.

MongoDB Logo MongoDB