Portability | non-portable (TF,GNTD) |
---|---|
Stability | experimental |
Maintainer | hans@hanshoglund.se |
Safe Haskell | None |
Provides the Score
type.
- data Score a
- notes :: Iso (Score a) (Score b) [Note a] [Note b]
- events :: Iso (Score a) (Score b) [(Time, Duration, a)] [(Time, Duration, b)]
- mapScore :: (Note a -> b) -> Score a -> Score b
- mapWithSpan :: (Span -> a -> b) -> Score a -> Score b
- filterWithSpan :: (Span -> a -> Bool) -> Score a -> Score a
- mapFilterWithSpan :: (Span -> a -> Maybe b) -> Score a -> Score b
- mapEvents :: (Time -> Duration -> a -> b) -> Score a -> Score b
- filterEvents :: (Time -> Duration -> a -> Bool) -> Score a -> Score a
- mapFilterEvents :: (Time -> Duration -> a -> Maybe b) -> Score a -> Score b
Score type
Monad Score | |
Functor Score | |
Typeable1 Score | |
MonadPlus Score | |
Applicative Score | |
Foldable Score | |
Traversable Score | |
Alternative Score | |
Enum a => Enum (Score a) | |
Num a => Num (Score a) | |
Monoid (Score a) | |
Semigroup (Score a) | |
Wrapped (Score a) | |
VectorSpace (Score a) | |
IsDynamics a => IsDynamics (Score a) | |
IsPitch a => IsPitch (Score a) | |
IsInterval a => IsInterval (Score a) | |
Augmentable a => Augmentable (Score a) | |
Alterable a => Alterable (Score a) | |
AdditiveGroup (Score a) | |
Delayable (Score a) | |
Stretchable (Score a) | |
HasOffset (Score a) | |
HasOnset (Score a) | |
HasDuration (Score a) | |
Reversible a => Reversible (Score a) | |
HasPart a => HasPart (Score a) | |
HasMeta (Score a) | |
HasSlide a => HasSlide (Score a) | |
HasHarmonic a => HasHarmonic (Score a) | |
HasText a => HasText (Score a) | |
HasTremolo a => HasTremolo (Score a) | |
(HasPart' a, HasClef a) => HasClef (Score a) | |
Rewrapped (Score a) (Score b) | |
(HasSetPitch a b, Transformable (Pitch a), Transformable (Pitch b)) => HasSetPitch (Score a) (Score b) |
events :: Iso (Score a) (Score b) [(Time, Duration, a)] [(Time, Duration, b)]Source
TODO not a real iso, must be lens (meta)
mapWithSpan :: (Span -> a -> b) -> Score a -> Score bSource
Map over the events in a score.
mapFilterWithSpan :: (Span -> a -> Maybe b) -> Score a -> Score bSource
Efficient combination of mapEvents
and filterEvents
.
mapEvents :: (Time -> Duration -> a -> b) -> Score a -> Score bSource
Map over the events in a score.
filterEvents :: (Time -> Duration -> a -> Bool) -> Score a -> Score aSource
Filter the events in a score.
mapFilterEvents :: (Time -> Duration -> a -> Maybe b) -> Score a -> Score bSource
Efficient combination of mapEvents
and filterEvents
.