Copyright | (c) Hans Hoglund 2012-2014 |
---|---|
License | BSD-style |
Maintainer | hans@hanshoglund.se |
Stability | experimental |
Portability | non-portable (TF,GNTD) |
Safe Haskell | None |
Language | Haskell2010 |
- module Music.Time.Split
- module Music.Time.Reverse
- lead :: (HasPosition a, HasPosition b, Transformable a) => a -> b -> a
- follow :: (HasPosition a, HasPosition b, Transformable b) => a -> b -> b
- after :: (Semigroup a, Transformable a, HasPosition a) => a -> a -> a
- before :: (Semigroup a, Transformable a, HasPosition a) => a -> a -> a
- during :: (HasPosition a, HasPosition b, Transformable a, Transformable b) => a -> b -> a
- (|>) :: (Semigroup a, HasPosition a, Transformable a) => a -> a -> a
- (<|) :: (Semigroup a, HasPosition a, Transformable a) => a -> a -> a
- sustain :: (Semigroup a, HasPosition a, Transformable a) => a -> a -> a
- palindrome :: (Semigroup a, Reversible a, HasPosition a) => a -> a
- scat :: (Semigroup a, Monoid a, HasPosition a, Transformable a) => [a] -> a
- pcat :: (Semigroup a, Monoid a) => [a] -> a
- times :: (Semigroup a, Monoid a, HasPosition a, Transformable a) => Int -> a -> a
Documentation
module Music.Time.Split
module Music.Time.Reverse
Align without composition
lead :: (HasPosition a, HasPosition b, Transformable a) => a -> b -> a Source
follow :: (HasPosition a, HasPosition b, Transformable b) => a -> b -> b Source
Standard composition
after :: (Semigroup a, Transformable a, HasPosition a) => a -> a -> a Source
before :: (Semigroup a, Transformable a, HasPosition a) => a -> a -> a Source
during :: (HasPosition a, HasPosition b, Transformable a, Transformable b) => a -> b -> a Source
Move a value so that its era is equal to the era of another value.
(|>) :: (Semigroup a, HasPosition a, Transformable a) => a -> a -> a infixr 6 Source
An infix alias for after
.
(<|) :: (Semigroup a, HasPosition a, Transformable a) => a -> a -> a infixr 6 Source
An infix alias for before
.
More exotic
sustain :: (Semigroup a, HasPosition a, Transformable a) => a -> a -> a Source
Like <>
, but scaling the second agument to the duration of the first.
palindrome :: (Semigroup a, Reversible a, HasPosition a) => a -> a Source
A value followed by its reverse (retrograde).
Catenation
scat :: (Semigroup a, Monoid a, HasPosition a, Transformable a) => [a] -> a Source
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] -> a Source
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 -> a Source
Repeat exact amount of times.
Int
->Score
a ->Score
a