Skip to main content

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

Project description

zerocue - zeros-out your CUE sheet file

Python-based command-line utility (CLI) to remove first leading INDEX track time from any subsequent INDEX timestamps in a CUE sheet file.

Install

pip install zerocue

Requirements

  • Python >= 3.8.x

NOTE: this is the version I used to develop and test it but it should work with any version of Python above 3.x

Usage

usage: 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 file

zerocue reads content from a CUE sheet file (which name is the only accepted and required CLI argument) and prints the content of the same CUE sheet file with updated INDEX time values, i.e. set the first INDEX timestamp to 00:00:00 and remove the initial first INDEX track elapsed time from every subsequent INDEX record in the sheet.

Examples

Assuming playlist.cue is a file in the current working directory which has the following example content (CUE sheet excerpt taken from https://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:27

than running zerocue playlist.cue will 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:71

To create a new CUE sheet you can either redirect STDIN to a (new) file, use the --output option to create a new file, or use the --inline option to update the source file.

These two commands should be equivalent and will replace new_playlist.cue content if already present:

  • zerocue playlist.cue > new_playlist.cue
  • zerocue --output=new_playlist.cue playlist.cue

while this will overwrite the content of playlist.cue:

  • zerocue --inline playlist.cue

Unit Tests

To run unit tests: make dependencies tests

NOTE: make dependencies will install pytest and pylint in your current environment. Probably you want to initialize a new Python Virtualenv first:

git clone https://github.com/shaftoe/zerocue
cd zerocue
make install-venv
source .env/bin/activate

Contribute

Contributions are welcome, just open an issue/pull request or get in touch with me directly if you prefer.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zerocue-0.2.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zerocue-0.2.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file zerocue-0.2.0.tar.gz.

File metadata

  • Download URL: zerocue-0.2.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for zerocue-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a9c80f3d72251267967abfe4737327ea05beb03b6292b7f88da5af4d326a0c8d
MD5 01279c79fffd05ad98da8a2e0daeb0b6
BLAKE2b-256 e3fd5cfa384d9554cf513c2c6716447478cfbd8361e3d88816d958b2da8e85e7

See more details on using hashes here.

File details

Details for the file zerocue-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: zerocue-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for zerocue-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c85d2137b0cc7d26ffcf50ae03896d4ae783c245709eb7b30a3940be1a2d8c70
MD5 a15b2776d19de4607a3c00b5b02a8724
BLAKE2b-256 4efc4fe507e62549906f27a4ba0d6ee43015de755886229524f4f0ee1d6eedb2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page