changeset 36:d07b3a20c48e

subeditor begins to work
author drewp
date Sun, 07 Jul 2002 12:15:34 +0000
parents 3cbe7110d8f7
children 115636cca107
files light8/Subs.py
diffstat 1 files changed, 17 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/light8/Subs.py	Sun Jul 07 12:11:42 2002 +0000
+++ b/light8/Subs.py	Sun Jul 07 12:15:34 2002 +0000
@@ -164,7 +164,8 @@
     # no setstate needed
 
 class Sub:
-    def __init__(self, levels, dimmers=68, color=None):
+    def __init__(self, name, levels, dimmers=68, color=None):
+        self.name = name # keep this consistent please
         self.levels = levels
         self.dimmers = dimmers # needed?
         self.is_effect = callable(self.levels)
@@ -190,6 +191,7 @@
     def set_state(self, statedict):
         self.__dict__.update(statedict)
     def get_levels(self, level):
+        """returns a scaled version of the levels in the sub; channel names are resolved to numbers"""
         d = {}
         if level == 0: 
             self.slideradjuster.atzero = 1
@@ -202,6 +204,17 @@
         return dict([(get_dmx_channel(ch), float(lev) * float(level)) 
             for ch, lev in d.items()])
 
+    #
+    # methods for Subediting to use
+    #
+    def getlevels(self):
+        return self.levels.copy()
+    def reviselevels(self,levels):
+        # we can accept these new levels; subediting has done all the work
+        self.levels.update(levels)
+                
+    
+
 def reload_data(dummy):
     global subs
     if dummy:
@@ -218,6 +231,8 @@
         else:
             color = None
 
-        subs[name] = Sub(levels, color=color)
+        subs[name] = Sub(name, levels, color=color)
 
     # subs = dict([(name, Sub(levels)) for name, levels in Config.subs.items()])
+def longestsubname():
+    return max([len(x) for x in subs.keys()])