music-score-1.7.1: Musical score and part representation.

Portabilitynon-portable (TF,GNTD)
Stabilityexperimental
Maintainerhans@hanshoglund.se
Safe HaskellNone

Music.Time.Juxtapose

Contents

Description

 

Synopsis

Align without composition

lead :: (HasPosition a, HasPosition b, Transformable a) => a -> b -> aSource

Move a value so that

 _offset (a `lead` b) = _onset b

follow :: (HasPosition a, HasPosition b, Transformable b) => a -> b -> bSource

Move a value so that

 _offset a = _onset (a `follow` b)

Standard composition

after :: (Semigroup a, Transformable a, HasPosition a) => a -> a -> aSource

Move a value so that

before :: (Semigroup a, Transformable a, HasPosition a) => a -> a -> aSource

Move a value so that

during :: (HasPosition a, HasPosition b, Transformable a, Transformable b) => a -> b -> aSource

Move a value so that its era is equal to the era of another value.

 Score a -> Score a -> Score a

(|>) :: (Semigroup a, HasPosition a, Transformable a) => a -> a -> aSource

An infix alias for after.

(<|) :: (Semigroup a, HasPosition a, Transformable a) => a -> a -> aSource

An infix alias for before.

More exotic

sustain :: (Semigroup a, HasPosition a, Transformable a) => a -> a -> aSource

Like <>, but scaling the second agument to the duration of the first.

 Score a -> Score a -> Score a

palindrome :: (Semigroup a, Reversible a, HasPosition a) => a -> aSource

A value followed by its reverse (retrograde).

Catenation

scat :: (Semigroup a, Monoid a, HasPosition a, Transformable a) => [a] -> aSource

Compose a list of sequential objects, with onset and offset tangent to one another.

For non-positioned types, this is the often same as mconcat For positioned types, this is the same as afterAnother

pcat :: (Semigroup a, Monoid a) => [a] -> aSource

Compose a list of parallel objects, so that their local origins align.

This not possible for non-positioned types, as they have no notion of an origin. For positioned types this is the same as mconcat.

Repetition

times :: (Semigroup a, Monoid a, HasPosition a, Transformable a) => Int -> a -> aSource

Repeat exact amount of times.

 Int -> Score a -> Score a