Support for construction, rendering, and parsing of CUE sheets

Version on this page:2.0.0
LTS Haskell 12.22:1.0.1
Stackage Nightly 2018-12-11:2.0.0
Latest on Hackage:2.0.0

See all snapshots cue-sheet appears in

BSD3 licensed and maintained by Mark Karpov

Module documentation for 2.0.0

There are no documented modules for this package.

CUE sheet

License BSD3 Hackage Stackage Nightly Stackage LTS Build 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.


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.


Copyright © 2016–2018 Mark Karpov

Distributed under BSD 3 clause license.


Cue sheet 2.0.0

  • Uses Megaparsec 7. The parseCueSheet now returns ParseErrorBundle.

Cue sheet 1.0.1

  • Allow Megaparsec 6.4.0.

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.
comments powered byDisqus