Copyright | (c) Dima Szamozvancev |
---|---|
License | MIT |
Maintainer | ds709@cam.ac.uk |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Properties and combinators for Music
values.
- musicDur :: Primitive l => Music (m :: Partiture n l) -> Dur l
- durToInt :: Primitive d => Dur d -> Int
- duration :: Primitive l => Music (m :: Partiture n l) -> Int
- voices :: Music m -> Int
- restWhile :: Primitive l => Music (m :: Partiture n l) -> Music (FromSilence l)
- pad :: (HarmConstraints m (FromSilence b), Primitive b) => Music (m :: Partiture (a - 1) b) -> Music (m +-+ FromSilence b :: Partiture a b)
- pad2 :: (HarmConstraints m (FromSilence b), HarmConstraints (m +-+ FromSilence b) (FromSilence b), Primitive b) => Music (m :: Partiture (a - 2) b) -> Music ((m +-+ FromSilence b) +-+ FromSilence b :: Partiture a b)
- pad3 :: (HarmConstraints m (FromSilence b), HarmConstraints (m +-+ FromSilence b) (FromSilence b), HarmConstraints ((m +-+ FromSilence b) +-+ FromSilence b) (FromSilence b), Primitive b) => Music (m :: Partiture (a - 3) b) -> Music (((m +-+ FromSilence b) +-+ FromSilence b) +-+ FromSilence b :: Partiture a b)
- pad4 :: (HarmConstraints m (FromSilence b), HarmConstraints (m +-+ FromSilence b) (FromSilence b), HarmConstraints ((m +-+ FromSilence b) +-+ FromSilence b) (FromSilence b), HarmConstraints (((m +-+ FromSilence b) +-+ FromSilence b) +-+ FromSilence b) (FromSilence b), Primitive b) => Music (m :: Partiture (a - 4) b) -> Music ((((m +-+ FromSilence b) +-+ FromSilence b) +-+ FromSilence b) +-+ FromSilence b :: Partiture a b)
- play :: Primitive d => Melody m d -> Music m
- melody :: Melody (End :-- None) Quarter
Music properties and padding
musicDur :: Primitive l => Music (m :: Partiture n l) -> Dur l Source #
Get the duration of a piece of music.
duration :: Primitive l => Music (m :: Partiture n l) -> Int Source #
Get the numeric duration of a piece of music.
restWhile :: Primitive l => Music (m :: Partiture n l) -> Music (FromSilence l) Source #
Rest for the duration of the given music piece.
pad :: (HarmConstraints m (FromSilence b), Primitive b) => Music (m :: Partiture (a - 1) b) -> Music (m +-+ FromSilence b :: Partiture a b) Source #
Add an empty voice to the piece of music.
pad2 :: (HarmConstraints m (FromSilence b), HarmConstraints (m +-+ FromSilence b) (FromSilence b), Primitive b) => Music (m :: Partiture (a - 2) b) -> Music ((m +-+ FromSilence b) +-+ FromSilence b :: Partiture a b) Source #
Add two empty voices to the piece of music.
pad3 :: (HarmConstraints m (FromSilence b), HarmConstraints (m +-+ FromSilence b) (FromSilence b), HarmConstraints ((m +-+ FromSilence b) +-+ FromSilence b) (FromSilence b), Primitive b) => Music (m :: Partiture (a - 3) b) -> Music (((m +-+ FromSilence b) +-+ FromSilence b) +-+ FromSilence b :: Partiture a b) Source #
Add three empty voices to the piece of music.
pad4 :: (HarmConstraints m (FromSilence b), HarmConstraints (m +-+ FromSilence b) (FromSilence b), HarmConstraints ((m +-+ FromSilence b) +-+ FromSilence b) (FromSilence b), HarmConstraints (((m +-+ FromSilence b) +-+ FromSilence b) +-+ FromSilence b) (FromSilence b), Primitive b) => Music (m :: Partiture (a - 4) b) -> Music ((((m +-+ FromSilence b) +-+ FromSilence b) +-+ FromSilence b) +-+ FromSilence b :: Partiture a b) Source #
Add four empty voices to the piece of music.