mezzo-0.3.1.0: Typesafe music composition

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

Mezzo.Render.Score

Contents

Description

Combinators for building scores: Music values with global composition attributes such as tempo or key signature.

Synopsis

Scores and attributes

data Attributes t k r Source #

Datatype containing MIDI attributes of a Mezzo composition.

Constructors

(Primitive t, Primitive k, ScoreAtt t, ScoreAtt k) => Attributes 

Fields

defAttributes :: Attributes 4 (Key C Natural MajorMode) Classical Source #

Default attributes: Composition in C major in common time, with tempo 120 BPM.

getTimeSig :: Attributes t k r -> Message Source #

Get the time signature MIDI message.

getKeySig :: Attributes t k r -> Message Source #

Get the key signature MIDI message.

Score builders

section :: AMut String (Attributes t k r) Source #

Sets the title of the composition.

setTempo :: AMut Tempo (Attributes t k r) Source #

Sets the tempo of the composition.

setTimeSig :: (Primitive t', ScoreAtt t') => AConv (TimeSig t') (Attributes t k r) (Attributes t' k r) Source #

Sets the time signature of the composition.

setKeySig :: (Primitive k', ScoreAtt k') => AConv (KeyS k') (Attributes t k r) (Attributes t k' r) Source #

Sets the key signature of the composition.

setRuleSet :: AConv r' (Attributes t k r) (Attributes t k r') Source #

Sets the key signature of the composition.

Rule sets

free :: Free Source #

No enforced rules.

classical :: Classical Source #

Classical rules.

strict :: Strict Source #

Strict rules