artur-shaik / CueParser

Simple cue file parser written in python
MIT License
19 stars 6 forks source link

REM fields inside tracks #7

Open Shmuma opened 8 months ago

Shmuma commented 8 months ago

Hi!

File below breaks the parsing process because REM fields is not supported in tracks, only on the top level.

TITLE "Best of Klassik 2011 - CD1"
PERFORMER "Joyce DiDonato"
CATALOG 5099908786128
REM GENRE "Classical"
REM DATE "2011"
REM DISCNUMBER 1
REM TOTALDISCS 2
REM DISCID 6D119817
REM REPLAYGAIN_ALBUM_GAIN 1.53 dB
REM REPLAYGAIN_ALBUM_PEAK 0.998840
FILE "Best of Klassik 2011 - CD1.flac" WAVE
  TRACK 01 AUDIO
    TITLE "Ercole "Da due venti""
    PERFORMER "Antonio Vivaldi"
    SONGWRITER "Antonio Vivaldi"
    ISRC GBAYC1002138
    FLAGS DCP
    REM REPLAYGAIN_TRACK_GAIN -0.80 dB
    REM REPLAYGAIN_TRACK_PEAK 0.998810
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Xerse "Frondi tenere...""
    PERFORMER "Giovanni Bonocini"
    SONGWRITER "Giovanni Bonocini"
    ISRC USSM11003021
    FLAGS DCP
    REM REPLAYGAIN_TRACK_GAIN 3.52 dB
    REM REPLAYGAIN_TRACK_PEAK 0.710144
    INDEX 00 02:47:61
    INDEX 01 02:50:18
mvalik commented 7 months ago

Same problem here, exception looks like this:

  File "/usr/local/lib/python3.12/site-packages/cueparser.py", line 96, in parse
    offset = offsetToTimedelta(cuetrack.offset)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/cueparser.py", line 210, in offsetToTimedelta
    offset = offset.split(':')
             ^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'split'

When REMs are removed, everything is ok.