diff --git a/Widgets/FlyingFader.py b/Widgets/FlyingFader.py --- a/Widgets/FlyingFader.py +++ b/Widgets/FlyingFader.py @@ -174,7 +174,6 @@ def colorfade(scale, lev): col="#%02X%02X%02X" % tuple(out) scale.config(troughcolor=col) - if __name__ == '__main__': root = Tk() root.tk_focusFollowsMouse() diff --git a/light8/Config.py b/light8/Config.py --- a/light8/Config.py +++ b/light8/Config.py @@ -171,10 +171,6 @@ subs['*2-05-2-boat']={ 'b22': 100, 'b23' subs[('*2-06-0', 'white')]={ 'b22': 14, 'b23': 100, 'b24': 100, 'b32': 23, 'b34': 30, 'cycright': 100, 'desk2': 23, 'hotbox1': 49, 'hotbox2': 43, 'main 10': 55, 'main 11': 55, 'main 2': 30, 'main 7': 30, 'main 9': 30, 'marry1': 69, 'marry2': 34, 'rock': 17, 'side r': 30, 'upfill1': 48, 'upfill4': 48, } -subs['*2-06-1-patio right']={ 'patio2': 100, } - -subs['*2-06-2 patio left']={ 'patio1': 100, } - subs[('*2-07-0', 'white')]={ 'b22': 100, 'b23': 100, 'b24': 100, 'b25': 100, 'b34': 100, 'cycleft': 41, 'cycright': 41, 'desk2': 78, 'edge': 63, 'hotbox1': 14, 'hotbox2': 5, 'main 10': 100, 'main 11': 100, 'main 2': 100, 'main 3': 83, 'main 4': 100, 'main 5': 100, 'main 7': 100, 'main 8': 100, 'main 9': 100, 'marry1': 100, 'marry2': 100, 'phone': 62, 'side l': 100, 'side r': 100, 'sidefill1': 83, 'sidefill2': 100, 'upfill1': 56, 'upfill2': 100, 'upfill3': 69, 'upfill4': 56, } subs['*curtain']={ 'b22': 73, 'b24': 73, 'b25': 73, 'b34': 73, 'desk2': 57, 'edge': 58, 'hotbox2': 73, 'main 10': 73, 'main 11': 73, 'main 2': 73, 'main 3': 73, 'main 4': 73, 'main 5': 73, 'main 7': 73, 'main 8': 73, 'main 9': 73, 'marry1': 73, 'marry2': 73, 'phone': 58, 'side l': 73, 'side r': 73, 'sidefill1': 23, 'sidefill2': 23, 'upfill1': 9, 'upfill2': 68, 'upfill3': 18, 'upfill4': 9, } @@ -367,3 +363,36 @@ subs["*1-01-0-justright"] = { "sidefill2 "side r" : 100, "main 11" : 0, "main 10" : 0, "main 3" : 0, "main 2" : 100, "main 5" : 100, "main 4" : 0, "main 7" : 0, "phone" : 100, "main 9" : 100, "main 8" : 100, "cycleft" : 0, "edge" : 0, "marry2" : 7, "marry1" : 100,} + +subs["*2-06-0"] = { "cycright" : 100, "main 11" : 55, "main 10" : 55, + "upfill1" : 48, "main 7" : 30, "b34" : 0, "main 9" : 30, "b24" : 100, + "b23" : 100, "b22" : 0, "desk2" : 23, "edge" : 0, "hotbox2" : 79, + "hotbox1" : 71, "upfill4" : 48, "b32" : 51, "rock" : 17, "marry2" : 34, + "marry1" : 69, "main 2" : 30, "side r" : 30,} +subs["patio right"] = { "phone" : 0, "patio2" : 0, "cuba2" : 0, + "b34" : 34, "main 9" : 0, "b25" : 16, "cuba1" : 76, "b32" : 0,} +subs["patio left"] = { "main 3" : 31, "edge" : 54, "b13" : 0, + "patio1" : 0, "cafe1" : 40, "desk1" : 0,} +subs["*2-06-0"] = { "cycright" : 100, "main 11" : 13, "main 10" : 0, + "upfill1" : 48, "b34" : 0, "b24" : 100, "b23" : 100, "b22" : 0, + "desk2" : 23, "hotbox2" : 83, "hotbox1" : 51, "upfill4" : 48, + "b32" : 41, "main 2" : 60, "main 4" : 85, "main 7" : 30, "main 9" : 70, + "edge" : 0, "rock" : 0, "marry2" : 34, "marry1" : 64, "side r" : 30,} + +# don't screw up! +subs['*2-06-1-patio right']=subs['patio right'].copy() + +subs['*2-06-2 patio left']=subs['patio left'].copy() +subs["*2-07-0"] = { "sidefill2" : 100, "sidefill1" : 83, "cycright" : 41, + "main 11" : 100, "main 10" : 100, "upfill1" : 56, "b34" : 100, + "b25" : 100, "cycleft" : 41, "b23" : 100, "b22" : 100, "side l" : 100, + "hotbox2" : 5, "hotbox1" : 14, "upfill4" : 56, "b24" : 100, "desk2" : 78, + "upfill3" : 69, "upfill2" : 100, "main 3" : 83, "main 2" : 100, + "main 5" : 100, "main 4" : 100, "main 7" : 100, "phone" : 62, + "main 9" : 100, "main 8" : 100, "edge" : 63, "marry2" : 100, + "marry1" : 100, "xmas" : 99, "side r" : 100,} +subs["*2-06-0"] = { "cycright" : 100, "main 11" : 13, "main 10" : 0, + "upfill1" : 48, "b34" : 0, "b24" : 100, "b23" : 62, "b22" : 0, + "desk2" : 23, "hotbox2" : 89, "hotbox1" : 88, "upfill4" : 48, + "b32" : 0, "main 2" : 63, "main 4" : 97, "main 7" : 42, "main 9" : 52, + "edge" : 0, "rock" : 0, "marry2" : 0, "marry1" : 41, "side r" : 0,} diff --git a/light8/ExtSliderMapper.py b/light8/ExtSliderMapper.py --- a/light8/ExtSliderMapper.py +++ b/light8/ExtSliderMapper.py @@ -147,7 +147,10 @@ class SliderMapping: 'Returns suitable output for ExtSliderMapper.get_levels()' return (self.subname.get(), self.extlevel.get()) def listbox_cb(self, *args): - self.subname.set(self.subnames[get_selection(self.listbox.listbox)-0]) + selection = get_selection(self.listbox.listbox) + self.disconnect() + self.subname.set(self.subnames[selection]) + self.listbox.listbox.select_set(selection) def draw_interface(self, master, subnames): 'Draw interface into master, given a list of submaster names' self.subnames = subnames @@ -247,14 +250,19 @@ class ExtSliderMapper(Frame): self.load_scalelevels() # freshen our input from the submasters for m, color in zip(self.current_mappings, colors): - if not m.isdisconnected(): - name = m.get_mapping() - lastsub = self.subs_highlighted.get(color) - if name is not lastsub: - if lastsub is not None: + name = m.get_mapping() + lastsub = self.subs_highlighted.get(color) + if name is not lastsub: + if lastsub is not None: + try: self.lightboard.highlight_sub(lastsub, 'restore') + except KeyError: + pass + try: self.lightboard.highlight_sub(name, color) - self.subs_highlighted[color] = name + except KeyError: + pass + self.subs_highlighted[color] = name rawlevels = self.sliderinput.get_levels() for rawlev, slidermap in zip(rawlevels, self.current_mappings): diff --git a/light8/Lightboard.py b/light8/Lightboard.py --- a/light8/Lightboard.py +++ b/light8/Lightboard.py @@ -27,6 +27,7 @@ class Lightboard: self.parportdmx = parportdmx self.DUMMY = DUMMY self.jostle_mode = 0 + self.lastline = None self.channel_levels = [] self.scalelevels = {} @@ -279,8 +280,12 @@ class Lightboard: if lev: levels.append('%s\t%s' % (n, lev)) - template = "%s:\t%s\n" % (time(), '\t'.join(levels)) - self.rec_file.write(template) + + newdata = '\t'.join(levels) + if newdata!=self.lastline: + template = "%s:\t%s\n" % (time(), newdata) + self.rec_file.write(template) + self.lastline = newdata self.master.after(100, self.record_stamp) def highlight_sub(self, name, color): self.subediting.colorsub(name, color) diff --git a/light8/slidermapping b/light8/slidermapping --- a/light8/slidermapping +++ b/light8/slidermapping @@ -1,5 +1,6 @@ 1-00 opening *curtain house god *1-01-0 1-01 *1-01-0 *1-01-9 end conversations *1-02-0 *interscene +1-01-parts *1-01-0 *1-01-0-justback *1-01-0-justright *1-01-0-sarah 1-02 *1-02-0 *1-02-1 desk solo *1-03-0 *interscene 1-03 *1-03-0 *1-04-00-dance *1-04-01 dark tables *interscene 1-04 *1-04-00-dance *1-04-01 dark tables *1-04-02 solo ada *1-04-10-after dance @@ -11,9 +12,9 @@ 1-08 cuba travopen *1-08-30-full *1-08-1 1-10 - intermission *1-10-0 *curtain house *2-01-0-dance 2-00 intermission *curtain house god *2-01-0-dance 2-01 *2-01-0-dance *2-01-01-solo *2-01-1-after dance *2-01-1-darker dance +2-03 luck *2-03-20-luck-l *2-03-20-luck-c *2-03-20-luck-r *2-03-20-luckcover 2-03 start *2-03-00-open dance *2-03-10-dialogue god *2-03-20-luckcover -2-03 luck *2-03-20-luck-l *2-03-20-luck-c *2-03-20-luck-r *2-03-20-luckcover 2-05 *2-05-0 *2-05-1-dream *2-05-2-boat *interscene -2-06 *2-06-0 *2-06-1-patio right *2-06-2 patio left *interscene +2-06 *2-06-0 patio right patio left *interscene colors col blue col gree col oran col red vitals house god *curtain phone booth