Safe Haskell | None |
---|
Documentation
getAllDevices :: IO ([(InputDeviceID, DeviceInfo)], [(OutputDeviceID, DeviceInfo)])Source
terminateMidi :: IO ()Source
initializeMidi :: IO ()Source
outputMidi :: OutputDeviceID -> IO ()Source
deliverMidiEvent :: OutputDeviceID -> MidiEvent -> IO ()Source
pollMidi :: InputDeviceID -> IO (Maybe (Time, [Message]))Source
defaultOutput :: (OutputDeviceID -> a -> IO b) -> a -> IO bSource
defaultInput :: (InputDeviceID -> a -> IO b) -> a -> IO bSource
playMidi :: OutputDeviceID -> Midi -> IO ()Source
data MidiMessage Source
Show MidiMessage | |
NFData MidiMessage |
getTimeNow :: IO TimeSource
data DeviceInfo
Eq DeviceInfo | |
Show DeviceInfo |
data InputDeviceID Source
Eq InputDeviceID | |
Show InputDeviceID | |
NFData InputDeviceID |
data OutputDeviceID Source
Eq OutputDeviceID | |
Show OutputDeviceID | |
NFData OutputDeviceID |
data Message
NoteOff | |
NoteOn | |
KeyPressure | |
ControlChange | |
| |
ProgramChange | |
ChannelPressure | |
PitchWheel | |
| |
SequenceNumber !Int | |
Text !String | |
Copyright !String | |
TrackName !String | |
InstrumentName !String | |
Lyrics !String | |
Marker !String | |
CuePoint !String | |
ChannelPrefix !Channel | |
ProgramName !String | |
DeviceName !String | |
TrackEnd | |
TempoChange !Tempo | |
SMPTEOffset !Int !Int !Int !Int !Int | |
TimeSignature !Int !Int !Int !Int | |
KeySignature !Int !Int | |
Reserved !Int !ByteString | |
Sysex !Int !ByteString |
type Time = Double
unsafeInputID :: Int -> InputDeviceIDSource
unsafeOutputID :: Int -> OutputDeviceIDSource