Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
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
- get :: C parser => Fragile (T parser) T
- put :: (Compression compress, C writer) => T -> T compress writer
- type TrackEvent = (ElapsedTime, T)
- getTrackEvent :: C parser => Fragile (T parser) TrackEvent
- type ElapsedTime = Integer
- fromElapsedTime :: ElapsedTime -> Integer
- toElapsedTime :: Integer -> ElapsedTime
- mapBody :: (T -> T) -> TrackEvent -> TrackEvent
- maybeMIDIEvent :: T -> Maybe T
- maybeMetaEvent :: T -> Maybe T
- maybeVoice :: T -> Maybe (Channel, T)
- mapVoice :: (T -> T) -> T -> T
Documentation
put :: (Compression compress, C writer) => T -> T compress writer Source
The following functions encode various T
elements
into the raw data of a standard MIDI file.
type TrackEvent = (ElapsedTime, T) Source
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.
type ElapsedTime = Integer Source
mapBody :: (T -> T) -> TrackEvent -> TrackEvent Source
maybeMIDIEvent :: T -> Maybe T Source
maybeMetaEvent :: T -> Maybe T Source