- newtype T = Cons (Ptr ())
- data EventDataUnion
- isConnect :: EventDataUnion -> Bool
- isFixed :: EventDataUnion -> Bool
- isNote :: EventDataUnion -> Bool
- isController :: EventDataUnion -> Bool
- peekEventData :: Ptr EventDataUnion -> EventType -> IO EventDataUnion
- peekConnect :: Ptr EventDataUnion -> IO EventDataUnion
- peekNote :: Ptr EventDataUnion -> IO EventDataUnion
- peekControl :: Ptr EventDataUnion -> IO EventDataUnion
- pokeEventData :: Ptr EventDataUnion -> EventDataUnion -> IO ()
- class TimeValue a
- data RealTime = RealTime {}
- newtype TickTime = TickTime {}
- data TimeUnit
- data TimeMode
- data TimeStamp
- peekTimeStamp :: TimeUnit -> Ptr TimeStamp -> IO TimeStamp
- pokeTimeStamp :: Ptr TimeStamp -> TimeStamp -> IO TimeUnit
- newtype ClientId = ClientId CUInt
- clientSystem :: ClientId
- clientDummy :: ClientId
- clientOSS :: ClientId
- newtype Port = Port CUInt
- portSystemTimer :: Port
- portSystemAnnounce :: Port
- data Address = Address {}
- addressTimer :: Address
- newtype Queue = Queue CUInt
- queueDirect :: Queue
- data QueueControl
- pokeQueueControl :: Ptr QueueControl -> QueueControl -> IO ()
- data EventType
- = EventSystem
- | EventResult
- | EventPad002
- | EventPad003
- | EventPad004
- | EventNote
- | EventNoteOn
- | EventNoteOff
- | EventKeyPressure
- | EventPad009
- | EventController
- | EventProgramChange
- | EventChannelPressure
- | EventPitchBend
- | EventControl14
- | EventNonRegisteredParameter
- | EventRegisteredParameter
- | EventPad017
- | EventPad018
- | EventPad019
- | EventSongPosition
- | EventSongSelect
- | EventQuarterFrame
- | EventTimeSign
- | EventKeySign
- | EventPad025
- | EventPad026
- | EventPad027
- | EventPad028
- | EventPad029
- | EventStart
- | EventContinue
- | EventStop
- | EventSetPositionTick
- | EventSetPositionTime
- | EventTempo
- | EventClock
- | EventTick
- | EventQueueSkew
- | EventSyncPos
- | EventTuneRequest
- | EventReset
- | EventSensing
- | EventPad043
- | EventPad044
- | EventPad045
- | EventPad046
- | EventPad047
- | EventPad048
- | EventPad049
- | EventEcho
- | EventOSS
- | EventPad052
- | EventPad053
- | EventPad054
- | EventPad055
- | EventPad056
- | EventPad057
- | EventPad058
- | EventPad059
- | EventClientStart
- | EventClientExit
- | EventClientChange
- | EventPortStart
- | EventPortExit
- | EventPortChange
- | EventPortSubscribed
- | EventPortUnsubscribed
- | EventPad068
- | EventPad069
- | EventSample
- | EventSampleCluster
- | EventSampleStart
- | EventSampleStop
- | EventSampleFrequency
- | EventSampleVolume
- | EventSampleLoop
- | EventSamplePosition
- | EventSamplePrivate1
- | EventPad079
- | EventPad080
- | EventPad081
- | EventPad082
- | EventPad083
- | EventPad084
- | EventPad085
- | EventPad086
- | EventPad087
- | EventPad088
- | EventPad089
- | EventUser0
- | EventUser1
- | EventUser2
- | EventUser3
- | EventUser4
- | EventUser5
- | EventUser6
- | EventUser7
- | EventUser8
- | EventUser9
- | EventInstrumentBegin
- | EventInstrumentEnd
- | EventInstrumentInfo
- | EventInstrumentInfoResult
- | EventInstrumentFormatInfo
- | EventInstrumentFormatInfoResult
- | EventInstrumentReset
- | EventInstrumentStatus
- | EventInstrumentStatusResult
- | EventInstrumentPut
- | EventInstrumentGet
- | EventInstrumentGetResult
- | EventInstrumentFree
- | EventInstrumentList
- | EventInstrumentListResult
- | EventInstrumentCluster
- | EventInstrumentClusterGet
- | EventInstrumentClusterResult
- | EventInstrumentChange
- | EventPad119
- | EventPad120
- | EventPad121
- | EventPad122
- | EventPad123
- | EventPad124
- | EventPad125
- | EventPad126
- | EventPad127
- | EventPad128
- | EventPad129
- | EventSystemExclusive
- | EventBounce
- | EventPad132
- | EventPad133
- | EventPad134
- | EventUserVar0
- | EventUserVar1
- | EventUserVar2
- | EventUserVar3
- | EventUserVar4
- data EventLength
- data Priority
- data Event = Event {}
- newtype EnumBitPos a = EnumBitPos Int
- timeUnitBit :: EnumBitPos TimeUnit
- timeModeBit :: EnumBitPos TimeMode
- eventLengthBit :: EnumBitPos EventLength
- priorityBit :: EnumBitPos Priority
- newtype ReturnCode = ReturnCode CInt
- check :: String -> IO ReturnCode -> IO CUInt
- str_error :: CInt -> IO CString
- open :: Ptr T -> CString -> OpenMode -> CUInt -> IO ReturnCode
- close :: T -> IO ReturnCode
- set_client_name :: T -> CString -> IO ()
- client_id :: T -> ClientId
- event_output :: T -> Ptr Event -> IO ReturnCode
- drain_output :: T -> IO ReturnCode
- event_input :: T -> Ptr (Ptr Event) -> IO ReturnCode
- create_simple_port :: T -> Ptr CChar -> PortCapabilitySet -> PortTypeSet -> IO ReturnCode
- delete_simple_port :: T -> Port -> IO ReturnCode
- alloc_named_queue :: T -> CString -> IO ReturnCode
- alloc_queue :: T -> IO ReturnCode
- free_queue :: T -> Queue -> IO ReturnCode
- newtype Tempo = Tempo (Ptr ())
- queue_tempo_malloc :: Ptr Tempo -> IO ReturnCode
- queue_tempo_free :: Tempo -> IO ()
- queue_tempo_set_tempo :: Tempo -> CUInt -> IO ()
- queue_tempo_set_ppq :: Tempo -> CUInt -> IO ()
- get_queue_tempo :: T -> Queue -> Tempo -> IO ReturnCode
- set_queue_tempo :: T -> Queue -> Tempo -> IO ReturnCode
- type OpenMode = FlagSet CUInt Open
- data Open
- = OpenOutput
- | OpenInput
- openOutput :: OpenMode
- openInput :: OpenMode
- openDuplex :: OpenMode
- type PortTypeSet = FlagSet CUInt PortType
- data PortType
- = PortTypeSpecific
- | PortTypeMIDIGeneric
- | PortTypeMIDIGM
- | PortTypeMIDIGS
- | PortTypeMIDIXG
- | PortTypeMIDIMT32
- | PortType06
- | PortType07
- | PortType08
- | PortType09
- | PortTypeSynth
- | PortTypeDirectSample
- | PortTypeSample
- | PortType13
- | PortType14
- | PortType15
- | PortType16
- | PortType17
- | PortType18
- | PortType19
- | PortTypeApplication
- portTypeMIDIGeneric :: PortTypeSet
- portTypeMIDIGM :: PortTypeSet
- portTypeMIDIGS :: PortTypeSet
- portTypeMIDIXG :: PortTypeSet
- portTypeMIDIMT32 :: PortTypeSet
- portTypeSynth :: PortTypeSet
- portTypeDirectSample :: PortTypeSet
- portTypeSample :: PortTypeSet
- portTypeApplication :: PortTypeSet
- portTypeSpecific :: PortTypeSet
- type PortCapabilitySet = FlagSet CUInt PortCapability
- data PortCapability
- portCapWrite :: PortCapabilitySet
- portCapSyncRead :: PortCapabilitySet
- portCapSyncWrite :: PortCapabilitySet
- portCapDuplex :: PortCapabilitySet
- portCapSubsRead :: PortCapabilitySet
- portCapSubsWrite :: PortCapabilitySet
- portCapNoExport :: PortCapabilitySet
- portCapRead :: PortCapabilitySet
- select :: a -> [(Bool, a)] -> a
- newtype FlagSet word enum = FlagSet {
- unFlagSet :: word
- flagToWord :: (Enum a, Bits w) => a -> FlagSet w a
- flagsToWord :: (Enum a, Bits w) => [a] -> FlagSet w a
- wordToFlags :: (Enum a, Bits w) => FlagSet w a -> [a]
- intToFlags :: (Enum a, Integral w) => FlagSet w a -> [a]
- unpackEnum :: (Enum a, Integral b, Bits b) => b -> EnumBitPos a -> b -> a
- packEnum :: (Bits b, Enum a) => EnumBitPos a -> a -> b
- enumToChar :: Enum a => a -> CUChar
- enumFromChar :: Enum a => CUChar -> a
Documentation
data EventDataUnion Source
isFixed :: EventDataUnion -> BoolSource
isNote :: EventDataUnion -> BoolSource
pokeEventData :: Ptr EventDataUnion -> EventDataUnion -> IO ()Source
clientSystem :: ClientIdSource
system client
dummy ports
system timer port
portSystemAnnounce :: PortSource
system announce port
data QueueControl Source
pokeQueueControl :: Ptr QueueControl -> QueueControl -> IO ()Source
data EventLength Source
newtype EnumBitPos a Source
newtype ReturnCode Source
FFI stuff
Error handling
Sequencer
close :: T -> IO ReturnCodeSource
event_output :: T -> Ptr Event -> IO ReturnCodeSource
drain_output :: T -> IO ReturnCodeSource
event_input :: T -> Ptr (Ptr Event) -> IO ReturnCodeSource
Port
create_simple_port :: T -> Ptr CChar -> PortCapabilitySet -> PortTypeSet -> IO ReturnCodeSource
delete_simple_port :: T -> Port -> IO ReturnCodeSource
Queue
alloc_named_queue :: T -> CString -> IO ReturnCodeSource
alloc_queue :: T -> IO ReturnCodeSource
free_queue :: T -> Queue -> IO ReturnCodeSource
Tempo
queue_tempo_free :: Tempo -> IO ()Source
get_queue_tempo :: T -> Queue -> Tempo -> IO ReturnCodeSource
set_queue_tempo :: T -> Queue -> Tempo -> IO ReturnCodeSource
type PortTypeSet = FlagSet CUInt PortTypeSource
data PortCapability Source
Utility functions
select :: a -> [(Bool, a)] -> aSource
From a list of expressions choose the one, whose condition holds.
flagToWord :: (Enum a, Bits w) => a -> FlagSet w aSource
flagsToWord :: (Enum a, Bits w) => [a] -> FlagSet w aSource
wordToFlags :: (Enum a, Bits w) => FlagSet w a -> [a]Source
intToFlags :: (Enum a, Integral w) => FlagSet w a -> [a]Source
unpackEnum :: (Enum a, Integral b, Bits b) => b -> EnumBitPos a -> b -> aSource
packEnum :: (Bits b, Enum a) => EnumBitPos a -> a -> bSource
enumToChar :: Enum a => a -> CUCharSource
enumFromChar :: Enum a => CUChar -> aSource