annotate bin/bumppad @ 1450:ddb7622698a8

don't mix remapped values with unremapped ones Ignore-this: 80a2fbf0293d26d88ea34ec1e0eab5b5
author drewp@bigasterisk.com
date Sat, 11 Jun 2016 22:27:51 +0000
parents 88110cd58caa
children 7772cc48e016
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1012
88110cd58caa fix #! in bumppad
drewp@bigasterisk.com
parents: 325
diff changeset
1 #!bin/python
204
drewp
parents:
diff changeset
2 from __future__ import division,nested_scopes
drewp
parents:
diff changeset
3 import sys, time, math
drewp
parents:
diff changeset
4 import Tkinter as tk
drewp
parents:
diff changeset
5
234
079cc244a59e port bumppad to new package system, small gui fixes
drewp@bigasterisk.com
parents: 204
diff changeset
6 import run_local
079cc244a59e port bumppad to new package system, small gui fixes
drewp@bigasterisk.com
parents: 204
diff changeset
7 import light9.dmxclient as dmxclient
079cc244a59e port bumppad to new package system, small gui fixes
drewp@bigasterisk.com
parents: 204
diff changeset
8 from light9.TLUtility import make_attributes_from_args
204
drewp
parents:
diff changeset
9
234
079cc244a59e port bumppad to new package system, small gui fixes
drewp@bigasterisk.com
parents: 204
diff changeset
10 from light9.Submaster import Submaster,sub_maxes
204
drewp
parents:
diff changeset
11
drewp
parents:
diff changeset
12 class pad(tk.Frame):
drewp
parents:
diff changeset
13 levs = None # Submaster : level
drewp
parents:
diff changeset
14 def __init__(self,master,root,mag):
drewp
parents:
diff changeset
15 make_attributes_from_args('master','mag')
drewp
parents:
diff changeset
16 tk.Frame.__init__(self,master)
drewp
parents:
diff changeset
17 self.levs={}
drewp
parents:
diff changeset
18 for xy,key,subname in [
269
34db49e1bc20 new bumppad subs for 2005 show
Drew Perttula <drewp@bigasterisk.com>
parents: 234
diff changeset
19 ((1,1),'KP_Up','centered'),
34db49e1bc20 new bumppad subs for 2005 show
Drew Perttula <drewp@bigasterisk.com>
parents: 234
diff changeset
20 ((1,3),"KP_Down",'third-c'),
34db49e1bc20 new bumppad subs for 2005 show
Drew Perttula <drewp@bigasterisk.com>
parents: 234
diff changeset
21 ((0,2),'KP_Left','scoop-l'),
34db49e1bc20 new bumppad subs for 2005 show
Drew Perttula <drewp@bigasterisk.com>
parents: 234
diff changeset
22 ((2,2),'KP_Right','scoop-r'),
204
drewp
parents:
diff changeset
23 ((1,0),'KP_Divide','cyc'),
325
5104e5e2380f edit bumppad channels
Drew Perttula <drewp@bigasterisk.com>
parents: 269
diff changeset
24 ((0,3),"KP_End",'hottest'),
5104e5e2380f edit bumppad channels
Drew Perttula <drewp@bigasterisk.com>
parents: 269
diff changeset
25 ((2,3),'KP_Next','deepblues'),
204
drewp
parents:
diff changeset
26 ((0,4),'KP_Insert',"zip_red"),
drewp
parents:
diff changeset
27 ((2,4),'KP_Delete',"zip_orange"),
269
34db49e1bc20 new bumppad subs for 2005 show
Drew Perttula <drewp@bigasterisk.com>
parents: 234
diff changeset
28 ((3,1),'KP_Add','strobedim'),
204
drewp
parents:
diff changeset
29 ((3,3),'KP_Enter','zip_blue'),
269
34db49e1bc20 new bumppad subs for 2005 show
Drew Perttula <drewp@bigasterisk.com>
parents: 234
diff changeset
30 ((1,2),'KP_Begin','scoop-c'),
204
drewp
parents:
diff changeset
31 ]:
drewp
parents:
diff changeset
32
drewp
parents:
diff changeset
33 sub = Submaster(subname)
drewp
parents:
diff changeset
34 self.levs[sub]=0
drewp
parents:
diff changeset
35
drewp
parents:
diff changeset
36 l = tk.Label(self,font="arial 12 bold",anchor='w',height=2,
drewp
parents:
diff changeset
37 relief='groove',bd=5,
drewp
parents:
diff changeset
38 text="%s\n%s" % (key.replace('KP_',''),sub.name))
drewp
parents:
diff changeset
39 l.grid(column=xy[0],row=xy[1],sticky='news')
drewp
parents:
diff changeset
40
drewp
parents:
diff changeset
41 root.bind("<KeyPress-%s>"%key,
drewp
parents:
diff changeset
42 lambda ev,sub=sub: self.bumpto(sub,1))
drewp
parents:
diff changeset
43 root.bind("<KeyRelease-%s>"%key,
drewp
parents:
diff changeset
44 lambda ev,sub=sub: self.bumpto(sub,0))
drewp
parents:
diff changeset
45 def bumpto(self,sub,lev):
drewp
parents:
diff changeset
46 now=time.time()
drewp
parents:
diff changeset
47 self.levs[sub]=lev*self.mag.get()
drewp
parents:
diff changeset
48 self.master.after_idle(self.output)
drewp
parents:
diff changeset
49 def output(self):
drewp
parents:
diff changeset
50 dmx = sub_maxes(*[s*l for s,l in self.levs.items()]).get_dmx_list()
drewp
parents:
diff changeset
51 dmxclient.outputlevels(dmx,clientid="bumppad")
drewp
parents:
diff changeset
52
drewp
parents:
diff changeset
53 root=tk.Tk()
drewp
parents:
diff changeset
54 root.tk_setPalette("maroon4")
234
079cc244a59e port bumppad to new package system, small gui fixes
drewp@bigasterisk.com
parents: 204
diff changeset
55 root.wm_title("bumppad")
079cc244a59e port bumppad to new package system, small gui fixes
drewp@bigasterisk.com
parents: 204
diff changeset
56 mag = tk.DoubleVar()
204
drewp
parents:
diff changeset
57
234
079cc244a59e port bumppad to new package system, small gui fixes
drewp@bigasterisk.com
parents: 204
diff changeset
58 tk.Label(root,text="Keypad press/release activate sub; 1..5 set mag",
079cc244a59e port bumppad to new package system, small gui fixes
drewp@bigasterisk.com
parents: 204
diff changeset
59 font="Helvetica -12 italic",anchor='w').pack(side='bottom',fill='x')
204
drewp
parents:
diff changeset
60
drewp
parents:
diff changeset
61 pad(root,root,mag).pack(side='left',fill='both',exp=1)
drewp
parents:
diff changeset
62
drewp
parents:
diff changeset
63 magscl = tk.Scale(root,orient='vertical',from_=1,to=0,res=.01,
drewp
parents:
diff changeset
64 showval=1,variable=mag,label='mag',relief='raised',bd=1)
drewp
parents:
diff changeset
65 for i in range(1,6):
drewp
parents:
diff changeset
66 root.bind("<Key-%s>"%i,lambda ev,i=i: mag.set(math.sqrt((i )/5)))
drewp
parents:
diff changeset
67 magscl.pack(side='left',fill='y')
234
079cc244a59e port bumppad to new package system, small gui fixes
drewp@bigasterisk.com
parents: 204
diff changeset
68
079cc244a59e port bumppad to new package system, small gui fixes
drewp@bigasterisk.com
parents: 204
diff changeset
69
204
drewp
parents:
diff changeset
70 root.mainloop()