|
1 |
| -# SPDX-FileCopyrightText: 2021 John Park for Adafruit Industries |
| 1 | +# SPDX-FileCopyrightText: 2022 John Park for Adafruit Industries |
2 | 2 | # SPDX-License-Identifier: MIT
|
3 | 3 | # Macropad MIDI Tester
|
4 | 4 | # Play MIDI notes with keys
|
|
10 | 10 | CC_NUM = 74 # select your CC number
|
11 | 11 |
|
12 | 12 | macropad = MacroPad(rotation=180) # create the macropad object, rotate orientation
|
| 13 | +macropad.display.auto_refresh = False # avoid lag |
13 | 14 |
|
14 | 15 | # --- Pixel setup --- #
|
15 | 16 | key_color = colorwheel(120) # fill with cyan to start
|
|
38 | 39 |
|
39 | 40 |
|
40 | 41 | while True:
|
41 |
| - |
42 |
| - key_event = macropad.keys.events.get() # check for key press or release |
43 |
| - if key_event: |
44 |
| - if key_event.pressed: |
45 |
| - key = key_event.key_number |
46 |
| - macropad.midi.send(macropad.NoteOn(midi_notes[key], 120)) # send midi noteon |
47 |
| - macropad.pixels[key] = colorwheel(90) # light up green |
48 |
| - text_lines[1].text = "NoteOn:{}".format(midi_notes[key]) |
49 |
| - |
50 |
| - if key_event.released: |
51 |
| - key = key_event.key_number |
52 |
| - macropad.midi.send(macropad.NoteOff(midi_notes[key], 0)) |
53 |
| - macropad.pixels[key] = key_color # return to color set by encoder bank value |
54 |
| - text_lines[1].text = "NoteOff:{}".format(midi_notes[key]) |
| 42 | + while macropad.keys.events: # check for key press or release |
| 43 | + key_event = macropad.keys.events.get() |
| 44 | + if key_event: |
| 45 | + if key_event.pressed: |
| 46 | + key = key_event.key_number |
| 47 | + macropad.midi.send(macropad.NoteOn(midi_notes[key], 120)) # send midi noteon |
| 48 | + macropad.pixels[key] = colorwheel(90) # light up green |
| 49 | + text_lines[1].text = "NoteOn:{}".format(midi_notes[key]) |
| 50 | + |
| 51 | + if key_event.released: |
| 52 | + key = key_event.key_number |
| 53 | + macropad.midi.send(macropad.NoteOff(midi_notes[key], 0)) |
| 54 | + macropad.pixels[key] = key_color # return to color set by encoder bank value |
| 55 | + text_lines[1].text = "NoteOff:{}".format(midi_notes[key]) |
55 | 56 |
|
56 | 57 | macropad.encoder_switch_debounced.update() # check the knob switch for press or release
|
57 | 58 | if macropad.encoder_switch_debounced.pressed:
|
|
91 | 92 | text_lines[0].text = ("Mode: %s %d" % (mode_text[mode], midi_values[mode]-8))
|
92 | 93 |
|
93 | 94 | last_knob_pos = macropad.encoder
|
| 95 | + |
| 96 | + macropad.display.refresh() |
0 commit comments