comparison flax/TheShow2.py @ 206:851cf44cea40

rename clientid and allow it as an argument
author drewp
date Sun, 10 Apr 2005 15:13:48 +0000
parents
children
comparison
equal deleted inserted replaced
205:3905d3c92aaa 206:851cf44cea40
1 from Timeline import *
2 <<<<<<< TheShow.py
3 from Submaster import Submasters
4 from Show import *
5 =======
6 from Submaster import Submasters, sub_maxes
7
8 class Show:
9 def __init__(self, timelines, submasters):
10 self.timelines = dict([(timeline.name, timeline)
11 for timeline in timelines])
12 self.submasters = submasters
13 self.current_timeline = None
14 self.current_time = 0
15 try:
16 self.current_timeline = timelines[0]
17 except ValueError:
18 pass
19 def calc_active_submaster(self):
20 "get levels from the current timeline at the current time"
21 if not (self.current_timeline or self.current_time):
22 return {}
23 tl = self.current_timeline
24 tl.set_time(self.current_time)
25 levels = tl.get_levels()
26 scaledsubs = [self.submasters.get_sub_by_name(sub) * level \
27 for sub, level in levels.items()]
28 maxes = sub_maxes(*scaledsubs)
29
30 return maxes
31 def set_timeline(self, name):
32 "select a timeline"
33 self.current_timeline = self.timelines.get(name)
34 self.set_time(0)
35 if not self.current_timeline:
36 print "Show: '%s' is not the same of a timeline."
37 def set_time(self, time):
38 "set time of current timeline"
39 self.current_time = time
40 self.current_timeline.set_time(time)
41 def get_timelines(self):
42 "Get names of all timelines"
43 return self.timelines.keys()
44
45 # this is the default blender
46 linear = LinearBlender()
47 def T(time, level, **kw):
48 """This used to be a synonym for TimedEvent:
49
50 T = TimedEvent
51
52 It now acts in a similar way, except that it will fill in a default
53 blender if you don't. The default blender is a LinearBlender. It also
54 sets frame to MISSING so the track can fill it in."""
55 if 'blender' not in kw:
56 global linear
57 kw['blender'] = linear
58
59 return TimedEvent(time, level=level, frame=MISSING, **kw)
60 >>>>>>> 1.2
61
62 quad = ExponentialBlender(2)
63 invquad = ExponentialBlender(0.5)
64 smoove = SmoothBlender()
65 strobe = Strobe(ontime=0.25, offtime=0.25)
66 lightningstrobe = Strobe(ontime=0.1, offtime=0.15, onlevel=1, offlevel=0.02)
67 changeatend = InstantEnd()
68 changeatstart = InstantStart()
69 sine_7s = Sine(7)
70 sine_5s = Sine(5)
71 randomstrobe = RandomStrobe(1000, 0.1, 1)
72
73 def make_lighting_track(ltime, sub='upfill'):
74 ltime -= 0.1
75 return TimelineTrack('lightning',
76 T(ltime - 1.6, 0, blender=changeatend),
77 T(ltime - 1.5, 1, blender=lightningstrobe),
78 T(ltime - 0.5, 0),
79 default_frame=sub)
80
81 # 01 207.046
82 song01 = Timeline('song01', [
83 TimelineTrack('main fade',
84 T(0, 0),
85 T(2, 1),
86 T(207.046, 1),
87 T(217, 1),
88 T(222, 0),
89 default_frame='song01'),
90 TimelineTrack('frontwhite',
91 T(-2, 0),
92 T(0, 0),
93 T(200.046, 0),
94 T(204, 1),
95 T(217, 1),
96 T(222, 0),
97 default_frame='frontwhite')
98 ])
99
100 # 02 151.327
101 song02 = Timeline('song02', translate_tracks_from_file('song02'))
102
103 # 03 152.946
104 song03 = Timeline('song03', translate_tracks_from_file('song03'))
105
106 # 04 255.529
107 song04 = Timeline('song04', [
108 TimelineTrack('main fade',
109 T(-2, 0),
110 T(8, 1),
111 T(255.529, 1),
112 T(265, 1),
113 T(270, 0),
114 default_frame='song04'),
115 TimelineTrack('frontwhite',
116 T(244, 0),
117 T(248, 1),
118 T(265.5, 1),
119 T(270.5, 0),
120 default_frame='frontwhite'),
121 ])
122
123 # 05 241.162
124 song05 = Timeline('song05', [
125 # TimelineTrack('main fade',
126 # T(-2, 0),
127 # T(0, 1),
128 # T(241.162, 1),
129 # T(251, 1),
130 # T(256, 0),
131 # default_frame='song05'),
132 ])
133 # 226-230 DELETED!!!!!
134
135 # 06 145.005
136 song06 = Timeline('song06', translate_tracks_from_file('song06'))
137
138 # 07 461.923
139 # song07main = TimelineTrack('main fade',
140 # T(-2, 0),
141 # T(0, 0.6),
142 # T(461.923, 0.6),
143 # T(471, 1),
144 # T(476, 0),
145 # default_frame='song07')
146
147 song07 = Timeline('song07', translate_tracks_from_file('song07'))
148
149 # 08 200.097
150 #song08main = TimelineTrack('main fade',
151 #T(-2, 0),
152 #T(0, 0.6),
153 #T(200.097, 0.6),
154 ##T(210, 1),
155 #T(215, 0),
156 #default_frame='song08')
157
158 # song08 = Timeline('song08',
159 # [song08main,
160 # translate_tracks_from_file('song08')])
161 song08 = Timeline('song08', [])
162
163 song09 = Timeline('song09', translate_tracks_from_file('song09'))
164 song10 = Timeline('song10', translate_tracks_from_file('song10'))
165 song11 = Timeline('song11', translate_tracks_from_file('song11'))
166 song12 = Timeline('song12', translate_tracks_from_file('song12'))
167 song13 = Timeline('song13', translate_tracks_from_file('song13'))
168 song14 = Timeline('song14', translate_tracks_from_file('song14'))
169 song15 = Timeline('song15', translate_tracks_from_file('song15'))
170 song16 = Timeline('song16', translate_tracks_from_file('song16'))
171
172 flashstart = 184
173 flashend = 204
174
175 song17 = Timeline('song17', translate_tracks_from_file('song17') +
176 [
177 TimelineTrack('kicking flashes',
178 T(flashstart, 0, blender=RandomStrobe()),
179 T(flashend, 0), default_frame='red'),
180 TimelineTrack('kicking flashes',
181 T(flashstart, 0, blender=RandomStrobe()),
182 T(flashend, 0), default_frame='frontwhite')
183 ])
184
185 song18 = Timeline('song18', [])
186 # translate_tracks_from_file('song18') + [
187 # make_lighting_track(12),
188 # ])
189
190 # 19 324.675
191 song19 = Timeline('song19', [
192 # TimelineTrack('main fade',
193 # T(-2, 0),
194 # T(0, 1),
195 # T(324.675, 1),
196 # T(334, 1),
197 # T(339, 0),
198 # default_frame='song19'),
199 TimelineTrack('bl',
200 T(-0.01, 0),
201 T(0, 1),
202 T(80, 1),
203 T(80.01, 0),
204 T(300, 0),
205 T(300.01, 1),
206 T(333, 1),
207 T(333.01, 0),
208 default_frame='blacklight'),
209 TimelineTrack('sill',
210 T(-0.01, 0),
211 T(0, 0.4),
212 T(74, 0.4),
213 T(76, 0),
214 T(197, 0),
215 T(197.01, 1),
216 T(201, 1),
217 T(202, 0),
218 default_frame='sill'),
219 TimelineTrack('frontwhite',
220 T(0, 0),
221 T(46, 0),
222 T(50, 0.35),
223 T(74, 0.35),
224 T(76, 0),
225 T(79, 0),
226 T(82, 0.5),
227 T(152, 0.5),
228 T(154, 0.7, blender=changeatend),
229 T(197, 0),
230 T(200, 0),
231 T(202, 0.6),
232 T(263, 0.6),
233 T(265, 0.8),
234 T(324, 0.8),
235 T(328, 1.0),
236 T(334.7, 1.0),
237 T(339.7, 0.0),
238 default_frame='frontwhite'),
239 TimelineTrack('house',
240 T(0, 0),
241 T(263, 0),
242 T(273, 0.5),
243 T(320, 0.5),
244 T(325, 0),
245 default_frame='house'),
246 TimelineTrack('fx blue',
247 T(-2, 0),
248 T(0, 0.5),
249 T(50, 0.5),
250 T(70, 0),
251 default_frame='blue'),
252 make_lighting_track(5),
253 make_lighting_track(20),
254 make_lighting_track(26),
255 make_lighting_track(31),
256 make_lighting_track(36),
257 # make_lighting_track(75), # problems
258 make_lighting_track(88),
259 make_lighting_track(92),
260 # make_lighting_track(136), # problems
261 make_lighting_track(140.511),
262 make_lighting_track(168.568),
263 make_lighting_track(176.875),
264 make_lighting_track(219.219),
265 make_lighting_track(265.169),
266 make_lighting_track(268.277),
267 make_lighting_track(271.987),
268 make_lighting_track(275.566),
269 make_lighting_track(279.066),
270 make_lighting_track(282.54),
271 make_lighting_track(286.145),
272 make_lighting_track(293.721),
273 make_lighting_track(300.408),
274 make_lighting_track(303.987),
275
276 ])
277
278 randomstrobetest = Timeline('strobing', [
279 TimelineTrack('whatever1',
280 T(0, 1, blender=RandomStrobe()),
281 T(600, 1), default_frame='red'),
282 TimelineTrack('whatever2',
283 T(0, 1, blender=RandomStrobe()),
284 T(600, 1), default_frame='blue'),
285 TimelineTrack('whatever3',
286 T(0, 1, blender=RandomStrobe()),
287 T(600, 1), default_frame='green')
288 ])
289
290 show = Show([
291 song01,
292 song02,
293 song03,
294 song04,
295 song05,
296 song06,
297 song07,
298 song08,
299 song09,
300 song10,
301 song11,
302 song12,
303 song13,
304 song14,
305 song15,
306 song16,
307 song17,
308 song18,
309 song19,
310 randomstrobetest,
311 ], Submasters())