Skip to content

reduced polyphony lag #2075

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 27, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 18 additions & 15 deletions Macropad_MIDI_Tester/code.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2021 John Park for Adafruit Industries
# SPDX-FileCopyrightText: 2022 John Park for Adafruit Industries
# SPDX-License-Identifier: MIT
# Macropad MIDI Tester
# Play MIDI notes with keys
Expand All @@ -10,6 +10,7 @@
CC_NUM = 74 # select your CC number

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

# --- Pixel setup --- #
key_color = colorwheel(120) # fill with cyan to start
Expand Down Expand Up @@ -38,20 +39,20 @@


while True:

key_event = macropad.keys.events.get() # check for key press or release
if key_event:
if key_event.pressed:
key = key_event.key_number
macropad.midi.send(macropad.NoteOn(midi_notes[key], 120)) # send midi noteon
macropad.pixels[key] = colorwheel(90) # light up green
text_lines[1].text = "NoteOn:{}".format(midi_notes[key])

if key_event.released:
key = key_event.key_number
macropad.midi.send(macropad.NoteOff(midi_notes[key], 0))
macropad.pixels[key] = key_color # return to color set by encoder bank value
text_lines[1].text = "NoteOff:{}".format(midi_notes[key])
while macropad.keys.events: # check for key press or release
key_event = macropad.keys.events.get()
if key_event:
if key_event.pressed:
key = key_event.key_number
macropad.midi.send(macropad.NoteOn(midi_notes[key], 120)) # send midi noteon
macropad.pixels[key] = colorwheel(90) # light up green
text_lines[1].text = "NoteOn:{}".format(midi_notes[key])

if key_event.released:
key = key_event.key_number
macropad.midi.send(macropad.NoteOff(midi_notes[key], 0))
macropad.pixels[key] = key_color # return to color set by encoder bank value
text_lines[1].text = "NoteOff:{}".format(midi_notes[key])

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

last_knob_pos = macropad.encoder

macropad.display.refresh()