annotate light8/rsn.py @ 4:f974a462133f

added light8 from the posted light8-1.0.tgz
author drewp
date Sun, 07 Jul 2002 01:16:10 +0000
parents 45b12307c695
children 7adc65771676
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
1 #!/usr/bin/env python
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
2 from __future__ import nested_scopes
45b12307c695 Initial revision
drewp
parents:
diff changeset
3
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
4 from Tkinter import *
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
5 from parport import *
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
6 from time import sleep
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
7 from signal import *
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
8 import sys, thread, cPickle
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
9
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
10 from Xfader import *
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
11
45b12307c695 Initial revision
drewp
parents:
diff changeset
12 if len(sys.argv) >= 2:
45b12307c695 Initial revision
drewp
parents:
diff changeset
13 DUMMY = 0
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
14 print "This is the real thing, baby"
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
15 window_title = "Light 8.8 (On Air)"
45b12307c695 Initial revision
drewp
parents:
diff changeset
16 else:
45b12307c695 Initial revision
drewp
parents:
diff changeset
17 DUMMY = 1
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
18 print "Dummy mode"
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
19 window_title = "Light 8.8 (Bogus)"
45b12307c695 Initial revision
drewp
parents:
diff changeset
20
45b12307c695 Initial revision
drewp
parents:
diff changeset
21 root = Tk()
45b12307c695 Initial revision
drewp
parents:
diff changeset
22 root.wm_title(window_title)
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
23 root.wm_geometry('+447+373')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
24
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
25 import Subs, Patch
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
26
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
27 def get_data(*args):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
28 Subs.reload_data(DUMMY)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
29 Patch.reload_data(DUMMY)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
30 print "Patch:", Patch.patch
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
31 print "Subs:", ', '.join(Subs.subs.keys())
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
32
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
33 get_data()
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
34
45b12307c695 Initial revision
drewp
parents:
diff changeset
35 if not DUMMY:
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
36 getparport()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
37
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
38 def sendlevels(levels):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
39 if DUMMY: return
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
40 levels = list(levels) + [0]
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
41 if levels[14] > 0: levels[14] = 100
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
42 # print "levels", ' '.join(["%3.1f" % l for l in levels])
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
43 outstart()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
44 for p in range(1,70):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
45 outbyte(levels[p-1]*255/100)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
46
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
47 channel_levels = []
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
48 scalelevels = {}
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
49 fades = {}
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
50 stdfont = ('Arial', 8)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
51 monofont = ('Courier', 8)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
52
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
53 def colorlabel(label):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
54 txt=label['text'] or "0"
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
55 lev=float(txt)/100
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
56 low=(80,80,180)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
57 high=(255,55,050)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
58 out = [int(l+lev*(h-l)) for h,l in zip(high,low)]
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
59 col="#%02X%02X%02X" % tuple(out)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
60 label.config(bg=col)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
61
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
62 _oldlevels=[None] * 68
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
63
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
64 def changelevel(*args):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
65 'Amp trims slider'
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
66 global _oldlevels
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
67
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
68 levels = [0] * 68
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
69 for name, s in Subs.subs.items():
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
70 newlevels = s.get_levels(level=scalelevels[name].get())
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
71 for (ch, fadelev) in newlevels.items():
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
72 levels[ch-1] = max(levels[ch-1], fadelev)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
73
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
74 levels = [int(l) for l in levels]
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
75
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
76 for lev,lab,oldlev in zip(levels, channel_levels, _oldlevels):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
77 if lev != oldlev:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
78 lab.config(text="%d" % lev)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
79 colorlabel(lab)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
80
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
81 _oldlevels = levels[:]
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
82
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
83 sendlevels(levels)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
84
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
85 def backgroundloop(*args):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
86 root.after(50, backgroundloop, ())
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
87 changelevel()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
88
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
89 def make_frame(parent):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
90 f = Frame(parent, bd=0)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
91 f.pack(side='left')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
92 return f
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
93
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
94 def add_fade(slider, evt):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
95 print 'b3!'
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
96
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
97 def execute(evt, str):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
98 if str[0] == '*': # make a new sub
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
99 make_sub(str)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
100 else:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
101 print '>>>', str
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
102 print eval(str)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
103 console_frame.focus()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
104
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
105 def console():
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
106 global console_entry, console_frame
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
107 print "Light 8: Everything's under control"
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
108 t=Toplevel(root)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
109 console_frame = Frame(t)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
110 console_entry=Entry(console_frame)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
111 console_entry.pack(expand=1, fill='x')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
112 console_entry.bind('<Return>', lambda evt: execute(evt,
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
113 console_entry.get()))
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
114 console_frame.pack(fill=BOTH, expand=1)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
115 t.wm_geometry("599x19+267+717")
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
116
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
117 buildinterface = None # temporary
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
118 def refresh(*args):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
119 get_data()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
120 buildinterface()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
121 bindkeys('<Escape>', quit)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
122
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
123 def quit(*args):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
124 filename = '/tmp/light9.prefs'
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
125 if DUMMY:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
126 filename += '.dummy'
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
127 print "Saving to", filename
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
128 file = open(filename, 'w')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
129 cPickle.dump(Pickles(scalelevels), file)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
130 root.destroy()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
131 sys.exit()
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
132
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
133 def bindkeys(key, func):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
134 root.bind(key, func)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
135 for w in root.winfo_children():
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
136 w.bind(key, func)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
137
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
138
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
139 def toggle_slider(s):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
140 if s.get() == 0:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
141 s.set(100)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
142 else:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
143 s.set(0)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
144 def printout(t):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
145 print t
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
146
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
147 xfader=Xfader(scalelevels)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
148
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
149 def buildinterface(*args):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
150 global channel_levels, _oldlevels, leveldisplay, stdfont, monofnt, xfader
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
151 for w in root.winfo_children():
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
152 w.destroy()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
153
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
154 sublist = Subs.subs.items()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
155 sublist.sort()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
156
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
157 sub_tl = Toplevel()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
158 sub_tl.wm_geometry("+0+0")
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
159 effect_tl = Toplevel()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
160 effect_tl.wm_geometry("+0+352")
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
161
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
162 for name, sub in sublist:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
163 if sub.is_effect:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
164 f=Frame(effect_tl, bd=1, relief='raised')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
165 else:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
166 f=Frame(sub_tl, bd=1, relief='raised')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
167
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
168 f.pack(fill='both',exp=1,side='left')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
169
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
170 if name not in scalelevels:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
171 scalelevels[name]=DoubleVar()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
172
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
173 sub.set_slider_var(scalelevels[name])
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
174
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
175 scaleopts = {}
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
176 if sub.color:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
177 scaleopts['troughcolor'] = sub.color
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
178 s=Scale(f,command=lambda l,name=name: changelevel(name,l),showvalue=0,
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
179 length=300-17,variable=scalelevels[name],width=20,
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
180 to=0,res=.001,from_=1,bd=1, **scaleopts)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
181 l=Label(f,text=str(name), font=stdfont, padx=0, pady=0)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
182 v=Label(f,textvariable=scalelevels[name], font=stdfont, padx=0, pady=0)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
183 l.pack(side='bottom')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
184 v.pack(side='bottom')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
185
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
186 for axis in ('y','x'):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
187 cvar=IntVar()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
188 cb=Checkbutton(f,text=axis,variable=cvar,font=stdfont, padx=0, pady=0, bd=1)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
189 button = ('Alt','Control')[axis=='y'] # unused?
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
190 # s.bind('<Key-%s>'%axis, lambda ev,cb=cb: cb.invoke)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
191 cb.pack(side='bottom',fill='both', padx=0, pady=0)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
192 xfader.registerbutton(name,axis,cvar)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
193
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
194 s.pack(side='left')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
195 s.bind('<3>', lambda evt, v=scalelevels[name]: toggle_slider(v))\
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
196
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
197 sframe = Frame(f,bd=2,relief='groove')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
198 sub.draw_tk(sframe)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
199 sframe.pack(side='left',fill='y')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
200
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
201 # def event_printer(evt):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
202 # print dir(evt)
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
203
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
204 # sub_tl.bind('<b>', event_printer)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
205 leveldisplay=Toplevel(root)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
206 leveldisplay.bind('<Escape>', sys.exit)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
207 leveldisplay.wm_geometry('+873+400')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
208 frames = (make_frame(leveldisplay), make_frame(leveldisplay))
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
209 channel_levels=[]
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
210 for channel in range(1, 69):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
211 f=Frame(frames[channel > 34])
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
212 Label(f,text=str(channel), width=3, bg='lightPink',
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
213 font=stdfont, padx=0, pady=0, bd=0, height=1).pack(side='left')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
214 Label(f,text=Patch.get_channel_name(channel), width=8,
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
215 font=stdfont, anchor='w', padx=0, pady=0, bd=0, height=1).pack(side='left')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
216 l=Label(f,text=_oldlevels[channel-1], width=3, bg='lightBlue',
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
217 font=stdfont, anchor='e', padx=1, pady=0, bd=0, height=1)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
218 l.pack(side='left')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
219 colorlabel(l)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
220 channel_levels.append(l)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
221 f.pack(side='top')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
222
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
223 console()
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
224
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
225 # root frame
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
226 controlpanel = Frame(root)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
227 xf=Frame(controlpanel)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
228 xf.pack(side='right')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
229 for txt,cmd in (
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
230 ('Quit', quit),
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
231 ('Refresh', refresh),
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
232 ('Clear all', xfader.clearallbuttons),
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
233 ('On -> X', lambda: xfader.grab('x')),
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
234 ('Clear X', lambda: xfader.clearallbuttons('x')),
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
235 ('On -> Y', lambda: xfader.grab('y')),
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
236 ('Clear Y', lambda: xfader.clearallbuttons('y'))):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
237 Button(controlpanel, text=txt, command=cmd).pack(side='top', fill='x')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
238
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
239 # Button(controlpanel, text='Quit', command=quit).pack(side='left')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
240 # Button(controlpanel, text='Refresh', command=refresh).pack(side='left')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
241 # Button(controlpanel, text='Clearxfade', command=xfader.clearallbuttons).pack(side='left')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
242 # Button(controlpanel, text='Grab x', command=lambda: xfader.grab('x')).pack(side='left')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
243 # Button(controlpanel, text='Grab y', command=lambda: xfader.grab('y')).pack(side='left')
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
244
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
245 root.bind('<q>', quit)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
246 root.bind('<r>', refresh)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
247 leveldisplay.bind('<q>', quit)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
248 leveldisplay.bind('<r>', refresh)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
249
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
250 xfader.setupwidget(xf)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
251 controlpanel.pack()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
252
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
253 buildinterface()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
254
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
255 class Pickles:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
256 def __init__(self, scalelevels):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
257 self.scalelevels = dict([(name, lev.get())
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
258 for name,lev in scalelevels.items()])
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
259
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
260 def load():
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
261 try:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
262 filename = '/tmp/light9.prefs'
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
263 if DUMMY:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
264 filename += '.dummy'
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
265 print "Loading from", filename
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
266 file = open(filename, 'r')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
267 p = cPickle.load(file)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
268 for s, v in p.scalelevels.items():
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
269 try:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
270 scalelevels[s].set(v)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
271 except:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
272 print "Couldn't set %s -> %s" % (s, v)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
273 except:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
274 print "Couldn't load prefs (%s)" % filename
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
275
4
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
276 def make_sub(name):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
277 global _oldlevels
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
278 i = 1
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
279 # name = console_entry.get() # read from console
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
280 if not name:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
281 print "Enter sub name in console."
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
282 return
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
283
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
284 st = ''
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
285 linebuf = 'subs["%s"] = {' % name
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
286 for l in _oldlevels:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
287 if l:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
288 if len(linebuf) > 60:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
289 st += linebuf + '\n '
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
290 linebuf = ''
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
291
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
292 linebuf += ' "%s" : %d,' % (Patch.get_channel_name(i), l)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
293 i += 1
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
294 st += linebuf + '}\n'
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
295 if DUMMY:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
296 filename = 'ConfigDummy.py'
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
297 else:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
298 filename = 'Config.py'
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
299 f = open(filename, 'a')
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
300 f.write(st)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
301 f.close()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
302 print 'Added sub:', st
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
303 refresh()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
304
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
305 load()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
306 signal(SIGINT, quit)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
307 bindkeys('<Escape>', quit)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
308
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
309 # bindkeys('<q>', quit)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
310 # bindkeys('<r>', refresh)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
311 # bindkeys('<s>', make_sub)
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
312 backgroundloop()
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
313 root.mainloop() # Receiver switches main
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
314
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
315 while 1:
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
316 for lev in range(0,255,25)+range(255,0,-25):
f974a462133f added light8 from the posted light8-1.0.tgz
drewp
parents: 0
diff changeset
317 sleep(.2)