reactive-balsa-0.4: Programmatically edit MIDI events via ALSA and reactive-banana

Safe HaskellNone
LanguageHaskell98

Reactive.Banana.ALSA.Common

Contents

Synopsis

helper functions

exit :: Handle -> IO () Source #

setTimeStamping :: ReaderT Handle IO () Source #

make ALSA set the time stamps in incoming events

connect :: [String] -> [String] -> ReaderT Handle IO () Source #

Connect ourselve to an input client and an output client. The function expects a list of alternative clients that are checked successively.

send single events

events

class Reactor reactor where Source #

Minimal complete definition

reactorTime

Methods

reactorTime :: T reactor t a -> T Reactor t a Source #

Instances

class Events ev where Source #

This class unifies several ways of handling multiple events at once.

Minimal complete definition

flattenEvents

Methods

flattenEvents :: ev -> [Future Data] Source #

Instances

Events Data Source # 
Events ev => Events [ev] Source # 

Methods

flattenEvents :: [ev] -> [Future Data] Source #

Events ev => Events (Maybe ev) Source # 
(Events ev0, Events ev1) => Events (ev0, ev1) Source # 

Methods

flattenEvents :: (ev0, ev1) -> [Future Data] Source #

(Foldable f, Events ev) => Events (T f ev) Source # 

Methods

flattenEvents :: T f ev -> [Future Data] Source #

(Make key, VelocityField value) => Events (Boundary key value) Source # 

Methods

flattenEvents :: Boundary key value -> [Future Data] Source #

(Reactor m, Events ev) => Events (Future m ev) Source # 

Methods

flattenEvents :: Future m ev -> [Future Data] Source #

(Events ev0, Events ev1, Events ev2) => Events (ev0, ev1, ev2) Source # 

Methods

flattenEvents :: (ev0, ev1, ev2) -> [Future Data] Source #

effects

predicates - may be moved to midi-alsa package

checkMode :: (T -> Bool) -> Data -> Bool Source #