cue-sheet: Support for construction, rendering, and parsing of CUE sheets

[ audio, bsd3, library ] [ Propose Tags ]
Versions 0.1.0, 0.1.1, 1.0.0, 1.0.1
Change log
Dependencies base (>=4.8 && <5.0), bytestring (>=0.10.8 && <0.11), containers (>= && <0.6), data‑default‑class, exceptions (>=0.6 && <0.10), megaparsec (>=6.0 && <7.0), mtl (>=2.0 && <3.0), QuickCheck (>=2.4 && <3.0), semigroups (==0.18.*), text (>=0.2 && <1.3) [details]
License BSD-3-Clause
Author Mark Karpov <>
Maintainer Mark Karpov <>
Revised Revision 1 made by mrkkrp at Mon Feb 26 15:43:31 UTC 2018
Category Audio
Home page
Bug tracker
Source repo head: git clone
Uploaded by mrkkrp at Sun Dec 31 12:18:24 UTC 2017
Distributions LTSHaskell:1.0.1, NixOS:1.0.1, Stackage:1.0.1, openSUSE:1.0.1
Downloads 802 total (27 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-12-31 [all 1 reports]
Hackage Matrix CI

Support for construction, rendering, and parsing of CUE sheets.

[Skip to Readme]





Turn on development settings.


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for cue-sheet-1.0.1

[back to package description]

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.


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–2017 Mark Karpov

Distributed under BSD 3 clause license.