Safe Haskell | None |
---|---|
Language | Haskell98 |
- init :: IO Handle
- exit :: Handle -> IO ()
- with :: ReaderT Handle IO a -> IO a
- setTimeStamping :: ReaderT Handle IO ()
- startQueue :: ReaderT Handle IO ()
- connect :: [String] -> [String] -> ReaderT Handle IO ()
- connectFrom :: T -> ReaderT Handle IO T
- connectTo :: T -> ReaderT Handle IO T
- timidity :: String
- haskellSynth :: String
- inputs :: [String]
- outputs :: [String]
- connectTimidity :: ReaderT Handle IO ()
- connectLLVM :: ReaderT Handle IO ()
- connectAny :: ReaderT Handle IO ()
- parseAddresses :: [String] -> ReaderT Handle IO T
- sendNote :: Channel -> RelativeTicks -> Velocity -> Pitch -> ReaderT Handle IO ()
- sendKey :: Channel -> Bool -> Velocity -> Pitch -> ReaderT Handle IO ()
- sendController :: Channel -> Controller -> Int -> ReaderT Handle IO ()
- sendProgram :: Channel -> Program -> ReaderT Handle IO ()
- sendMode :: Channel -> T -> ReaderT Handle IO ()
- class Reactor reactor where
- class Events ev where
- makeEvent :: Handle -> AbsoluteTicks -> Data -> T
- makeEcho :: Handle -> AbsoluteTicks -> T
- outputEvent :: AbsoluteTicks -> Data -> ReaderT Handle IO ()
- simpleNote :: Channel -> Pitch -> Velocity -> Note
- type Future = Future Reactor
- type Bundle a = Bundle Reactor a
- type EventBundle = Bundle T
- type EventDataBundle = Bundle Data
- setChannel :: Channel -> Data -> Data
- delayAdd :: Velocity -> RelativeTicks -> Data -> EventDataBundle
- controllerMatch :: Channel -> Controller -> Ctrl -> Bool
- checkChannel :: (Channel -> Bool) -> Data -> Bool
- checkPitch :: (Pitch -> Bool) -> Data -> Bool
- checkController :: (Controller -> Bool) -> Data -> Bool
- checkMode :: (T -> Bool) -> Data -> Bool
- checkProgram :: (Program -> Bool) -> Data -> Bool
- isAllNotesOff :: Data -> Bool
helper functions
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
sendController :: Channel -> Controller -> Int -> ReaderT Handle IO () Source #
events
class Events ev where Source #
This class unifies several ways of handling multiple events at once.
flattenEvents :: ev -> [Future Data] Source #
Events Data Source # | |
Events ev => Events [ev] Source # | |
Events ev => Events (Maybe ev) Source # | |
(Events ev0, Events ev1) => Events (ev0, ev1) Source # | |
(Foldable f, Events ev) => Events (T f ev) Source # | |
(Make key, VelocityField value) => Events (Boundary key value) Source # | |
(Reactor m, Events ev) => Events (Future m ev) Source # | |
(Events ev0, Events ev1, Events ev2) => Events (ev0, ev1, ev2) Source # | |
outputEvent :: AbsoluteTicks -> Data -> ReaderT Handle IO () Source #
type EventBundle = Bundle T Source #
type EventDataBundle = Bundle Data Source #
effects
delayAdd :: Velocity -> RelativeTicks -> Data -> EventDataBundle Source #
predicates - may be moved to midi-alsa package
controllerMatch :: Channel -> Controller -> Ctrl -> Bool Source #
checkController :: (Controller -> Bool) -> Data -> Bool Source #
isAllNotesOff :: Data -> Bool Source #