Esempio n. 1
0
 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()
Esempio n. 2
0
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)])
Esempio n. 3
0
def SaveSysEx(prefix):
    return md.Call(thread=lambda ev: save_sysex(ev, prefix))