Currently, I'm at a point where I translate midi messages from my drumkit to keystrokes on keyboard. The whole script looks like this:
Code: Select all
def onMidi():
#blue
keyboard.setKey(Key.Y, (midi[0].data.buffer[0] == 48) and (midi[0].data.status == MidiStatus.NoteOn))
keyboard.setKey(Key.U, (midi[0].data.buffer[0] == 51) and (midi[0].data.status == MidiStatus.NoteOn))
keyboard.setKey(Key.I, (midi[0].data.buffer[0] == 53) and (midi[0].data.status == MidiStatus.NoteOn))
#kick
keyboard.setKey(Key.Space, (midi[0].data.buffer[0] == 36) and (midi[0].data.status == MidiStatus.NoteOn))
#red
keyboard.setKey(Key.S, (midi[0].data.buffer[0] == 38) and (midi[0].data.status == MidiStatus.NoteOn))
#yellow
keyboard.setKey(Key.W, (midi[0].data.buffer[0] == 46) and (midi[0].data.status == MidiStatus.NoteOn))
#green
keyboard.setKey(Key.H, (midi[0].data.buffer[0] == 45) and (midi[0].data.status == MidiStatus.NoteOn))
keyboard.setKey(Key.J, (midi[0].data.buffer[0] == 49) and (midi[0].data.status == MidiStatus.NoteOn))
keyboard.setKey(Key.K, (midi[0].data.buffer[0] == 55) and (midi[0].data.status == MidiStatus.NoteOn))
if starting:
system.setThreadTiming(TimingTypes.HighresSystemTimer)
system.threadExecutionInterval = 1
midi[0].update += onMidi
So far I've tried setting the process priority to realtime but that didn't help at all. Any suggestions?