changeset 204:186a66095036

new
author drewp
date Sun, 10 Apr 2005 15:00:36 +0000
parents 4c65113d3d90
children 3905d3c92aaa
files flax/bumppad
diffstat 1 files changed, 65 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/flax/bumppad	Sun Apr 10 15:00:36 2005 +0000
@@ -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("<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()