Mercurial > code > home > repos > light9
changeset 234:079cc244a59e
port bumppad to new package system, small gui fixes
author | drewp@bigasterisk.com |
---|---|
date | Mon, 13 Jun 2005 00:37:59 +0000 |
parents | e910fda2cd1f |
children | d19c607c41dc |
files | bin/bumppad flax/bumppad |
diffstat | 2 files changed, 70 insertions(+), 65 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/bumppad Mon Jun 13 00:37:59 2005 +0000 @@ -0,0 +1,70 @@ +#!/usr/bin/env python +from __future__ import division,nested_scopes +import sys, time, math +import Tkinter as tk + +import run_local +import light9.dmxclient as dmxclient +from light9.TLUtility import make_attributes_from_args + +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','upstage'), + ((1,3),"KP_Down",'narrow-c'), + ((0,2),'KP_Left','left1'), + ((2,2),'KP_Right','right1'), + ((1,0),'KP_Divide','cyc'), + ((0,3),"KP_End",'edge-l'), + ((2,3),'KP_Next','edge-r'), + ((0,4),'KP_Insert',"zip_red"), + ((2,4),'KP_Delete',"zip_orange"), + ((3,1),'KP_Add','zip_green'), + ((3,3),'KP_Enter','zip_blue'), + ((1,2),'KP_Begin','downfront'), + ]: + + 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("<KeyPress-%s>"%key, + lambda ev,sub=sub: self.bumpto(sub,1)) + root.bind("<KeyRelease-%s>"%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() +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) + +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("<Key-%s>"%i,lambda ev,i=i: mag.set(math.sqrt((i )/5))) +magscl.pack(side='left',fill='y') + + +root.mainloop()
--- a/flax/bumppad Thu Jun 09 07:26:39 2005 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -#!/usr/bin/env python -from __future__ import division,nested_scopes -import sys, time, math -import Tkinter as tk - -sys.path.append("../light8") -import dmxclient -from TLUtility import make_attributes_from_args - -from 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','upstage'), - ((1,3),"KP_Down",'narrow-c'), - ((0,2),'KP_Left','left1'), - ((2,2),'KP_Right','right1'), - ((1,0),'KP_Divide','cyc'), - ((0,3),"KP_End",'edge-l'), - ((2,3),'KP_Next','edge-r'), - ((0,4),'KP_Insert',"zip_red"), - ((2,4),'KP_Delete',"zip_orange"), - ((3,1),'KP_Add','zip_green'), - ((3,3),'KP_Enter','zip_blue'), - ((1,2),'KP_Begin','downfront'), - ]: - - 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("<KeyPress-%s>"%key, - lambda ev,sub=sub: self.bumpto(sub,1)) - root.bind("<KeyRelease-%s>"%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() -root.tk_setPalette("maroon4") - -mag = tk.DoubleVar() - -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("<Key-%s>"%i,lambda ev,i=i: mag.set(math.sqrt((i )/5))) -magscl.pack(side='left',fill='y') -root.mainloop()