Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module contains the data structures and the function for generating Lilypond files from note sequences.
Synopsis
- data Basic_clef
- = Sub_bass
- | Bass
- | Baritone_F
- | Baritone_C
- | Tenor
- | Alto
- | Soprano
- | Mezzosoprano
- | Treble
- | French
- data Bracket
- data Clef = Clef Basic_clef Int
- data Field field_name = Field field_name String
- data Instrument_stave = Instrument_stave (Maybe String) Stave
- data Part = Part [Field Part_header_field_name] [Note_name] Time_and_position [Bracket]
- data Part_header_field_name
- data Score = Score [Field Score_header_field_name] [Part]
- data Score_header_field_name
- = Arranger
- | Composer
- | Copyright
- | Dedication
- | Instrument
- | Meter
- | Poet
- | Subsubtitle
- | Subtitle
- | Tagline
- | Title
- data Stave = Stave Clef [Simultaneous]
- lilypond :: String -> Score -> IO ()
Documentation
data Basic_clef Source #
Basic clefs without octave transposition.
Instances
Show Basic_clef Source # | |
Defined in Composition.Lilypond showsPrec :: Int -> Basic_clef -> ShowS # show :: Basic_clef -> String # showList :: [Basic_clef] -> ShowS # |
Staves can be separate from other staves or grouped with some of the other staves in a bracket. The curly bracket groups staves of the same instrument, for example, the left- and right-hand part for the keyboard. The square bracket groups several instruments in the same family, for example, the strings.
Clefs with octave transposition. The second argument indicates the number of octaves by which the clef is transposed.
data Instrument_stave Source #
A stave with optional instrument specification.
Instances
Show Instrument_stave Source # | |
Defined in Composition.Lilypond showsPrec :: Int -> Instrument_stave -> ShowS # show :: Instrument_stave -> String # showList :: [Instrument_stave] -> ShowS # |
Each part can have a different time signature, tempo and instrumentation. The first argument is the list of header fields
that may include, for example, the title of the part. The second argument is the list of accidentals. For example, the key
signature of C minor would be [E_flat, A_flat, B_flat]
.
data Part_header_field_name Source #
Lilypond header fields that apply to only one part of the whole document.
Instances
Eq Part_header_field_name Source # | |
Defined in Composition.Lilypond | |
Show Part_header_field_name Source # | |
Defined in Composition.Lilypond showsPrec :: Int -> Part_header_field_name -> ShowS # show :: Part_header_field_name -> String # showList :: [Part_header_field_name] -> ShowS # |
The first argument is the list of score header fields that may include, for example, the composer, the dedication, the instrument, the subtitle and the title.
data Score_header_field_name Source #
Lilypond header fields that apply to the whole document.
Instances
Eq Score_header_field_name Source # | |
Defined in Composition.Lilypond | |
Show Score_header_field_name Source # | |
Defined in Composition.Lilypond showsPrec :: Int -> Score_header_field_name -> ShowS # show :: Score_header_field_name -> String # showList :: [Score_header_field_name] -> ShowS # |
A stave consists of one homorhythmic note sequence. Heterorhythmic voices have to be notated on separate staves.