cue-sheet

Support for construction, rendering, and parsing of CUE sheets

https://github.com/mrkkrp/cue-sheet

Version on this page:1.0.0
LTS Haskell 22.13:2.0.2@rev:3
Stackage Nightly 2024-03-14:2.0.2@rev:3
Latest on Hackage:2.0.2@rev:3

See all snapshots cue-sheet appears in

BSD-3-Clause licensed and maintained by Mark Karpov
This version can be pinned in stack with:cue-sheet-1.0.0@sha256:dc036ace6821e05a2dbea29c5d7d0f6aa317b40ed44c220ffff1b4102d601ce0,2847

Module documentation for 1.0.0

CUE sheet

License BSD3 Hackage Stackage Nightly Stackage LTS Build Status Coverage Status

The library allows to construct, render, and parse CUE sheets.

What is CUE sheet?

A cue sheet, or cue file, is a metadata file which describes how the tracks of a CD or DVD are laid out. Cue sheets are stored as plain text files and commonly have a “.cue” filename extension. CDRWIN first introduced cue sheets, which are now supported by many optical disc authoring applications and media players.

Read more on Wikipedia. The description of the format can be found here, scroll to the appendix A (it’s closest we get to a “specification”).

Quick start

Read the Haddocks. In short, you parse a CueSheet with parseCueSheet function and render a CueSheet with renderCueSheet function—pretty straightforward, eh? Of course, you still can construct a CueSheet manually. The data types are defined in such a way that incorrect CUE sheets are impossible to represent.

Contribution

Issues, bugs, and questions may be reported in the GitHub issue tracker for this project.

Pull requests are also welcome and will be reviewed quickly.

License

Copyright © 2016–2017 Mark Karpov

Distributed under BSD 3 clause license.

Changes

Cue sheet 1.0.0

  • Uses Megaparsec 6.

  • Adjusted the Eec type to use it with Megaparsec 6.

  • The parseCueSheet function now accepts strict ByteString instead of lazy one.

CUE sheet 0.1.1

  • Improved documentation.

  • Improved the parser using the newest features of Megaparsec 5.3.0.

CUE sheet 0.1.0

  • Initial release.