Exemplo n.º 1
0
def start_supervisor(display, mportin, mportout, bpm):
    midi_in = MidiInListener(mportin)
    midi_out = MidiOut(mportout)
    ticker = SelfTicker(bpm)
    clock = Clock('tick' if bpm else 'midi')
    midi_in.start()
    midi_out.start()
    ticker.start()
    clock.start()
    display.start()
    supervisor = Supervisor()
    try:
        supervisor.run()
    finally:
        debug("Stopping everything")
        midi_in.keep_running = False
        midi_out.keep_running = False
        ticker.keep_running = False
        clock.keep_running = False
        display.keep_running = False
        supervisor.keep_running = False
        debug("Threads stopped")
        exit()
        debug("exiting?")