comparison light8/Cue.py @ 54:3011c1028eb7

Cue math error fixed. Cue math error fixed. Bad cues in ConfigDummy fixed, not fixed in Config yet. Cue fader back in rsn. Oh yeah.
author dmcc
date Mon, 08 Jul 2002 15:50:00 +0000
parents 032b2b67bc10
children e5d14320fbd5
comparison
equal deleted inserted replaced
53:032b2b67bc10 54:3011c1028eb7
27 for f_chan in fade.channels_involved(): 27 for f_chan in fade.channels_involved():
28 c[f_chan] = 1 28 c[f_chan] = 1
29 return c.keys() 29 return c.keys()
30 def start(self, levels, time): 30 def start(self, levels, time):
31 'Mark the beginning of a cue' 31 'Mark the beginning of a cue'
32 # print "cue marked with", levels
32 self.init_levels = levels 33 self.init_levels = levels
33 self.init_time = time 34 self.init_time = time
34 35
35 for fade in self.fades: 36 for fade in self.fades:
36 subdict = subsetdict(levels, fade.channels_involved()) 37 subdict = subsetdict(levels, fade.channels_involved())
54 55
55 class Fade(Cue): 56 class Fade(Cue):
56 'See Cue.__doc__' 57 'See Cue.__doc__'
57 def __init__(self, channel, starttime, dur=None, endlevel=0, param=None): 58 def __init__(self, channel, starttime, dur=None, endlevel=0, param=None):
58 'Fades are simple Cues' 59 'Fades are simple Cues'
59 Cue.__init__(self, "%s -> %f" % (channel, endlevel), starttime, dur) 60 Cue.__init__(self, "%s -> %.1f" % (channel, endlevel), starttime, dur)
60 self.channel = channel 61 self.channel = channel
61 self.endlevel = endlevel 62 self.endlevel = endlevel
62 self.dur = dur 63 self.dur = dur
63 self.param = param 64 self.param = param
64 def start(self, levels, time): 65 def start(self, levels, time):
65 'Mark the beginning of the fade' 66 'Mark the beginning of the fade'
67 # print "fade", self.name, "marked with", levels
66 self.init_levels = levels 68 self.init_levels = levels
67 self.init_level = levels[self.channel] 69 self.init_level = levels[self.channel]
68 self.init_time = time 70 self.init_time = time
69 def channels_involved(self): 71 def channels_involved(self):
70 'Speaks for itself, I hope' 72 'Speaks for itself, I hope'
74 if elapsed <= self.starttime: 76 if elapsed <= self.starttime:
75 return self.init_levels 77 return self.init_levels
76 elif elapsed >= self.endtime: 78 elif elapsed >= self.endtime:
77 return {self.channel : self.endlevel} 79 return {self.channel : self.endlevel}
78 else: 80 else:
79 percent = float(elapsed) / self.dur 81 percent = float((curtime - self.init_time) - self.starttime) / \
82 self.dur
80 return {self.channel : self.init_level + 83 return {self.channel : self.init_level +
81 percent * (self.endlevel - self.init_level)} 84 percent * (self.endlevel - self.init_level)}
82 def get_end_levels(self): 85 def get_end_levels(self):
83 return {self.channel : self.endlevel} 86 return {self.channel : self.endlevel}
84 87