Changeset - f595fdd4c548
[Not reviewed]
default
0 3 0
dmcc - 22 years ago 2002-07-07 10:41:06

minor cleanups, convert parallel port controller to a class
3 files changed with 14 insertions and 25 deletions:
0 comments (0 inline, 0 general)
light8/Subs.py
Show inline comments
 
@@ -10,16 +10,14 @@ class Param: # abstract
 
        pass
 
    def set_value(self, v):
 
        pass
 
    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'])
 

	
 
class CheckboxParam(Param):
 
    def __init__(self, initial=0):
 
        self.value = IntVar()
 
@@ -193,13 +191,13 @@ class Sub:
 
        self.__dict__.update(statedict)
 
    def get_levels(self, level):
 
        d = {}
 
        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)
 
            d = self.levels
 
        return dict([(get_dmx_channel(ch), float(lev) * float(level)) 
 
            for ch, lev in d.items()])
light8/io.py
Show inline comments
 

	
 

	
 
from parport import *
 

	
 
DUMMY=1
 

	
 
def init(DUMMY_in):
 
    global DUMMY
 
    if not DUMMY_in:
 
        
 
class ParportDMX:
 
    def __init__(self, dummy=1, dimmers=68):
 
        self.dummy = dummy
 
        if not dummy:
 
        getparport()
 
        DUMMY=0
 

	
 
def sendlevels(levels):
 
    if DUMMY: return
 
    def sendlevels(self, levels):
 
        if self.dummy: return
 
    levels = list(levels) + [0]
 
    if levels[14] > 0: levels[14] = 100
 
    # print "levels", ' '.join(["%3.1f" % l for l in levels])
 
        # if levels[14] > 0: levels[14] = 100 # non-dim
 
    outstart()
 
    for p in range(1,70):
 
        for p in range(1, dimmers + 2):
 
        outbyte(levels[p-1]*255/100)
light8/rsn.py
Show inline comments
 
@@ -33,13 +33,13 @@ def get_data(*args):
 
    Patch.reload_data(DUMMY)
 
    print "Patch:", Patch.patch
 
    print "Subs:", ', '.join(Subs.subs.keys())
 

	
 
get_data()
 

	
 
io.init(DUMMY)
 
parportdmx = io.ParportDMX(DUMMY)
 

	
 
class Lightboard:
 
    def __init__(self, master):
 
        self.master = master
 

	
 
        self.channel_levels = []
 
@@ -109,13 +109,13 @@ class Lightboard:
 
            if lev != oldlev:
 
                lab.config(text="%d" % lev)
 
                colorlabel(lab)
 

	
 
        self.oldlevels = levels[:]
 
            
 
        io.sendlevels(levels)
 
        parportdmx.sendlevels(levels)
 

	
 
    def load(self):
 
        try:
 
            filename = '/tmp/light9.prefs'
 
            if DUMMY:
 
                filename += '.dummy'
 
@@ -133,16 +133,16 @@ class Lightboard:
 
                except:
 
                    print "Couldn't set sub %s state" % name
 
        except IOError:
 
            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
 

	
 
        st = ''
 
        linebuf = 'subs["%s"] = {' % name
 
@@ -185,16 +185,14 @@ class Lightboard:
 
class Pickles:
 
    def __init__(self, scalelevels, subs=None):
 
        self.scalelevels = dict([(name, lev.get()) 
 
            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,'<Escape>', mr_lightboard.quit)
 

	
 
# bindkeys(root,'<q>', quit)
 
# bindkeys(root,'<r>', refresh)
 
# bindkeys(root,'<s>', make_sub)
 
root.mainloop() # Receiver switches main
0 comments (0 inline, 0 general)