comparison light8/ExtSliderMapper.py @ 100:f13cf18224f2

minor cleanups. no code actually changed (i hope :)
author dmcc
date Sat, 13 Jul 2002 04:48:27 +0000
parents 7910445b81e3
children a995fd1a8f03
comparison
equal deleted inserted replaced
99:7910445b81e3 100:f13cf18224f2
1 """some more of the panels""" 1 """ The External Slider Mapping widget determines which pots map to which
2 submasters. It tells you the status of each mapping and saves and loads
3 presets. The show is relying on this module! Do not lose it!
4
5 FUQ (frequently unasked question)
6
7 1. What's with all the *args?
8
9 It lets functions take any number of arguments and throw them away.
10 Callbacks do this, and we typically don't care about what they have to say. """
11
2 from Tix import * 12 from Tix import *
3 13
4 class SliderMapping: 14 class SliderMapping:
5 def __init__(self, default='disconnected', synced=0, extinputlevel=0, 15 def __init__(self, default='disconnected', synced=0, extinputlevel=0,
6 sublevel=0): 16 sublevel=0):
52 self.color_bg() 62 self.color_bg()
53 def color_bg(self): 63 def color_bg(self):
54 if self.widgets: 64 if self.widgets:
55 if self.isdisconnected(): 65 if self.isdisconnected():
56 color = 'honeyDew4' 66 color = 'honeyDew4'
57 elif self.issynced():
58 # stupid hack 67 # stupid hack
59 # elif abs(self.extlevel.get() - self.sublevel.get()) <= 0.02: 68 # elif abs(self.extlevel.get() - self.sublevel.get()) <= 0.02:
69 elif self.issynced():
60 color = 'honeyDew2' 70 color = 'honeyDew2'
61 else: # unsynced 71 else: # unsynced
62 color = 'red' 72 color = 'red'
63 73
64 if self.statuslabel: 74 if self.statuslabel: # more stupid hackery
65 if color == 'honeyDew2': # connected 75 if color == 'honeyDew2': # connected
66 self.statuslabel['text'] = 'Sync' 76 self.statuslabel['text'] = 'Sync'
67 elif self.extlevel.get() < self.sublevel.get(): 77 elif self.extlevel.get() < self.sublevel.get():
68 self.statuslabel['text'] = 'No sync (go up)' 78 self.statuslabel['text'] = 'No sync (go up)'
69 else: 79 else:
78 'newvar is one of the variables in scalelevels' 88 'newvar is one of the variables in scalelevels'
79 89
80 if newvar is not self.sublevel: 90 if newvar is not self.sublevel:
81 try: 91 try:
82 # remove an old trace 92 # remove an old trace
83 self.sublevel.trace_vdelete('w',self.sublevel.unsync_trace_cbname) 93 self.sublevel.trace_vdelete('w',
94 self.sublevel.unsync_trace_cbname)
84 except AttributeError: 95 except AttributeError:
85 pass # it didn't have one 96 pass # it didn't have one
86 97
87 self.sublevel = newvar 98 self.sublevel = newvar
88 self.sublevel.unsync_trace_cbname = self.sublevel.trace('w', self.unsync) 99 self.sublevel.unsync_trace_cbname = self.sublevel.trace('w',
89 100 self.unsync)
90 # self.sublevel = newvar
91 101
92 if self.sublabel: 102 if self.sublabel:
93 self.sublabel.configure(textvariable=newvar) 103 self.sublabel.configure(textvariable=newvar)
94 self.check_synced() 104 self.check_synced()
95 def get_mapping(self): 105 def get_mapping(self):
106 for s in subnames: 116 for s in subnames:
107 c.slistbox.listbox.insert(END, s) 117 c.slistbox.listbox.insert(END, s)
108 c.entry.configure(width=12) 118 c.entry.configure(width=12)
109 statframe = Frame(frame) 119 statframe = Frame(frame)
110 120
111 '''
112 cb = Checkbutton(statframe, variable=self.synced,
113 text="Synced")
114 cb.grid(columnspan=2, sticky=W)
115 '''
116 self.statuslabel = Label(statframe, text="No sync") 121 self.statuslabel = Label(statframe, text="No sync")
117 self.statuslabel.grid(columnspan=2, sticky=W) 122 self.statuslabel.grid(columnspan=2, sticky=W)
118 ilabel = Label(statframe, text="Input", fg='blue') 123 ilabel = Label(statframe, text="Input", fg='blue')
119 ilabel.grid(row=1, sticky=W) 124 ilabel.grid(row=1, sticky=W)
120 extlabel = Label(statframe, textvariable=self.extlevel, width=5) 125 extlabel = Label(statframe, textvariable=self.extlevel, width=5)
188 193
189 rawlevels = self.sliderinput.get_levels() 194 rawlevels = self.sliderinput.get_levels()
190 for rawlev, slidermap in zip(rawlevels, self.current_mappings): 195 for rawlev, slidermap in zip(rawlevels, self.current_mappings):
191 slidermap.changed_extinput(rawlev) 196 slidermap.changed_extinput(rawlev)
192 197
193 '''
194 outputlevels = {}
195 for m in self.current_mappings:
196 if m.issynced():
197 k, v = m.get_level_pair()
198 outputlevels[k] = v
199 m.ignorenextunync()
200 return outputlevels
201 '''
202 return dict([m.get_level_pair() 198 return dict([m.get_level_pair()
203 for m in self.current_mappings 199 for m in self.current_mappings
204 if m.issynced()]) 200 if m.issynced()])
205 def draw_interface(self): 201 def draw_interface(self):
206 self.reallevellabels = [] 202 self.reallevellabels = []