Mercurial > code > home > repos > light9
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) |