#!/usr/bin/python import time from pad import Pad from simplemidi.midimessage import MidiType from simplemidi.options import * class PaintPad(Pad): _DEFAULT_PARAMS=dictAssign(Pad._DEFAULT_PARAMS, { }) def __init__(self, adapter, params): param=initParams(PaintPad._DEFAULT_PARAMS, params) Pad.__init__(self, adapter, {}) self.learn=True self.iport.setInputCallback(self.onControlChange, self, MidiType.CONTROL_CHANGE) def onNoteOn(self, ch, idx, val): if idx==89: self.clear() elif idx==84: if self.learn: self[idx].off() else: self[idx].on() self.learn= not self.learn() elif idx==98: pass elif self.input[98]: self[idx].prev() else: self[idx].next() def clear(self): Pad.clear(self) def start(self): self.clear() while True: time.sleep(1)