diff --git a/light8/Subs.py b/light8/Subs.py --- a/light8/Subs.py +++ b/light8/Subs.py @@ -13,10 +13,8 @@ class Param: # abstract def draw_tk(self, frame): pass def __getstate__(self): - print "get_state:", self.get_value() return {'value' : self.get_value()} def __setstate__(self, dict): - print "set_state to", dict self.value = StringVar() self.set_value(dict['value']) @@ -196,7 +194,7 @@ class Sub: if level == 0: self.slideradjuster.atzero = 1 return d - if self.is_effect: + if self.is_effect: # effect d = self.generator.next() self.slideradjuster.atzero = 0 else: # dictionary (standard) diff --git a/light8/io.py b/light8/io.py --- a/light8/io.py +++ b/light8/io.py @@ -1,21 +1,14 @@ - - from parport import * -DUMMY=1 - -def init(DUMMY_in): - global DUMMY - if not DUMMY_in: - - getparport() - DUMMY=0 - -def sendlevels(levels): - if DUMMY: return - levels = list(levels) + [0] - if levels[14] > 0: levels[14] = 100 - # print "levels", ' '.join(["%3.1f" % l for l in levels]) - outstart() - for p in range(1,70): - outbyte(levels[p-1]*255/100) +class ParportDMX: + def __init__(self, dummy=1, dimmers=68): + self.dummy = dummy + if not dummy: + getparport() + def sendlevels(self, levels): + if self.dummy: return + levels = list(levels) + [0] + # if levels[14] > 0: levels[14] = 100 # non-dim + outstart() + for p in range(1, dimmers + 2): + outbyte(levels[p-1]*255 / 100) diff --git a/light8/rsn.py b/light8/rsn.py --- a/light8/rsn.py +++ b/light8/rsn.py @@ -36,7 +36,7 @@ def get_data(*args): get_data() -io.init(DUMMY) +parportdmx = io.ParportDMX(DUMMY) class Lightboard: def __init__(self, master): @@ -112,7 +112,7 @@ class Lightboard: self.oldlevels = levels[:] - io.sendlevels(levels) + parportdmx.sendlevels(levels) def load(self): try: @@ -136,10 +136,10 @@ class Lightboard: print "IOError: Couldn't load prefs (%s)" % filename except EOFError: print "EOFrror: Couldn't load prefs (%s)" % filename - + except: + print "BigTrouble: Couldn't load prefs (%s)" % filename def make_sub(self, name): i = 1 - # name = console_entry.get() # read from console if not name: print "Enter sub name in console." return @@ -188,13 +188,11 @@ class Pickles: for name, lev in scalelevels.items()]) self.substate = dict([(name, subobj.get_state()) for name, subobj in subs]) + # print "substate", self.substate mr_lightboard = Lightboard(root) signal(SIGINT, mr_lightboard.quit) bindkeys(root,'', mr_lightboard.quit) -# bindkeys(root,'', quit) -# bindkeys(root,'', refresh) -# bindkeys(root,'', make_sub) root.mainloop() # Receiver switches main