If you go into the "Miscellaneous functions" in the channel wrapper you'll find an Arpeggiator. This Arpeggiator can be used as a Note-repeat just by setting the Arpeggiator direction to "up".
What I'm proposing is to have another box there, just like the Arpeggiator, except this box contains the new Note-repeat feature. The "Time" knob in this new box would have discrete notches that correspond to different synchronous time divisions. There would be an on/off button in this new box to toggle the note-repeat state. When on, the note is triggered repeatedly at intervals defined by the "Time" knob.
The MIDI API Python code would simply toggle the note-repeat state of the channel (on/off):
Code: Select all
if event.data1 == HW_NOTE_REPEAT_BUTTON:
if event.data2: # Note-repeat button is pressed
new_api_function_note_repeat_enable(global=True) # When global is True, enable note repeat on all channels, otherwise enable note repeat on selected channel
else: # Note-repeat button is released
new_api_function_note_repeat_disable(global=True) # When global is True, disable note repeat on all channels, otherwise disable note repeat on selected channel