alsa-midi-0.4: Bindings for the ALSA sequencer API (MIDI stuff)

Sound.ALSA.Sequencer.FFI

Contents

Synopsis

Documentation

newtype T Source

Constructors

Cons (Ptr ()) 

Instances

clientSystem :: ClientIdSource

system client

clientOSS :: ClientIdSource

OSS sequencer emulator

newtype Port Source

Constructors

Port CUInt 

portSystemTimer :: PortSource

system timer port

portSystemAnnounce :: PortSource

system announce port

data Address Source

Constructors

Address 

Fields

client :: ClientId
 
port :: Port
 

newtype Queue Source

Constructors

Queue CUInt 

data EventType Source

Constructors

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 

newtype EnumBitPos a Source

Constructors

EnumBitPos Int 

newtype ReturnCode Source

Constructors

ReturnCode CInt 

FFI stuff

Error handling

str_error :: CInt -> IO CStringSource

should be in a more general ALSA module

Sequencer

Port

Queue

Tempo

newtype Tempo Source

Constructors

Tempo (Ptr ()) 

Instances

data Open Source

Constructors

OpenOutput 
OpenInput 

Instances

Utility functions

select :: a -> [(Bool, a)] -> aSource

From a list of expressions choose the one, whose condition holds.

newtype FlagSet word enum Source

Constructors

FlagSet 

Fields

unFlagSet :: word
 

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