Package: zerocue
zerocue - zeros-out your CUE sheet filePython-based command-line utility (CLI) to remove first leadingINDEXtrack time from any subsequentINDEXtimestamps in a CUE sheet file.Installpip install zerocueRequirementsPython >= 3.8.xNOTE: this is the version I used to develop and test it but it should work with any version of Python above 3.xUsageusage: zerocue [-h] [-v] [-o OUTPUT | -w] cuefile

remove first INDEX track time from every following INDEXes in a CUE sheet file

positional arguments:
  cuefile               source CUE file (e.g playlist.cue)

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         send informative logs to STDERR
  -o OUTPUT, --output OUTPUT
                        write to OUTPUT file instead of STDOUT
  -w, --inline          overwrite source CUE filezerocuereads content from aCUE sheetfile (which name is the only accepted and required CLI argument) and prints the content of the same CUE sheet file with updatedINDEXtime values, i.e. set the firstINDEXtimestamp to00:00:00and remove the initial firstINDEXtrack elapsed time from every subsequentINDEXrecord in the sheet.ExamplesAssumingplaylist.cueis a file in the current working directory which has the following example content (CUE sheet excerpt taken fromhttps://kodi.wiki/view/Cue_sheets):REM GENRE Ska
REM DATE 1991
REM DISCID D00DA810
REM COMMENT "ExactAudioCopy v0.95b4"
PERFORMER "The Specials"
TITLE "Singles"
FILE "The Specials - Singles.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Gangsters"
    PERFORMER "The Specials"
    INDEX 01 01:57:31
  TRACK 02 AUDIO
    TITLE "Rudi, A Message To You"
    PERFORMER "The Specials"
    INDEX 00 02:47:74
    INDEX 01 02:48:27
  TRACK 03 AUDIO
    TITLE "Nite Klub"
    PERFORMER "The Specials"
    INDEX 00 05:41:50
    INDEX 01 05:42:27than runningzerocue playlist.cuewill print the following output:REM GENRE Ska
REM DATE 1991
REM DISCID D00DA810
REM COMMENT "ExactAudioCopy v0.95b4"
PERFORMER "The Specials"
TITLE "Singles"
FILE "The Specials - Singles.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Gangsters"
    PERFORMER "The Specials"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Rudi, A Message To You"
    PERFORMER "The Specials"
    INDEX 00 00:50:43
    INDEX 01 00:50:71
  TRACK 03 AUDIO
    TITLE "Nite Klub"
    PERFORMER "The Specials"
    INDEX 00 03:44:19
    INDEX 01 03:44:71To create a new CUE sheet you can either redirectSTDINto a (new) file, use the--outputoption to create a new file, or use the--inlineoption to update the source file.These two commands should be equivalent and will replacenew_playlist.cuecontent if already present:zerocue playlist.cue > new_playlist.cuezerocue --output=new_playlist.cue playlist.cuewhile this will overwrite the content ofplaylist.cue:zerocue --inline playlist.cueUnit TestsTo run unit tests:make dependencies testsNOTE:make dependencieswill installpytestandpylintin your current environment. Probably you want to initialize a new PythonVirtualenvfirst:gitclonehttps://github.com/shaftoe/zerocuecdzerocue
makeinstall-venvsource.env/bin/activateContributeContributions are welcome, just open an issue/pull request orget in touch with me directlyif you prefer.