| 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 |
HarmTrace.Base.ChordTokenizer
Description
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.