Safe Haskell | None |
---|---|
Language | Haskell98 |
- data Context = Context {}
- newtype Schedule = Schedule Int
- newtype Reactor a = Reactor {}
- data InEvent = InEvent (Map Schedule [Handler AbsoluteTicks]) [T]
- inEventBeat :: T InEvent (Map Schedule [Handler AbsoluteTicks])
- type InQueue = Map NFrames InEvent
- type OutQueue = Map NFrames [T]
- run :: ThrowsErrno e => (Event T -> Event [T]) -> ReaderT Handle (ExceptionalT e IO) ()
- runM :: ThrowsErrno e => (Behavior AbsoluteTicks -> Event T -> Reactor (Event [T])) -> ReaderT Handle (ExceptionalT e IO) ()
- viewQueueL :: InQueue -> Maybe ((NFrames, Either [Handler AbsoluteTicks] T), InQueue)
- normalizeInQueue :: InQueue -> InQueue
- reduceQueueTime :: NFrames -> Map NFrames a -> Map NFrames a
- process :: Handle -> IORef AbsoluteTicks -> IORef InQueue -> IORef OutQueue -> Handler (NFrames, NFrames) -> Handler T -> NFrames -> ExceptionalT Errno IO ()
- type RelativeTicks = T Reactor Relative Ticks
- type AbsoluteTicks = T Reactor Absolute Ticks
- type RelativeSeconds = T Reactor Relative Seconds
- nframesFromTicks :: RelativeTicks -> NFrames
- ticksFromNFrames :: NFrames -> RelativeTicks
- absTicksFromNFrames :: NFrames -> AbsoluteTicks
- sendBeat :: Context -> Schedule -> Handler AbsoluteTicks -> AbsoluteTicks -> IO ()
- cancelBeats :: Context -> Schedule -> IO ()
make JACK reactive
inEventBeat :: T InEvent (Map Schedule [Handler AbsoluteTicks]) Source #
runM :: ThrowsErrno e => (Behavior AbsoluteTicks -> Event T -> Reactor (Event [T])) -> ReaderT Handle (ExceptionalT e IO) () Source #
normalizeInQueue :: InQueue -> InQueue Source #
process :: Handle -> IORef AbsoluteTicks -> IORef InQueue -> IORef OutQueue -> Handler (NFrames, NFrames) -> Handler T -> NFrames -> ExceptionalT Errno IO () Source #
sendBeat :: Context -> Schedule -> Handler AbsoluteTicks -> AbsoluteTicks -> IO () Source #