changeset 63:e5d14320fbd5

SimpleCues created (took 7 minutes or so)
author dmcc
date Tue, 09 Jul 2002 08:48:44 +0000
parents 2f2eb802e93d
children 871da71fc254
files light8/Cue.py
diffstat 1 files changed, 30 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/light8/Cue.py	Tue Jul 09 08:35:27 2002 +0000
+++ b/light8/Cue.py	Tue Jul 09 08:48:44 2002 +0000
@@ -1,6 +1,6 @@
 """And that's my cue to exit(0)..."""
 from time import time
-from util import subsetdict
+from util import subsetdict, scaledict
 
 class Cue:
     """Cues are groups of fades.  They can tell you the current levels at a 
@@ -85,6 +85,35 @@
     def get_end_levels(self):
         return {self.channel : self.endlevel}
 
+class SimpleCue(Cue):
+    'See Cue.__doc__'
+    def __init__(self, name, target, dur, **info):
+        Cue.__init__(self, name, 0, dur)
+        self.target = target
+        self.dur = dur
+        self.info = info
+    def start(self, levels, time):
+        'Mark the beginning of the fade'
+        self.init_levels = levels
+        self.init_time = time
+    def channels_involved(self):
+        'Speaks for itself, I hope'
+        return self.target.keys()
+    def get_levels(self, curtime):
+        elapsed = curtime - self.init_time
+        if elapsed >= self.endtime:
+            return self.target
+        else:
+            percent = float((curtime - self.init_time) - self.starttime) / \
+                        self.dur
+            return dict([(n, self.init_levels[n] + 
+                percent * (lev - self.init_levels[n]))
+                    for n, lev in self.target])
+            # return {self.channel : self.init_level + 
+                # percent * (self.endlevel - self.init_level)}
+    def get_end_levels(self):
+        return self.target
+
 if __name__ == '__main__':
     f1 = Fade('red', 0, 2, 100)
     f2 = Fade('green', 1, 3, 50)