| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Sound.MIDI.Message.Class.Query
- class C event where
- noteExplicitOff :: C event => event -> Maybe (Channel, (Velocity, Pitch, Bool))
- noteImplicitOff :: C event => event -> Maybe (Channel, (Velocity, Pitch, Bool))
- liftMidi :: (T -> Maybe (Channel, a)) -> T -> Maybe (Channel, a)
- liftFile :: (T -> Maybe (Channel, a)) -> T -> Maybe (Channel, a)
Documentation
All methods have default implementations that return Nothing.
This helps implementing event data types
that support only a subset of types of events.
Maybe a better approach is to provide type classes
for every type of event
and make C a subclass of all of them.
Minimal complete definition
Nothing
Methods
note :: event -> Maybe (Channel, (Velocity, Pitch, Bool)) Source
Warning: This returns note events as they are,
that is, a NoteOff p 64 might be encoded as such or as NoteOn p 0
depending on the content of event.
For normalized results you may use noteExplicitOff.
program :: event -> Maybe (Channel, Program) Source
anyController :: event -> Maybe (Channel, (Controller, Int)) Source
pitchBend :: event -> Maybe (Channel, Int) Source
channelPressure :: event -> Maybe (Channel, Int) Source
noteExplicitOff :: C event => event -> Maybe (Channel, (Velocity, Pitch, Bool)) Source
Like note, but converts NoteOn p 0 to NoteOff p 64.
See explicitNoteOff.
noteImplicitOff :: C event => event -> Maybe (Channel, (Velocity, Pitch, Bool)) Source
Like note, but converts NoteOff p 64 to NoteOn p 0.
See implicitNoteOff.