diff --git a/bin/bumppad b/bin/bumppad --- a/bin/bumppad +++ b/bin/bumppad @@ -1,5 +1,5 @@ #!bin/python -from __future__ import division,nested_scopes +from __future__ import division, nested_scopes import sys, time, math import Tkinter as tk @@ -7,64 +7,82 @@ import run_local import light9.dmxclient as dmxclient from light9.TLUtility import make_attributes_from_args -from light9.Submaster import Submaster,sub_maxes +from light9.Submaster import Submaster, sub_maxes + class pad(tk.Frame): - levs = None # Submaster : level - def __init__(self,master,root,mag): - make_attributes_from_args('master','mag') - tk.Frame.__init__(self,master) - self.levs={} - for xy,key,subname in [ - ((1,1),'KP_Up','centered'), - ((1,3),"KP_Down",'third-c'), - ((0,2),'KP_Left','scoop-l'), - ((2,2),'KP_Right','scoop-r'), - ((1,0),'KP_Divide','cyc'), - ((0,3),"KP_End",'hottest'), - ((2,3),'KP_Next','deepblues'), - ((0,4),'KP_Insert',"zip_red"), - ((2,4),'KP_Delete',"zip_orange"), - ((3,1),'KP_Add','strobedim'), - ((3,3),'KP_Enter','zip_blue'), - ((1,2),'KP_Begin','scoop-c'), - ]: - + levs = None # Submaster : level + + def __init__(self, master, root, mag): + make_attributes_from_args('master', 'mag') + tk.Frame.__init__(self, master) + self.levs = {} + for xy, key, subname in [ + ((1, 1), 'KP_Up', 'centered'), + ((1, 3), "KP_Down", 'third-c'), + ((0, 2), 'KP_Left', 'scoop-l'), + ((2, 2), 'KP_Right', 'scoop-r'), + ((1, 0), 'KP_Divide', 'cyc'), + ((0, 3), "KP_End", 'hottest'), + ((2, 3), 'KP_Next', 'deepblues'), + ((0, 4), 'KP_Insert', "zip_red"), + ((2, 4), 'KP_Delete', "zip_orange"), + ((3, 1), 'KP_Add', 'strobedim'), + ((3, 3), 'KP_Enter', 'zip_blue'), + ((1, 2), 'KP_Begin', 'scoop-c'), + ]: + sub = Submaster(subname) - self.levs[sub]=0 - - l = tk.Label(self,font="arial 12 bold",anchor='w',height=2, - relief='groove',bd=5, - text="%s\n%s" % (key.replace('KP_',''),sub.name)) - l.grid(column=xy[0],row=xy[1],sticky='news') - - root.bind(""%key, - lambda ev,sub=sub: self.bumpto(sub,1)) - root.bind(""%key, - lambda ev,sub=sub: self.bumpto(sub,0)) - def bumpto(self,sub,lev): - now=time.time() - self.levs[sub]=lev*self.mag.get() + self.levs[sub] = 0 + + l = tk.Label(self, + font="arial 12 bold", + anchor='w', + height=2, + relief='groove', + bd=5, + text="%s\n%s" % (key.replace('KP_', ''), sub.name)) + l.grid(column=xy[0], row=xy[1], sticky='news') + + root.bind( + "" % key, lambda ev, sub=sub: self.bumpto(sub, 1)) + root.bind("" % key, + lambda ev, sub=sub: self.bumpto(sub, 0)) + + def bumpto(self, sub, lev): + now = time.time() + self.levs[sub] = lev * self.mag.get() self.master.after_idle(self.output) + def output(self): - dmx = sub_maxes(*[s*l for s,l in self.levs.items()]).get_dmx_list() - dmxclient.outputlevels(dmx,clientid="bumppad") - -root=tk.Tk() + dmx = sub_maxes(*[s * l for s, l in self.levs.items()]).get_dmx_list() + dmxclient.outputlevels(dmx, clientid="bumppad") + + +root = tk.Tk() root.tk_setPalette("maroon4") root.wm_title("bumppad") mag = tk.DoubleVar() -tk.Label(root,text="Keypad press/release activate sub; 1..5 set mag", - font="Helvetica -12 italic",anchor='w').pack(side='bottom',fill='x') - -pad(root,root,mag).pack(side='left',fill='both',exp=1) +tk.Label(root, + text="Keypad press/release activate sub; 1..5 set mag", + font="Helvetica -12 italic", + anchor='w').pack(side='bottom', fill='x') + +pad(root, root, mag).pack(side='left', fill='both', exp=1) -magscl = tk.Scale(root,orient='vertical',from_=1,to=0,res=.01, - showval=1,variable=mag,label='mag',relief='raised',bd=1) -for i in range(1,6): - root.bind(""%i,lambda ev,i=i: mag.set(math.sqrt((i )/5))) -magscl.pack(side='left',fill='y') - +magscl = tk.Scale(root, + orient='vertical', + from_=1, + to=0, + res=.01, + showval=1, + variable=mag, + label='mag', + relief='raised', + bd=1) +for i in range(1, 6): + root.bind("" % i, lambda ev, i=i: mag.set(math.sqrt((i) / 5))) +magscl.pack(side='left', fill='y') root.mainloop()