Ejemplo n.º 1
0
def pad_preset(x, y):
    global PAGE
    global BANK
    global HUE
    global BRIGHTNESS
    global PSET
    global psets

    k, v = preset_page(x, y, BANK)

    if k == '*':
        # if a hue and brightness were just selected
        if (HUE is not None) and (BRIGHTNESS is not None):
            if (v in psets.keys()) and \
                (HUE == psets[v][0]) and \
                (BRIGHTNESS == 0):
                # remove preset
                _ = psets.pop(v)
            elif BRIGHTNESS > 0:
                psets[v] = (HUE, BRIGHTNESS)

            HUE = None
            BRIGHTNESS = None

        if v in psets.keys():
            PSET = v
            midi.send(ProgramChange(v))
            print(f"pset (pc) --> {v}")

    elif k == 'hue':
        HUE = v

    elif k == 'v':
        BRIGHTNESS = v

    elif k == 'bank':
        BANK = v

    elif k == 'live':
        PSET = 0
        midi.send(ProgramChange(v))
        print(f"pset (pc) --> {v}\n")
        print(psets)

    elif k == 'page':
        PAGE = v
        print(f"page --> {v}")
Ejemplo n.º 2
0
def pad_main(x, y):
    global PAGE
    k, v = main_page(x, y)

    if k == 'page':
        PAGE = v
        print(f"page --> {v}")

    elif k == 'pset':
        params[k] = v
        midi.send(ProgramChange(v))
        print(f"pset (pc) --> {v}\n")
        print(params)

    else:
        k_trios = ['drip', 'loop', 'routing']
        if (k in k_trios) and (v == params[k]):
            v = 2

        params[k] = v
        cc = CC_MAP[k]
        midi.send(ControlChange(cc, v))
        print(f"{k} ({cc}) --> {v}")
Ejemplo n.º 3
0
                    cc_y_num = cc_y_num + 1
                    cc_y_num_label.text = "CC {}".format(cc_y_num)
                    time.sleep(0.05)
                else:
                    cc_prox_num = cc_prox_num + 1
                    cc_prox_num_label.text = "CC {}".format(cc_prox_num)
                    time.sleep(0.05)

            if clue.touch_0:
                patch_index = (patch_index + 1) % patch_count
                midi.send(  # Bank select
                    [
                        ControlChange(0, 0),  # MSB
                        ControlChange(32, touch_patch[patch_index][0]),  # LSB
                    ])
                midi.send(ProgramChange(
                    touch_patch[patch_index][1]))  # Program Change
                patch_label.text = "Patch {}".format(patch_index + 1)
                time.sleep(0.2)

            if clue.touch_1:
                cc_num_pick_toggle = (cc_num_pick_toggle + 1) % 3
                picker_box.y = picker_box_row[cc_num_pick_toggle]
                time.sleep(0.1)

            if clue.touch_2:
                cc_send_toggle = not cc_send_toggle
                if cc_send_toggle:
                    footer_label.x = 110
                    footer_label.color = SILVER
                    footer_label.text = "sending CC"
                else:
def sendPC(program):
    midi.send(ProgramChange(program))
from adafruit_midi.timing_clock import TimingClock
from adafruit_midi.channel_pressure import ChannelPressure
from adafruit_midi.control_change import ControlChange
from adafruit_midi.note_off import NoteOff
from adafruit_midi.note_on import NoteOn
from adafruit_midi.pitch_bend import PitchBend
from adafruit_midi.polyphonic_key_pressure import PolyphonicKeyPressure
from adafruit_midi.program_change import ProgramChange
from adafruit_midi.start import Start
from adafruit_midi.stop import Stop
from adafruit_midi.system_exclusive import SystemExclusive
from adafruit_midi.midi_message import MIDIUnknownEvent

import usb_midi
midi = adafruit_midi.MIDI(midi_in=usb_midi.ports[0],
                          midi_out=usb_midi.ports[1],
                          in_channel=0,
                          out_channel=0,
                          debug=True)

# UART = busio.UART(board.TX, board.RX, baudrate=31250, timeout=0.001)
# midi = adafruit_midi.MIDI(midi_in=UART, midi_out=UART, in_channel=0, out_channel=0, debug=True)

while True:
    print("-----")
    midi.send(Stop())
    midi.send(NoteOn(60, 100))
    midi.send(ControlChange(25, 127))
    midi.send(ProgramChange(33))
    time.sleep(1)