예제 #1
0
    def __init__(self, stdscr):
        # super(Display, self).__init__()
        Thread.__init__(self, name='Display')
        self.button_grid_bus = bus_registry.get('button_grid_bus')
        self.LED_grid_bus = bus_registry.get('LED_grid_bus')

        curses.use_default_colors()
        for i in range(0, curses.COLORS):
            curses.init_pair(i + 1, i, -1)
        self.stdscr = stdscr
        self.grid_h = c.H
        self.grid_w = c.W * 2
        self.grid_x = 5
        self.grid_y = 3
        self.ins_x = self.grid_x + self.grid_w + 3
        self.ins_y = self.grid_y
        self.ins_w = 4
        self.ins_h = c.MAX_INSTRUMENTS + 2
        self.page_x = self.ins_x + self.ins_w + 1
        self.page_y = self.grid_y
        self.page_w = 9
        self.page_h = c.MAX_INSTRUMENTS + 2
        self.col_scheme = select_scheme('default')
        # self.OLED_Screens = proxy_registry('OLED_Screens')
        self.keep_running = True
        return
예제 #2
0
 def __init__(self, inp):
     Thread.__init__(self, name='Clock')
     self.daemon = True
     self.input = inp
     debug("Clock input is " + str(inp))
     self.ticker_bus = bus_registry.get('ticker_bus')
     self.midi_in_bus = bus_registry.get('midi_in_bus')
     self.clock_bus = bus_registry.get('clock_bus')
     self.keep_running = True
예제 #3
0
 def __init__(self, initial_bpm):
     Thread.__init__(self, name='SelfTicker')
     self.daemon = True
     self.bpm = initial_bpm
     if initial_bpm:
         debug("ticker's bpm is " + str(initial_bpm))
     self.ticker_bus = bus_registry.get('ticker_bus')
     self.beat_clock_count = 0
     self.midi_clock_divider = 32
     self.midi_out_bus = bus_registry.get('midi_out_bus')
     self.keep_running = True
예제 #4
0
 def __init__(self):
     super(Supervisor, self).__init__()
     self.clock_bus = bus_registry.get('clock_bus')
     self.button_grid_bus = bus_registry.get('button_grid_bus')
     self.LED_grid_bus = bus_registry.get('LED_grid_bus')
     self.beat_clock_count = 0
     self.midi_clock_divider = 6
     self.conductor = Conductor()
     self.save_on_exit = False
     self.OLED_Screens = proxy_registry('OLED_Screens')
     self.OLED_Screens.text(1, ["world..."])
     # for i in range(4):
     self.OLED_Screens.set_encoder_assignment(f"Select Mode", 0)
     self.OLED_Screens.create_menu(0, ['Play','Select Instrument','Add Instrument','Load','Save','Quit'])
     self.OLED_Screens.create_menu(2, ['a','b','c','d','e','f','g','h','i','j','k'])
     self.keep_running = True
예제 #5
0
 def __init__(self, mportin):
     Thread.__init__(self, name='MidiInListener')
     self.daemon = True
     self.mportin = mportin
     self.midi_in_bus = bus_registry.get('midi_in_bus')
     self.clock_count = 0
     self.beat_count = 0
     self.midi_clock_divider = 3
     # self.midi_beat_divider = 3
     self.count = 0
     self.keep_running = True
예제 #6
0
 def __init__(self, mportout):
     Thread.__init__(self, name='MidiOutput')
     self.daemon = True
     self.mportout = mportout
     self.midi_out_bus = bus_registry.get('midi_out_bus')
     self.keep_running = True
예제 #7
0
import mido
from midi_input import MidiInListener
from time import sleep
from buses import bus_registry
from constants import BEAT, TICK
with mido.open_input('supervisor_In', autoreset=True, virtual=True) as mportin:
    counter = 0
    midi_in = MidiInListener(mportin)
    midi_in.start()
    midi_in_bus = bus_registry.get('midi_in_bus')
    while True:
        msg = midi_in_bus.get()
        couunter += 1
        print(counter)
        if msg == BEAT:
            print('----')
        if msg == TICK:
            print('x')