# HG changeset patch # User drewp # Date 2005-04-10 15:00:36 # Node ID 186a6609503619983b0c08acdef21f5aef28125d # Parent 4c65113d3d90df1ecfead585e1a034f09d64356a new diff --git a/flax/bumppad b/flax/bumppad new file mode 100644 --- /dev/null +++ b/flax/bumppad @@ -0,0 +1,65 @@ +#!/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(""%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() +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(""%i,lambda ev,i=i: mag.set(math.sqrt((i )/5))) +magscl.pack(side='left',fill='y') +root.mainloop()