Skip to content

Commit f8d3576

Browse files
authored
Merge pull request #2075 from jedgarpark/macropad-midi-tester
reduced polyphony lag
2 parents 40e6157 + 76a19b6 commit f8d3576

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

Macropad_MIDI_Tester/code.py

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-FileCopyrightText: 2021 John Park for Adafruit Industries
1+
# SPDX-FileCopyrightText: 2022 John Park for Adafruit Industries
22
# SPDX-License-Identifier: MIT
33
# Macropad MIDI Tester
44
# Play MIDI notes with keys
@@ -10,6 +10,7 @@
1010
CC_NUM = 74 # select your CC number
1111

1212
macropad = MacroPad(rotation=180) # create the macropad object, rotate orientation
13+
macropad.display.auto_refresh = False # avoid lag
1314

1415
# --- Pixel setup --- #
1516
key_color = colorwheel(120) # fill with cyan to start
@@ -38,20 +39,20 @@
3839

3940

4041
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])
5556

5657
macropad.encoder_switch_debounced.update() # check the knob switch for press or release
5758
if macropad.encoder_switch_debounced.pressed:
@@ -91,3 +92,5 @@
9192
text_lines[0].text = ("Mode: %s %d" % (mode_text[mode], midi_values[mode]-8))
9293

9394
last_knob_pos = macropad.encoder
95+
96+
macropad.display.refresh()

0 commit comments

Comments
 (0)