comparison light8/Cue.py @ 63:e5d14320fbd5

SimpleCues created (took 7 minutes or so)
author dmcc
date Tue, 09 Jul 2002 08:48:44 +0000
parents 3011c1028eb7
children
comparison
equal deleted inserted replaced
62:2f2eb802e93d 63:e5d14320fbd5
1 """And that's my cue to exit(0)...""" 1 """And that's my cue to exit(0)..."""
2 from time import time 2 from time import time
3 from util import subsetdict 3 from util import subsetdict, scaledict
4 4
5 class Cue: 5 class Cue:
6 """Cues are groups of fades. They can tell you the current levels at a 6 """Cues are groups of fades. They can tell you the current levels at a
7 given time. They contain Fades, which are actually children of Cue, 7 given time. They contain Fades, which are actually children of Cue,
8 meaning that Cues can contain Cues. This is similar to the Light9 concept 8 meaning that Cues can contain Cues. This is similar to the Light9 concept
83 return {self.channel : self.init_level + 83 return {self.channel : self.init_level +
84 percent * (self.endlevel - self.init_level)} 84 percent * (self.endlevel - self.init_level)}
85 def get_end_levels(self): 85 def get_end_levels(self):
86 return {self.channel : self.endlevel} 86 return {self.channel : self.endlevel}
87 87
88 class SimpleCue(Cue):
89 'See Cue.__doc__'
90 def __init__(self, name, target, dur, **info):
91 Cue.__init__(self, name, 0, dur)
92 self.target = target
93 self.dur = dur
94 self.info = info
95 def start(self, levels, time):
96 'Mark the beginning of the fade'
97 self.init_levels = levels
98 self.init_time = time
99 def channels_involved(self):
100 'Speaks for itself, I hope'
101 return self.target.keys()
102 def get_levels(self, curtime):
103 elapsed = curtime - self.init_time
104 if elapsed >= self.endtime:
105 return self.target
106 else:
107 percent = float((curtime - self.init_time) - self.starttime) / \
108 self.dur
109 return dict([(n, self.init_levels[n] +
110 percent * (lev - self.init_levels[n]))
111 for n, lev in self.target])
112 # return {self.channel : self.init_level +
113 # percent * (self.endlevel - self.init_level)}
114 def get_end_levels(self):
115 return self.target
116
88 if __name__ == '__main__': 117 if __name__ == '__main__':
89 f1 = Fade('red', 0, 2, 100) 118 f1 = Fade('red', 0, 2, 100)
90 f2 = Fade('green', 1, 3, 50) 119 f2 = Fade('green', 1, 3, 50)
91 f3 = Fade('blue', 0, 4, 0) 120 f3 = Fade('blue', 0, 4, 0)
92 f4 = Fade('clear', 0, 8, 75) 121 f4 = Fade('clear', 0, 8, 75)