def toggle(note): ''' Toggle the button on the Launchpad in position given by note (0-7, 16-23, etc...) ''' position = note/16*8 + note%16 if buttons[position][0] == 0: rand_param(buttons[position][1]) midiout(note=position,velocity=127,device=yoke8,channel=0) parent.send([position,'on']) buttons[position][0] = 1 launchpad_out.note_on(note,green,0) elif buttons[position][0] == 1: for i in xrange(8): buttons[position][1][i][0] = 0 buttons[position][0] = 0 launchpad_out.note_on(note,0,0) parent.send([position,'off'])
def set(position, state): ''' Set the button on the Launchpad in position (0-63) to the state 0 (off) or 1 (on) ''' if state: rand_param(buttons[position][1]) if buttons[position][0] == 0: buttons[position][0] = 1 midiout(note=position,velocity=127,device=yoke8) # Order matters parent.send([position,'on']) launchpad_out.note_on(position/8*16 + position%8,48,0) if not state: if buttons[position][0] == 1: for i in xrange(8): buttons[position][1][i][0] = 0 buttons[position][0] = 0 parent.send([position,'off']) launchpad_out.note_on(position/8*16 + position%8,0,0)