Portability | non-portable (TF,GNTD) |
---|---|
Stability | experimental |
Maintainer | hans@hanshoglund.se |
Safe Haskell | None |
Provides conversion betwen temporal container types.
- noteToVoice :: Note a -> (Time, Voice a)
- noteToScore :: Note a -> Score a
- voiceToScore :: Voice a -> Score a
- voicesToScore :: HasPart a => [(Part a, Voice a)] -> Score a
- trackToScore :: Duration -> Track a -> Score a
- trackToScore' :: (a -> Duration) -> Track a -> Score a
- scoreToVoice :: Score a -> Voice (Maybe a)
- reactiveToVoice :: Duration -> Reactive a -> Voice a
- reactiveToVoice' :: Span -> Reactive a -> Voice a
- noteToReactive :: Monoid a => Note a -> Reactive a
- splitReactive :: Reactive a -> Either a ((a, Time), [Note a], (Time, a))
- activate :: Note (Reactive a) -> Reactive a -> Reactive a
Conversion
noteToVoice :: Note a -> (Time, Voice a)Source
Convert a note to an onset and a voice.
noteToScore :: Note a -> Score aSource
Convert a note to a score.
voiceToScore :: Voice a -> Score aSource
Convert a voice to a score.
voicesToScore :: HasPart a => [(Part a, Voice a)] -> Score aSource
Join voices in a given part into a score.
trackToScore :: Duration -> Track a -> Score aSource
Convert a track to a score where each event is given a fixed duration.
trackToScore' :: (a -> Duration) -> Track a -> Score aSource
Convert a track to a score, using durations determined by the values.
scoreToVoice :: Score a -> Voice (Maybe a)Source
Convert a score to a voice. Fails if the score contain overlapping events.
reactiveToVoice :: Duration -> Reactive a -> Voice aSource
reactiveToVoice' :: Span -> Reactive a -> Voice aSource
noteToReactive :: Monoid a => Note a -> Reactive aSource