def on_midi(self, msg): if is_note_on(msg): self.keys[msg.note % 12].pressed = True note = Note().from_int(msg.note) note.channel, note.velocity = PLAYER_CHANNEL, msg.velocity noteThread = KeyboardThread(note) self.events[msg.note] = noteThread.event noteThread.start() elif is_note_off(msg): self.keys[msg.note % 12].pressed = False self.events[msg.note].set() for watcher in self.watchers: watcher.dispatch('on_midi', msg)
def _drumNote_from_int(i): n = Note().from_int(i) n.channel = DRUM_TRACK return n