midi-0.2: Handling of MIDI messages and files

Safe HaskellSafe-Infered




class C event whereSource

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.


C T 
C T 

controller :: C event => Channel -> Controller -> event -> Maybe IntSource

liftMidi :: (Channel -> T -> Maybe a) -> Channel -> T -> Maybe aSource