zwirn-core-0.1.1.0: library for manipulating functions of time.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Zwirn.Core.Modulate

Synopsis

Documentation

modulateTime :: (a -> Time -> st -> Time) -> a -> ZwirnT k st i b -> ZwirnT k st i b Source #

rev :: ZwirnT k st i a -> ZwirnT k st i a Source #

revBy :: Monad k => ZwirnT k st i Time -> ZwirnT k st i a -> ZwirnT k st i a Source #

sini :: ZwirnT k st i a -> ZwirnT k st i a Source #

fast :: Monad k => ZwirnT k st i Time -> ZwirnT k st i a -> ZwirnT k st i a Source #

slow :: Monad k => ZwirnT k st i Time -> ZwirnT k st i a -> ZwirnT k st i a Source #

shift :: Monad k => ZwirnT k st i Time -> ZwirnT k st i a -> ZwirnT k st i a Source #

ply :: MultiMonad k => ZwirnT k st i Time -> ZwirnT k st i a -> ZwirnT k st i a Source #

zoom :: Monad k => ZwirnT k st i Time -> ZwirnT k st i Time -> ZwirnT k st i a -> ZwirnT k st i a Source #

timeloop :: Monad k => ZwirnT k st i Time -> ZwirnT k st i a -> ZwirnT k st i a Source #

loopfirst :: Monad k => ZwirnT k st i a -> ZwirnT k st i a Source #

fastcat :: HasSilence k => [ZwirnT k st i a] -> ZwirnT k st i a Source #

slowcat :: (HasSilence k, Monad k) => [ZwirnT k st i a] -> ZwirnT k st i a Source #

timecat :: (HasSilence k, Monad k) => [(Time, ZwirnT k st i a)] -> ZwirnT k st i a Source #

each (t,p) indicates the amount of time t for pattern p relative | to the other lengths in the list, squeezed within one cycle

cyclecat :: HasSilence k => [(Time, ZwirnT k st i a)] -> ZwirnT k st i a Source #

each (t,p) indicates the amount of time t the pattern p is queried for | the patterns in the list will be queried in order by their respective amounts | Example: cyclecat [(1,pure 10), (2, slow 2 $ pure 20)] == 20 ~ | Note: also works with rational numbers

cat :: HasSilence k => (Time, ZwirnT k st i a) -> (Time, ZwirnT k st i a) -> ZwirnT k st i a Source #

fastcyclecat :: (HasSilence k, Monad k) => [(Time, ZwirnT k st i a)] -> ZwirnT k st i a Source #