mezzo-0.3.1.0: Typesafe music composition

Copyright(c) Dima Szamozvancev
LicenseMIT
Maintainerds709@cam.ac.uk
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Mezzo.Compose.Basic

Contents

Description

Literals for pitches, notes, durations, etc.

Synopsis

Atomic literals

Pitch class literals

Accidental literals

Octave literals

Duration literals and terminators

tc :: forall n r s. (Primitive n, IntListRep r, ValidChord s r ThirtySecond) => ChorT s (r :: ChordType n) ThirtySecond Source #

tn :: forall r s. (ValidNote s r ThirtySecond, IntRep r) => RootT s r ThirtySecond Source #

sc' :: forall n r s. (Primitive n, IntListRep r, ValidChord s r (Dot Sixteenth)) => ChorT s (r :: ChordType n) (Dot Sixteenth) Source #

sc :: forall n r s. (Primitive n, IntListRep r, ValidChord s r Sixteenth) => ChorT s (r :: ChordType n) Sixteenth Source #

sr' :: forall s. ValidRest s (Dot Sixteenth) => RestT s (Dot Sixteenth) Source #

sn' :: forall r s. (ValidNote s r (Dot Sixteenth), IntRep r) => RootT s r (Dot Sixteenth) Source #

sn :: forall r s. (ValidNote s r Sixteenth, IntRep r) => RootT s r Sixteenth Source #

ec' :: forall n r s. (Primitive n, IntListRep r, ValidChord s r (Dot Eighth)) => ChorT s (r :: ChordType n) (Dot Eighth) Source #

ec :: forall n r s. (Primitive n, IntListRep r, ValidChord s r Eighth) => ChorT s (r :: ChordType n) Eighth Source #

er' :: forall s. ValidRest s (Dot Eighth) => RestT s (Dot Eighth) Source #

er :: forall s. ValidRest s Eighth => RestT s Eighth Source #

en' :: forall r s. (ValidNote s r (Dot Eighth), IntRep r) => RootT s r (Dot Eighth) Source #

en :: forall r s. (ValidNote s r Eighth, IntRep r) => RootT s r Eighth Source #

qc' :: forall n r s. (Primitive n, IntListRep r, ValidChord s r (Dot Quarter)) => ChorT s (r :: ChordType n) (Dot Quarter) Source #

qc :: forall n r s. (Primitive n, IntListRep r, ValidChord s r Quarter) => ChorT s (r :: ChordType n) Quarter Source #

qr' :: forall s. ValidRest s (Dot Quarter) => RestT s (Dot Quarter) Source #

qr :: forall s. ValidRest s Quarter => RestT s Quarter Source #

qn' :: forall r s. (ValidNote s r (Dot Quarter), IntRep r) => RootT s r (Dot Quarter) Source #

qn :: forall r s. (ValidNote s r Quarter, IntRep r) => RootT s r Quarter Source #

hc' :: forall n r s. (Primitive n, IntListRep r, ValidChord s r (Dot Half)) => ChorT s (r :: ChordType n) (Dot Half) Source #

hc :: forall n r s. (Primitive n, IntListRep r, ValidChord s r Half) => ChorT s (r :: ChordType n) Half Source #

hr' :: forall s. ValidRest s (Dot Half) => RestT s (Dot Half) Source #

hr :: forall s. ValidRest s Half => RestT s Half Source #

hn' :: forall r s. (ValidNote s r (Dot Half), IntRep r) => RootT s r (Dot Half) Source #

hn :: forall r s. (ValidNote s r Half, IntRep r) => RootT s r Half Source #

wc' :: forall n r s. (Primitive n, IntListRep r, ValidChord s r (Dot Whole)) => ChorT s (r :: ChordType n) (Dot Whole) Source #

wc :: forall n r s. (Primitive n, IntListRep r, ValidChord s r Whole) => ChorT s (r :: ChordType n) Whole Source #

wr' :: forall s. ValidRest s (Dot Whole) => RestT s (Dot Whole) Source #

wr :: forall s. ValidRest s Whole => RestT s Whole Source #

wn' :: forall r s. (ValidNote s r (Dot Whole), IntRep r) => RootT s r (Dot Whole) Source #

wn :: forall r s. (ValidNote s r Whole, IntRep r) => RootT s r Whole Source #

Pitches

Constructor

pitch :: Primitive (Pitch pc acc oct) => PC pc -> Acc acc -> Oct oct -> Pit (Pitch pc acc oct) Source #

Create a new pitch with the given class, accidental and octave.

silence :: Pit Silence Source #

Value representing silence, the "pitch" of rests.

Concrete literals

Pitch specifiers (admitting continuations)

sharp :: RootM r (Sharpen r) Source #

Raise a pitch by a semitone.

flat :: RootM r (Flatten r) Source #

Lower a pitch by a semitone.

Notes

Constructors

rootP :: IntRep p => Pit p -> Root (PitchRoot p) Source #

Create a new root from a pitch.

rootS :: Primitive (DegreeRoot k d) => KeyS k -> Deg d -> Root (DegreeRoot k d) Source #

Create a new root from a key and a scale degree.

noteP :: (Primitive d, IntRep p, ValidNote s (PitchRoot p) d) => Pit p -> Dur d -> Music s (FromRoot (PitchRoot p) d) Source #

Create a new note from a root and duration.

noteS :: (Primitive d, IntRep (DegreeRoot k sd), ValidNote (Sig :: Signature t k r) (DegreeRoot k sd) d) => KeyS k -> Deg sd -> Dur d -> Music (Sig :: Signature t k r) (FromRoot (DegreeRoot k sd) d) Source #

rest :: (Primitive d, ValidRest s d) => Dur d -> Music s (FromSilence d) Source #

Create a rest from a duration.