def mididings_run(self): if not self.already_set: self.setup() if self.mapping: md.run(md.Call(self.event_mapping)) else: md.run(scenes=self.scenes, control=md.Call(self.event_call)) self.mididings_exit.emit()
def Panic(bypass=True): """ Generate all-notes-off (CC #123) and sustain off (CC #64) events on all channels. :param bypass: If true, events will be sent directly on all output ports, instead of originating from the :func:`Panic()` unit and being subject to further processing. """ if bypass: return _m.Call(lambda ev: _panic_bypass()) else: return _m.Fork([(_m.Ctrl(p, _util.offset(c), 123, 0) // _m.Ctrl(p, _util.offset(c), 64, 0)) for p in _engine.out_ports() for c in range(16)])
def SaveSysEx(prefix): return md.Call(thread=lambda ev: save_sysex(ev, prefix))