Files
@ 1a84c5e83d3e
Branch filter:
Location: light9/flax/bumppad - annotation
1a84c5e83d3e
2.3 KiB
text/plain
dmxserver and subcomposer work in new layout
186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 186a66095036 | #!/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()
|