úÎÍ o*      !"#$%&'() Safe-Infered Return a NoteOff if input is a NoteOn with velocity zero. %This is a trick of the MIDI standard :in order to allow compression of a series of note events. ,After normalization you can safely match on NoteOn and NoteOff. Controllers from 0x78 to 0x7F are special, ;you must assert that the controller number is in the range 0 to 0x77. $$This may not yield what you expect. See . &>This is undefined, if the controller is no regular controller but a channel mode message.  Better use '.  !"#$%&'() !"#$%&'() !"#$%&'() !"#$%&'() Safe-Infered*+    *+ Safe-Infered,- ,-.              !"#$%&'()*+*+, midi-alsa-0.2Sound.MIDI.ALSA.QuerySound.MIDI.ALSA.CheckSound.MIDI.ALSAmidi-0.2Sound.MIDI.Message.Class.QuerymodechannelPressure pitchBend anyControllerprogramnoteCSound.MIDI.Message.Class.Check controllerControllerModeMode Controller toChannel fromChanneltoPitch fromPitch toVelocity fromVelocity normalizeNotenormalNoteFromEvent toControllerfromController toProgram fromProgram noteEventcontrollerEventprogramChangeEvent modeEvent noteChannel notePitch noteVelocity ctrlChannelctrlControllerctrlControllerMode ctrlValue ctrlProgram$fCData$fCT