alsa-midi-0.3.1: Bindings for the ALSA sequencer API (MIDI stuff)ContentsIndex
Sound.ALSA.Sequencer
Synopsis
isNoteOn :: Event -> Bool
isNoteOff :: Event -> Bool
createClient :: OpenMode -> String -> IO Client
deleteClient :: Client -> IO ()
createInputPort :: Client -> String -> IO Port
createOutputPort :: Client -> String -> IO Port
withMIDIEvents :: String -> String -> ([Event] -> IO a) -> IO a
receiveMIDIEvent :: Client -> IO (Maybe Event)
sendPlainEvent :: Client -> Event -> IO ()
drainOutput :: Client -> IO ()
initQueueTempo :: Client -> Queue -> Int -> Int -> IO ()
withNamedQueue :: Client -> String -> (Queue -> IO a) -> IO a
portAddress :: Client -> Port -> Address
numAddress :: Integer -> Integer -> Address
numAddressEither :: Integer -> Integer -> Either String Address
data Client
newtype Port = Port CUInt
eventFromMIDIEvent :: Queue -> Event -> (EventType, EventDataUnion)
Documentation
isNoteOn :: Event -> Bool
isNoteOff :: Event -> Bool
createClient :: OpenMode -> String -> IO Client
deleteClient :: Client -> IO ()
createInputPort :: Client -> String -> IO Port
createOutputPort :: Client -> String -> IO Port
withMIDIEvents :: String -> String -> ([Event] -> IO a) -> IO a
Process MIDI events from ALSA in a lazy manner. The processing function must be strict, in order to let the cleanup take place after abandoning the process.
receiveMIDIEvent :: Client -> IO (Maybe Event)
sendPlainEvent :: Client -> Event -> IO ()
drainOutput :: Client -> IO ()
Strangly ALSA returns error code 2 (No such file or directory) if the destination port does not exist.
initQueueTempo :: Client -> Queue -> Int -> Int -> IO ()
withNamedQueue :: Client -> String -> (Queue -> IO a) -> IO a
portAddress :: Client -> Port -> Address
numAddress :: Integer -> Integer -> Address
numAddressEither :: Integer -> Integer -> Either String Address
data Client
newtype Port
Constructors
Port CUInt
show/hide Instances
eventFromMIDIEvent :: Queue -> Event -> (EventType, EventDataUnion)
Produced by Haddock version 2.1.0