Copyright | (c) 2012--2013 W. Bas de Haas and Jose Pedro Magalhaes |
---|---|
License | LGPL-3 |
Maintainer | bas@chordify.net, dreixel@chordify.net |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell98 |
Summary: Some general parsing utilities used for parsing textual chord representations.
- parseChordSeq :: String -> (PieceLabel, [Error LineColPos])
- pChord :: Parser ChordLabel
- pShorthand :: Parser Shorthand
- pSongAbs :: Parser PieceLabel
- pRoot :: Parser Root
- pAdditions :: Parser [Addition]
- pAddition :: Parser Addition
- pKey :: Parser Key
Top level parser
parseChordSeq :: String -> (PieceLabel, [Error LineColPos]) Source
Top level parser that parsers a string into a PieceLabel
and a posibly
empty list of errors
Parsing (elements of) chords
pChord :: Parser ChordLabel Source
Parses a ChordLabel
in Harte et al. syntax including possible additions,
and removal of chord additions. If a chord has no Shorthand
, the Degree
list (if any) is analysed and depending on the Triad
(if any) a
Maj
, Min
,Aug
, or Dim
Shorthand
is stored. By default all the
duration stored in every Chord
is 1 (where the unit is application
dependend, often these are beats, but they can also be eightnotes)
pShorthand :: Parser Shorthand Source
Parses a shorthand following Harte et al. syntax, but also the shorthands
added to the Billboard dataset, e.g. maj
, min
, or 9
.