midi- Handling of MIDI messages and files

Safe HaskellSafe-Inferred



MIDI messages in MIDI files. They are not a superset of the messages, that are used for real-time communication between MIDI devices. For these refer to Sound.MIDI.Message. Namely System Common and System Real Time messages are missing. If you need both real-time and file messages (say for ALSA sequencer), you need a custom datatype.



data T Source


get :: C parser => Fragile (T parser) T Source

put :: C writer => T -> T writer Source

The following functions encode various T elements into the raw data of a standard MIDI file.

getTrackEvent :: C parser => Fragile (T parser) TrackEvent Source

Each event is preceded by the delta time: the time in ticks between the last event and the current event. Parse a time and an event, ignoring System Exclusive messages.

mapVoice :: (T -> T) -> T -> T Source