abcnotation-1.9.0: Haskell representation and parser for ABC notation.

Copyright(c) Hans Hoglund 2012
LicenseBSD-style
Maintainerhans@hanshoglund.se
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Data.Music.Abc

Contents

Description

A Haskell representation and parser for ABC notation. Based on the 2.1 standard.

For more information see http://abcnotation.com.

Synopsis

Abc format

Files

data AbcFile Source

A full ABC file (2.2).

Instances

File header

data FileHeader Source

File header (2.2.2).

Constructors

FileHeader [Information] [Directive] 

data Element Source

Either a tune, free text or typeset text (2.2.3).

Constructors

Tune AbcTune

An Abc tune.

FreeText String

Free text (2.2.3).

TypesetText String

Typeset text (2.2.3).

Instances

Tunes

type TuneBody = [Music] Source

Lines of music code.

Music

newtype Chord Source

Constructors

Chord_ 

Fields

getChord :: ([Pitch], Maybe Duration)
 

Instances

data Barline Source

Barline, including special barlines and repeats.

data Dynamic Source

Constructors

PPPP 
PPP 
PP 
P_ 
MP 
MF 
F_ 
FF 
FFF 
FFFF 
SFZ 

Time

newtype Tempo Source

Optional string, numerators, frequency (3.1.8)

Constructors

Tempo_ 

Instances

Pitch

data PitchClass Source

Pitch class (4.1).

Constructors

C 
D 
E 
F 
G 
A 
B 

newtype Octave Source

Octaves (4.1).

Constructors

Octave 

Fields

getOctave :: Int
 

newtype Pitch Source

Pitch (4.1, 4.2).

Constructors

Pitch 

Instances

newtype Key Source

Constructors

Key_ (Integer, Mode) 

Instances

Eq Key 
Ord Key 
Show Key 
Pretty Key 

data Clef Source

Constructors

NoClef 
Treble 
Alto 
Tenor 
Bass 
Perc 

Information

data Information Source

An information field (3).

Constructors

Area String 
Book String 
Composer String 
Discography String 
FileUrl String 
Group String 
History String 
Instruction Directive 
Key Key 
UnitNoteLength Duration 
Meter Meter 
Macro

Macro (not supported)

Notes String

Notes

Origin String

Origin of tune.

Parts 
Tempo Tempo

Tempo of tune.

Rhythm String

Rhythm type of tune.

Remark

Remarks (not supported)

Source String

Source material.

SymbolLine 
Title String

Title of tune.

UserDefined

User defined (not supported)

Voice VoiceProperties 
Words String 
ReferenceNumber Integer 
Transcription String 

newtype Directive Source

Abc directive.

Constructors

Directive 

Fields

getDirective :: (String, String)
 

Import and export