midi- Handling of MIDI messages and files



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 => Fallible (T parser) TSource

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

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

getTrackEvent :: C parser => Fallible (T parser) TrackEventSource

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 -> TSource