comparison light8/ConfigDummy.py @ 64:871da71fc254

new config with a sub for each look
author drewp
date Tue, 09 Jul 2002 08:52:52 +0000
parents 3011c1028eb7
children 70bd142d72c2
comparison
equal deleted inserted replaced
63:e5d14320fbd5 64:871da71fc254
2 from time import time 2 from time import time
3 from __future__ import generators,division 3 from __future__ import generators,division
4 from Subs import * 4 from Subs import *
5 from Cue import * 5 from Cue import *
6 6
7 f1 = Fade('col blue', 0, 2, 1) 7 from Configeffects import *
8 f2 = Fade('col gree', 1, 3, .50) 8
9 f3 = Fade('col oran', 0, 4, 0) 9 f1 = Fade('bogus sub, i hope', 0, 2, 0.1)
10 f4 = Fade('col red', 0, 8, .75)
11
12 g1 = Fade('col blue', 1, 2, .20)
13 g2 = Fade('col gree', 0, 4, .10)
14 g3 = Fade('cyc', 1, 5, .20)
15 g4 = Fade('god', 0, 4, .15)
16
17 r1 = Fade('col blue', 0, 2, 0)
18 r2 = Fade('col gree', 1, 3, .10)
19 r3 = Fade('col oran', 0, 4, .6)
20 r4 = Fade('col red', 0, 8, .15)
21 r5 = Fade('cyc', 1, 5, .90)
22 r6 = Fade('god', 0, 8, .75)
23 10
24 cues = [ 11 cues = [
25 Cue("This", 0, 10, f1, f2, f3, f4), 12 Cue("Seat filler", 0, 10, f1),
26 Cue("That", 0, 5, g1, g2, g3, g4),
27 Cue("The other", 1, 7, f1, g2, g3, f4),
28 Cue("Reset", 1, 9, r1, r2, r3, r4, r5, r6),
29 ] 13 ]
30 14
31 patch = { 15 patch = {
32 16
33 ('side l','sidepost1') : 45, # posts 17 ('side l','sidepost1') : 45, # posts
87 def fulls(chans): 71 def fulls(chans):
88 # pass a list or multiple args 72 # pass a list or multiple args
89 return dict([(c,FL) for c in chans]) 73 return dict([(c,FL) for c in chans])
90 def levs(chans,levs): 74 def levs(chans,levs):
91 return dict([(c,v) for c,v in zip(chans,levs)]) 75 return dict([(c,v) for c,v in zip(chans,levs)])
92
93 def strobe(params, slideradjuster):
94 patterns = {
95 'blue' : fulls((23,27,31,35,'b0 4 b','b2 3 b')),
96 'cyc' : {42:FL,43:FL},
97 'scp all' : fulls((13,16,18,19,39)),
98 '1-5' : fulls(range(1, 6)),
99 }
100 params.add_param('offtime',SliderParam(range=(0.1,0.3), res=0.001,
101 initial=0.11, length=100))
102 params.add_param('ontime',SliderParam(range=(0.0,0.8), res=0.001,
103 length=100))
104 params.add_param('pattern',ListParam(patterns.keys()))
105 params.add_param('current',LabelParam('none'))
106 params.add_param('count',SliderParam(range=(0, 10), res=1, initial=0))
107 lastchanged = time()
108 state = 0
109 blinkcounter = 0
110 my_pattern = None
111
112 while 1:
113 if params['count'] and blinkcounter > params['count']:
114 blinkcounter = 0
115 slideradjuster.set(0)
116
117 if params['pattern'] != None:
118 params['current'] = params['pattern']
119 my_pattern = params['pattern']
120
121 if state == 0:
122 delay = params['offtime']
123 else:
124 delay = params['ontime']
125
126 if time() > (lastchanged + delay):
127 # ready for change
128 state = not state
129 lastchanged = time()
130 blinkcounter += 0.5
131
132 try: # protect against keyerrors (and possibly everything else)
133 if state:
134 yield patterns[my_pattern]
135 else:
136 yield scaledict(patterns[my_pattern], .1)
137 except:
138 yield {}
139
140 def chase(params, slideradjuster):
141 patterns = {
142 'all': ( fulls(('b01','b21')),
143 fulls(('b02','b22')),
144 fulls(('b03','b23')),
145 fulls(('b04','b24')),
146 fulls(('b05','b25')),
147 fulls(('b06','b26')),
148 ),
149 'red':( fulls(('b0 1 r','b2 2 r')),
150 fulls(('b0 5 r','b2 6 r'))),
151 'randcol':([fulls((x,)) for x
152 in ("b21 b23 b25 b03 b06 b24 b22 "+
153 "b24 b03 b23 b01 b04 b05 b22 "+
154 "b02 b02 b26 b21 b06 b25 b26 "+
155 "b01 b04 b05").split()]),
156 'ctrpong':[fulls((x,)) for x in (
157 "b11 b12 b13 b14 b15 b16 b15 b14 b13 b12".split())],
158 'l-r': ( fulls(('b01','b11','b21')),
159 fulls(('b02','b12','b22')),
160 fulls(('b03','b13','b23')),
161 fulls(('b04','b14','b24')),
162 fulls(('b05','b15','b25')),
163 fulls(('b06','b16','b26'))),
164 'flutter':(
165 fulls(('main 6','b15')),
166 fulls(('main 1','b12')),
167 fulls(('main 2','b11')),
168 fulls(('b12', 'main 3')),
169 fulls(('b15', 'main 9')),
170 fulls(('b16', 'main 4')),
171 fulls(('main 4','b13')),
172 fulls(('main 3','b11')),
173 fulls(('main 8','b15')),
174 fulls(('main 9','b12')),
175 fulls(('b11', 'main 1')),
176 fulls(('main 5','b15')),
177 fulls(('b13', 'main 6')),
178 fulls(('b14', 'main 2')),
179 fulls(('main 7','b16')),
180 ),
181 'randstage':([fulls((x,)) for x
182 in ("""
183 b22 27 b04 26 b26 21 28 b25 23 b02 31 b05 32 34 b03 24 b01 25
184 b23 29 22 35 30 b24 33 36 """).split()]),
185
186 }
187
188 params.add_param('steptime',SliderParam(range=(.1,3),
189 initial=.4,length=150))
190 params.add_param('overlap',SliderParam(range=(0,8),initial=1.5))
191 params.add_param('pattern',ListParam(options=patterns.keys(),
192 initial='all'))
193 params.add_param('current',LabelParam('none'))
194
195 steps=()
196
197 def fn(x):
198 warm=.1
199 # the _/\_ wave for each step. input 0..1, output 0..1
200 if x<0 or x>1:
201 return warm
202 if x<.5:
203 return warm+(1.0-warm)*(x*2)
204 else:
205 return warm+(1.0-warm)*(2-(x*2))
206
207 def stepbrightness(stepnum,numsteps,overlap,pos):
208 startpos = stepnum/numsteps
209 p=( (pos-startpos)*(1.0+overlap) )%1.0
210 ret=fn( p )
211 #print "step %(stepnum)i/%(numsteps)i pos %(pos)f ,p=%(p)f is %(ret)f" % locals()
212 return ret
213
214 queued=[] # list of steps, each step is starttime,stepcue
215 lastaddtime=time()-100
216 currentpattern='all'
217 steps=patterns[currentpattern]
218 stepsiter=iter(())
219 while 1:
220 params['current'] = params['pattern']
221
222 # changed pattern?
223 if params['pattern']!=currentpattern and params['pattern'] in patterns:
224 currentpattern=params['pattern']
225 steps=patterns[currentpattern]
226 stepsiter=iter(steps) # restart iterator
227
228 # time to put a new step in the queue?
229 if time()>lastaddtime+params['steptime']:
230 lastaddtime=time()
231 try:
232 nextstep = stepsiter.next()
233 except StopIteration:
234 stepsiter=iter(steps)
235 nextstep=stepsiter.next()
236 queued.append( (time(),nextstep) )
237
238 # loop over queue, putting still-active (scaled) steps in shiftedsteps
239 keepers=[]
240 shiftedsteps=[]
241 for started,s in queued:
242 steptime = time()-started
243 finish = started+(1.0+params['overlap'])*params['steptime']
244 pos = (time()-started)/(finish-started)
245 if time()<finish:
246 keepers.append((started,s))
247 shiftedsteps.append( scaledict(s,fn(pos)) )
248
249 if len(keepers)>30:
250 print "too many steps in chase - dumping some"
251 queued=keepers[:20]
252 else:
253 queued=keepers
254
255
256 # pos=(time()%params['steptime'])/params['steptime'] # 0..1 animated variable
257 # shiftedsteps=[]
258 # for i,s in zip(range(0,len(steps)),steps):
259 # shiftedsteps.append( scaledict(s, stepbrightness(i,len(steps),params['overlap'],pos)) )
260 yield maxes(shiftedsteps)
261
262
263 def randomdimmer(params, slideradjuster):
264 params.add_param('magic', CheckboxParam())
265 params.add_param('cheese', TextParam())
266 params.add_param('stuff', ListParam(('a', 'b', 'c')))
267
268 curtime = time()
269 dim = 1
270 while 4:
271 if time() - curtime > 1:
272 dim = randrange(1, 64)
273 curtime = time()
274 yield {dim : 100, 20 : params.get_param_value('magic')}
275
276 76
277 subs = { 77 subs = {
278 ('house', 'black') : { 68:100 }, 78 ('house', 'black') : { 68:100 },
279 ('col oran', '#EEEE99'):fulls('oran1 oran2 oran3 oran4'.split()), 79 ('col oran', '#EEEE99'):fulls('oran1 oran2 oran3 oran4'.split()),
280 ('col red', 'red'):fulls('red1 red2 red3 red4'.split()), 80 ('col red', 'red'):fulls('red1 red2 red3 red4'.split()),
356 "b23" : 100, "desk1" : 53, "desk2" : 100, "b22" : 100, "hotbox2" : 85, 156 "b23" : 100, "desk1" : 53, "desk2" : 100, "b22" : 100, "hotbox2" : 85,
357 "hotbox1" : 25, "cycright" : 66, "b32" : 62, "upfill3" : 37, 157 "hotbox1" : 25, "cycright" : 66, "b32" : 62, "upfill3" : 37,
358 "upfill2" : 66, "main 3" : 57, "main 2" : 0, "main 5" : 70, "main 4" : 100, 158 "upfill2" : 66, "main 3" : 57, "main 2" : 0, "main 5" : 70, "main 4" : 100,
359 "main 7" : 100, "main 9" : 100, "main 8" : 100, "rock" : 52, 159 "main 7" : 100, "main 9" : 100, "main 8" : 100, "rock" : 52,
360 "marry2" : 100, "marry1" : 61, "cuba1" : 0, "cuba2" : 78,} 160 "marry2" : 100, "marry1" : 61, "cuba1" : 0, "cuba2" : 78,}
361 subs["*hotbox dance"] = { "red3" : 100, "sidefill2" : 46, "red1" : 100, 161
362 "cycright" : 19, "upfill3" : 32, "upfill2" : 46, "upfill1" : 26,
363 "red2" : 100, "side l" : 46, "b25" : 46, "cycleft" : 19, "sidefill1" : 46,
364 "desk2" : 36, "b22" : 46, "phone" : 37, "hotbox1" : 46, "upfill4" : 26,
365 "b24" : 46, "side r" : 46, "main 11" : 46, "main 10" : 46, "main 3" : 46,
366 "main 2" : 46, "main 5" : 46, "main 4" : 46, "main 7" : 46, "hotbox2" : 46,
367 "main 9" : 46, "main 8" : 46, "red4" : 100, "b34" : 46, "edge" : 37,
368 "god" : 100, "marry2" : 46, "marry1" : 46,}
369 subs["*hotbox dance"] = { "cycright" : 19, "upfill3" : 32, "upfill2" : 46,
370 "upfill1" : 26, "sidefill2" : 0, "b25" : 0, "side l" : 46, "b23" : 0,
371 "desk1" : 0, "desk2" : 0, "upfill4" : 26, "side r" : 46, "main 11" : 46,
372 "main 10" : 46, "god" : 100, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0,
373 "marry2" : 0, "marry1" : 0, "cuba1" : 0, "cuba2" : 0, "b13" : 0,
374 "red3" : 100, "red2" : 100, "sidefill1" : 0, "b24" : 0, "red4" : 100,
375 "b34" : 30, "cycleft" : 19, "b32" : 43, "b22" : 0, "phone" : 0,
376 "hotbox1" : 42, "main 3" : 46, "main 2" : 46, "main 5" : 46,
377 "main 4" : 46, "main 7" : 100, "hotbox2" : 78, "main 9" : 46,
378 "main 8" : 46, "hotback" : 100, "rock" : 0, "red1" : 100,}
379 subs["*hotbox dance"] = { "cycright" : 19, "upfill3" : 32, "upfill2" : 46, 162 subs["*hotbox dance"] = { "cycright" : 19, "upfill3" : 32, "upfill2" : 46,
380 "upfill1" : 26, "sidefill2" : 0, "b25" : 0, "side l" : 46, "b23" : 0, 163 "upfill1" : 26, "sidefill2" : 0, "b25" : 0, "side l" : 46, "b23" : 0,
381 "desk1" : 0, "desk2" : 24, "upfill4" : 26, "side r" : 46, "main 11" : 46, 164 "desk1" : 0, "desk2" : 24, "upfill4" : 26, "side r" : 46, "main 11" : 46,
382 "main 10" : 100, "god" : 100, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0, 165 "main 10" : 100, "god" : 100, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0,
383 "marry2" : 0, "marry1" : 0, "cuba1" : 0, "cuba2" : 0, "b13" : 0, 166 "marry2" : 0, "marry1" : 0, "cuba1" : 0, "cuba2" : 0, "b13" : 0,
405 "red4" : 100, "b25" : 5, "b22" : 100, "desk2" : 58, "desk1" : 52, 188 "red4" : 100, "b25" : 5, "b22" : 100, "desk2" : 58, "desk1" : 52,
406 "hotbox2" : 0, "sidefill2" : 0, "main 3" : 47, "main 2" : 0, 189 "hotbox2" : 0, "sidefill2" : 0, "main 3" : 47, "main 2" : 0,
407 "main 5" : 0, "main 4" : 0, "main 7" : 0, "phone" : 0, "main 9" : 11, 190 "main 5" : 0, "main 4" : 0, "main 7" : 0, "phone" : 0, "main 9" : 11,
408 "main 8" : 0, "god" : 100, "edge" : 0, "rock" : 0, "marry2" : 0, 191 "main 8" : 0, "god" : 100, "edge" : 0, "rock" : 0, "marry2" : 0,
409 "marry1" : 0, "hotback" : 0, "cuba1" : 0, "cuba2" : 0,} 192 "marry1" : 0, "hotback" : 0, "cuba1" : 0, "cuba2" : 0,}
410 subs["*ext mission"] = { "sidefill2" : 100, "sidefill1" : 100, 193
411 "cycright" : 41, "upfill3" : 69, "upfill2" : 100, "upfill1" : 56,
412 "side l" : 100, "b25" : 100, "cycleft" : 41, "b22" : 100, "desk2" : 78,
413 "phone" : 80, "hotbox1" : 100, "upfill4" : 56, "b24" : 100, "side r" : 100,
414 "main 11" : 100, "main 10" : 100, "main 3" : 100, "main 2" : 100,
415 "main 5" : 100, "main 4" : 100, "main 7" : 100, "hotbox2" : 100,
416 "main 9" : 100, "main 8" : 100, "b34" : 100, "edge" : 80, "god" : 100,
417 "marry2" : 100, "marry1" : 100,}
418 subs["*ext mission"] = { "sidefill2" : 100, "sidefill1" : 59, 194 subs["*ext mission"] = { "sidefill2" : 100, "sidefill1" : 59,
419 "cycright" : 53, "upfill3" : 0, "upfill2" : 0, "upfill1" : 0, 195 "cycright" : 53, "upfill3" : 0, "upfill2" : 0, "upfill1" : 0,
420 "b34" : 100, "b25" : 100, "side l" : 100, "b23" : 100, "b22" : 49, 196 "b34" : 100, "b25" : 100, "side l" : 100, "b23" : 100, "b22" : 49,
421 "b32" : 80, "phone" : 0, "hotbox1" : 0, "upfill4" : 0, "b24" : 100, 197 "b32" : 80, "phone" : 0, "hotbox1" : 0, "upfill4" : 0, "b24" : 100,
422 "desk2" : 78, "main 11" : 100, "main 10" : 100, "main 3" : 0, 198 "desk2" : 78, "main 11" : 100, "main 10" : 100, "main 3" : 0,
423 "main 2" : 100, "main 5" : 100, "main 4" : 0, "main 7" : 100, 199 "main 2" : 100, "main 5" : 100, "main 4" : 0, "main 7" : 100,
424 "hotbox2" : 100, "main 9" : 100, "main 8" : 100, "god" : 100, 200 "hotbox2" : 100, "main 9" : 100, "main 8" : 100, "god" : 100,
425 "cycleft" : 0, "edge" : 0, "b13" : 0, "rock" : 60, "marry2" : 100, 201 "cycleft" : 0, "edge" : 0, "b13" : 0, "rock" : 60, "marry2" : 100,
426 "marry1" : 0, "side r" : 100,} 202 "marry1" : 0, "side r" : 100,}
427 subs["*broadway night 1-7"] = { "sidefill2" : 37, "sidefill1" : 37, 203
428 "cycright" : 15, "upfill3" : 25, "upfill2" : 37, "upfill1" : 20,
429 "side l" : 37, "b25" : 37, "cycleft" : 15, "b22" : 37, "desk2" : 28,
430 "phone" : 29, "hotbox1" : 37, "upfill4" : 20, "b24" : 37, "side r" : 37,
431 "main 11" : 37, "main 10" : 37, "main 3" : 37, "main 2" : 37,
432 "main 5" : 37, "main 4" : 37, "main 7" : 37, "hotbox2" : 37,
433 "main 9" : 37, "main 8" : 37, "b34" : 37, "edge" : 29, "god" : 100,
434 "marry2" : 37, "marry1" : 37,}
435 subs["*broadway night 1-7"] = { "sidefill2" : 37, "sidefill1" : 37,
436 "upfill3" : 11, "upfill2" : 23, "b34" : 37, "b25" : 37, "b24" : 94,
437 "b23" : 100, "b22" : 61, "desk2" : 28, "hotbox2" : 37, "hotbox1" : 37,
438 "blue1" : 93, "main 11" : 37, "blue3" : 93, "blue2" : 93, "blue4" : 93,
439 "main 10" : 37, "main 3" : 25, "main 2" : 37, "main 5" : 37,
440 "main 4" : 37, "main 7" : 37, "main 9" : 37, "main 8" : 37, "edge" : 12,
441 "god" : 100, "marry2" : 37, "marry1" : 37,}
442 subs["*broadway night 1-7"] = { "sidefill2" : 37, "sidefill1" : 37,
443 "upfill3" : 11, "upfill2" : 23, "b34" : 37, "b25" : 37, "b24" : 94,
444 "b23" : 100, "b22" : 61, "desk2" : 0, "desk1" : 0, "hotbox2" : 37,
445 "hotbox1" : 0, "blue1" : 93, "main 11" : 37, "blue3" : 93, "blue2" : 93,
446 "blue4" : 93, "main 10" : 37, "main 3" : 25, "main 2" : 37, "main 5" : 37,
447 "main 4" : 37, "main 7" : 37, "main 9" : 37, "main 8" : 37, "edge" : 12,
448 "god" : 100, "marry2" : 37, "marry1" : 37,}
449 subs["*broadway night 1-7"] = { "sidefill2" : 37, "sidefill1" : 37, 204 subs["*broadway night 1-7"] = { "sidefill2" : 37, "sidefill1" : 37,
450 "upfill3" : 11, "upfill2" : 23, "b34" : 28, "b25" : 37, "b24" : 94, 205 "upfill3" : 11, "upfill2" : 23, "b34" : 28, "b25" : 37, "b24" : 94,
451 "b23" : 100, "b22" : 82, "desk2" : 0, "desk1" : 0, "hotbox2" : 11, 206 "b23" : 100, "b22" : 82, "desk2" : 0, "desk1" : 0, "hotbox2" : 11,
452 "hotbox1" : 0, "blue1" : 93, "main 11" : 37, "blue3" : 93, "blue2" : 93, 207 "hotbox1" : 0, "blue1" : 93, "main 11" : 37, "blue3" : 93, "blue2" : 93,
453 "blue4" : 93, "main 10" : 37, "main 3" : 25, "main 2" : 37, "main 5" : 37, 208 "blue4" : 93, "main 10" : 37, "main 3" : 25, "main 2" : 37, "main 5" : 37,
462 "desk2" : 100, "b22" : 100, "phone" : 100, "main 11" : 100, "main 10" : 100, 217 "desk2" : 100, "b22" : 100, "phone" : 100, "main 11" : 100, "main 10" : 100,
463 "main 3" : 100, "main 2" : 100, "main 5" : 100, "main 4" : 100, 218 "main 3" : 100, "main 2" : 100, "main 5" : 100, "main 4" : 100,
464 "main 7" : 100, "main 9" : 100, "main 8" : 100, "edge" : 100, 219 "main 7" : 100, "main 9" : 100, "main 8" : 100, "edge" : 100,
465 "god" : 100, "marry2" : 100, "marry1" : 100, "hotback" : 100, 220 "god" : 100, "marry2" : 100, "marry1" : 100, "hotback" : 100,
466 "cuba1" : 100, "cuba2" : 100,} 221 "cuba1" : 100, "cuba2" : 100,}
467 subs["*cuba love"] = { "sidefill2" : 0, "sidefill1" : 0, "upfill4" : 61, 222
468 "main 11" : 100, "main 10" : 100, "upfill1" : 61, "b25" : 100,
469 "b24" : 100, "b23" : 100, "b22" : 100, "desk2" : 0, "desk1" : 0,
470 "phone" : 0, "hotbox1" : 0, "upfill3" : 61, "upfill2" : 61, "main 3" : 0,
471 "main 2" : 100, "main 5" : 100, "main 4" : 100, "main 7" : 100,
472 "main 9" : 73, "main 8" : 100, "edge" : 0, "hotback" : 0, "marry2" : 0,
473 "marry1" : 0, "cuba1" : 0, "cuba2" : 0,}
474 subs["*cuba love"] = { "sidefill2" : 0, "sidefill1" : 0, "upfill4" : 0,
475 "main 11" : 28, "main 10" : 28, "upfill1" : 0, "b34" : 9, "b25" : 100,
476 "b24" : 59, "b23" : 59, "b22" : 100, "desk2" : 0, "desk1" : 0,
477 "phone" : 0, "hotbox1" : 0, "upfill3" : 43, "upfill2" : 43, "main 3" : 0,
478 "main 2" : 100, "main 5" : 16, "main 4" : 16, "main 7" : 0, "main 9" : 73,
479 "main 8" : 100, "edge" : 0, "marry2" : 9, "marry1" : 0, "hotback" : 0,
480 "cuba1" : 0, "cuba2" : 0,}
481 subs["*cuba love"] = { "sidefill2" : 0, "sidefill1" : 0, "upfill4" : 0,
482 "main 11" : 28, "main 10" : 28, "upfill1" : 0, "b34" : 9, "b25" : 100,
483 "b24" : 59, "b23" : 59, "b22" : 100, "desk2" : 0, "desk1" : 0,
484 "phone" : 0, "hotbox1" : 0, "upfill3" : 43, "upfill2" : 43, "main 3" : 0,
485 "main 2" : 100, "main 5" : 16, "main 4" : 16, "main 7" : 0, "main 9" : 65,
486 "main 8" : 74, "edge" : 0, "marry2" : 9, "marry1" : 0, "hotback" : 0,
487 "cuba1" : 0, "cuba2" : 0,}
488 subs["*cuba love"] = { "sidefill2" : 0, "sidefill1" : 0, "upfill4" : 0, 223 subs["*cuba love"] = { "sidefill2" : 0, "sidefill1" : 0, "upfill4" : 0,
489 "main 11" : 28, "main 10" : 28, "upfill1" : 0, "b34" : 9, "b25" : 100, 224 "main 11" : 28, "main 10" : 28, "upfill1" : 0, "b34" : 9, "b25" : 100,
490 "b24" : 59, "b23" : 59, "b22" : 100, "desk2" : 16, "desk1" : 0, 225 "b24" : 59, "b23" : 59, "b22" : 100, "desk2" : 16, "desk1" : 0,
491 "phone" : 0, "hotbox1" : 0, "upfill3" : 43, "upfill2" : 43, "main 3" : 28, 226 "phone" : 0, "hotbox1" : 0, "upfill3" : 43, "upfill2" : 43, "main 3" : 28,
492 "main 2" : 100, "main 5" : 16, "main 4" : 16, "main 7" : 0, "main 9" : 65, 227 "main 2" : 100, "main 5" : 16, "main 4" : 16, "main 7" : 0, "main 9" : 65,
518 "cycright" : 18, "main 11" : 34, "main 10" : 34, "upfill1" : 8, 253 "cycright" : 18, "main 11" : 34, "main 10" : 34, "upfill1" : 8,
519 "b34" : 34, "b25" : 34, "side l" : 34, "b23" : 34, "b22" : 16, 254 "b34" : 34, "b25" : 34, "side l" : 34, "b23" : 34, "b22" : 16,
520 "desk2" : 26, "hotbox2" : 34, "upfill4" : 8, "b24" : 34, "side r" : 34, 255 "desk2" : 26, "hotbox2" : 34, "upfill4" : 8, "b24" : 34, "side r" : 34,
521 "main 2" : 34, "main 5" : 34, "main 4" : 25, "main 7" : 34, "main 9" : 34, 256 "main 2" : 34, "main 5" : 34, "main 4" : 25, "main 7" : 34, "main 9" : 34,
522 "main 8" : 34, "rock" : 20, "god" : 100, "marry2" : 34, "cuba1" : 5,} 257 "main 8" : 34, "rock" : 20, "god" : 100, "marry2" : 34, "cuba1" : 5,}
523 subs["*2-2"] = { "b32" : 27, "sidefill2" : 34, "sidefill1" : 20, 258
524 "cycright" : 18, "main 11" : 34, "main 10" : 34, "upfill1" : 70,
525 "b34" : 34, "b25" : 34, "side l" : 34, "b23" : 34, "b22" : 16,
526 "desk2" : 26, "hotbox2" : 34, "upfill4" : 70, "b24" : 34, "side r" : 34,
527 "main 2" : 34, "main 5" : 34, "main 4" : 25, "main 7" : 34, "main 9" : 34,
528 "main 8" : 34, "rock" : 20, "god" : 100, "marry2" : 34, "cuba1" : 5,}
529 subs["*2-2"] = { "sidefill2" : 0, "sidefill1" : 0, "cycright" : 18,
530 "main 11" : 5, "main 10" : 5, "upfill1" : 70, "b34" : 34, "b25" : 71,
531 "side l" : 34, "b23" : 67, "b22" : 50, "b32" : 57, "desk1" : 0,
532 "hotbox2" : 59, "upfill4" : 70, "b24" : 67, "desk2" : 26, "main 3" : 0,
533 "main 2" : 5, "main 5" : 5, "main 4" : 0, "main 7" : 5, "main 9" : 5,
534 "main 8" : 5, "rock" : 20, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0,
535 "god" : 100, "marry2" : 50, "cuba1" : 0, "side r" : 34,}
536 subs["*sewer"] = { "main 10" : 71, "upfill4" : 100, "main 11" : 66,
537 "main 4" : 71, "upfill1" : 88, "main 8" : 71, "main 7" : 71,
538 "main 5" : 100, "hotbox1" : 88, "hotback" : 66, "marry2" : 66,
539 "upfill3" : 88, "marry1" : 66, "upfill2" : 100,}
540 subs["*2-2"] = { "sidefill2" : 0, "sidefill1" : 0, "cycright" : 18,
541 "main 11" : 5, "main 10" : 5, "upfill1" : 70, "b34" : 34, "b25" : 71,
542 "side l" : 34, "b23" : 67, "b22" : 50, "b32" : 57, "desk1" : 0,
543 "hotbox2" : 59, "upfill4" : 70, "b24" : 67, "desk2" : 26, "main 3" : 0,
544 "main 2" : 5, "main 5" : 56, "main 4" : 0, "main 7" : 5, "main 9" : 5,
545 "main 8" : 5, "rock" : 20, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0,
546 "god" : 100, "marry2" : 50, "cuba1" : 0, "side r" : 34,}
547 subs["*sewer"] = { "sidefill2" : 33, "sidefill1" : 33, "upfill4" : 10,
548 "upfill3" : 22, "main 10" : 48, "upfill1" : 14, "b25" : 16, "b24" : 19,
549 "b23" : 46, "b22" : 50, "hotbox1" : 0, "main 11" : 40, "upfill2" : 61,
550 "main 2" : 54, "main 5" : 20, "main 4" : 45, "main 7" : 0, "main 9" : 84,
551 "main 8" : 45, "hotback" : 40, "marry2" : 0, "marry1" : 0,}
552 subs["*sewer"] = { "sidefill2" : 33, "sidefill1" : 33, "upfill4" : 10,
553 "upfill3" : 22, "main 10" : 48, "upfill1" : 14, "b25" : 16, "b24" : 19,
554 "b23" : 64, "b22" : 50, "hotbox1" : 0, "main 11" : 40, "upfill2" : 61,
555 "main 2" : 54, "main 5" : 20, "main 4" : 45, "main 7" : 0, "main 9" : 84,
556 "main 8" : 45, "hotback" : 40, "sidepost1" : 31, "sidepost2" : 31,
557 "marry2" : 0, "marry1" : 0,}
558 subs["*sewer"] = { "sidefill2" : 33, "sidefill1" : 33, "upfill4" : 10, 259 subs["*sewer"] = { "sidefill2" : 33, "sidefill1" : 33, "upfill4" : 10,
559 "upfill3" : 22, "main 10" : 48, "upfill1" : 14, "b25" : 16, "b24" : 19, 260 "upfill3" : 22, "main 10" : 48, "upfill1" : 14, "b25" : 16, "b24" : 19,
560 "b23" : 64, "b22" : 50, "hotbox1" : 0, "main 11" : 40, "upfill2" : 61, 261 "b23" : 64, "b22" : 50, "hotbox1" : 0, "main 11" : 40, "upfill2" : 61,
561 "main 2" : 54, "main 5" : 20, "main 4" : 45, "main 7" : 0, "main 9" : 84, 262 "main 2" : 54, "main 5" : 20, "main 4" : 45, "main 7" : 0, "main 9" : 84,
562 "main 8" : 45, "hotback" : 40, "sidepost1" : 31, "sidepost2" : 31, 263 "main 8" : 45, "hotback" : 40, "sidepost1" : 31, "sidepost2" : 31,
563 "marry2" : 0, "marry1" : 0, "cuba1" : 59,} 264 "marry2" : 0, "marry1" : 0, "cuba1" : 59,}
564 subs["*marry"] = { "b32" : 23, "sidefill2" : 30, "sidefill1" : 17, 265
565 "cycright" : 15, "main 11" : 30, "main 10" : 30, "upfill1" : 48,
566 "b34" : 30, "b25" : 30, "side l" : 30, "b23" : 30, "b22" : 14,
567 "desk2" : 23, "hotbox2" : 30, "upfill4" : 48, "b24" : 30, "side r" : 30,
568 "main 3" : 30, "main 2" : 30, "main 5" : 30, "main 4" : 22, "main 7" : 30,
569 "main 9" : 30, "main 8" : 30, "rock" : 17, "edge" : 15, "god" : 100,
570 "marry2" : 30, "cuba1" : 4,}
571 subs["*marry"] = { "sidefill2" : 0, "sidefill1" : 0, "cycright" : 100,
572 "main 11" : 55, "main 10" : 55, "upfill1" : 48, "b34" : 30, "b25" : 0,
573 "side l" : 30, "b23" : 100, "b22" : 14, "b32" : 23, "main 4" : 0,
574 "hotbox2" : 43, "hotbox1" : 49, "upfill4" : 48, "b24" : 100,
575 "desk2" : 23, "patio2" : 0, "main 3" : 0, "main 2" : 30, "main 5" : 0,
576 "patio1" : 0, "main 7" : 30, "phone" : 0, "main 9" : 30, "main 8" : 0,
577 "rock" : 17, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0, "god" : 100,
578 "marry2" : 34, "marry1" : 69, "cuba1" : 0, "cuba2" : 0, "side r" : 30,}
579 subs["*marry"] = { "sidefill2" : 0, "sidefill1" : 0, "cycright" : 100, 266 subs["*marry"] = { "sidefill2" : 0, "sidefill1" : 0, "cycright" : 100,
580 "main 11" : 55, "main 10" : 55, "upfill1" : 48, "b34" : 30, "patio1" : 0, 267 "main 11" : 55, "main 10" : 55, "upfill1" : 48, "b34" : 30, "patio1" : 0,
581 "b25" : 0, "side l" : 30, "b23" : 100, "b22" : 14, "b32" : 23, 268 "b25" : 0, "side l" : 30, "b23" : 100, "b22" : 14, "b32" : 23,
582 "hotbox2" : 43, "hotbox1" : 49, "upfill4" : 48, "b24" : 100, 269 "hotbox2" : 43, "hotbox1" : 49, "upfill4" : 48, "b24" : 100,
583 "desk2" : 23, "patio2" : 0, "main 3" : 0, "main 2" : 30, "main 5" : 0, 270 "desk2" : 23, "patio2" : 0, "main 3" : 0, "main 2" : 30, "main 5" : 0,
584 "main 4" : 0, "main 7" : 30, "phone" : 0, "main 9" : 30, "main 8" : 0, 271 "main 4" : 0, "main 7" : 30, "phone" : 0, "main 9" : 30, "main 8" : 0,
585 "rock" : 17, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0, "god" : 100, 272 "rock" : 17, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0, "god" : 100,
586 "marry2" : 34, "marry1" : 69, "cuba1" : 0, "cuba2" : 0, "side r" : 30,} 273 "marry2" : 34, "marry1" : 69, "cuba1" : 0, "cuba2" : 0, "side r" : 30,}
274
275 subs['*1-01-0']=subs['*broadway open'].copy()
276 subs['*1-02-0']=subs['*int mission'].copy()
277 subs['*1-03-0']=subs['*phone booth'].copy()
278
279 subs['*1-04-00-dance']=subs['*hotbox dance'].copy()
280 subs['*1-04-10-after dance']=subs['*hotbox dance'].copy()
281 subs['*1-04-20-table']=subs['*hotbox table'].copy()
282 subs['*1-04-30-small table']=subs['*hotbox small table'].copy()
283
284 subs['*1-05-0']=subs['*broadway open'].copy()
285 subs['*1-06-0']=subs['*ext mission'].copy()
286 subs['*1-07-0']=subs['*broadway night 1-7'].copy()
287
288
289 subs['*1-08-00-left cafe']={ "main 3" : 100, "edge" : 100,}
290 subs['*1-08-10-right cafe']= fulls(('cuba1','cuba2'))
291 subs['*1-08-20-backdrop']=fulls(('upfill1','upfill2','upfill3','upfill4'))
292
293 subs['*1-09-0']=subs['*cuba love'].copy()
294 subs['*1-10-0']=subs['*ext mission night'].copy()
295
296 subs['*2-01-0-dance']=subs['*hotbox dance'].copy()
297 subs['*2-01-1-after dance']=subs['*hotbox dance'].copy()
298 subs['*2-01-2-table']=subs['*hotbox table'].copy()
299 subs['*2-01-3-small table']=subs['*hotbox small table'].copy()
300
301 subs["*2-02-0"] = { "sidefill2" : 0, "sidefill1" : 0, "cycright" : 18,
302 "main 11" : 5, "main 10" : 5, "upfill1" : 70, "b34" : 34, "b25" : 71,
303 "side l" : 34, "b23" : 67, "b22" : 50, "b32" : 57, "desk1" : 0,
304 "hotbox2" : 59, "upfill4" : 70, "b24" : 67, "desk2" : 26, "main 3" : 0,
305 "main 2" : 5, "main 5" : 56, "main 4" : 0, "main 7" : 5, "main 9" : 5,
306 "main 8" : 5, "rock" : 20, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0,
307 "god" : 100, "marry2" : 50, "cuba1" : 0, "side r" : 34,}
308
309 subs['*2-03-00-open dance']=subs['*sewer'].copy()
310 subs['*2-03-10-dialogue']=subs['*sewer'].copy()
311 subs['*2-03-20-luck']=subs['*sewer'].copy()
312
313 subs['*2-04-0']=subs['*2-02-0'].copy() # sue me
314 subs['*2-05-0']=subs['*int mission'].copy()
315 subs['*2-06-0']=subs['*marry'].copy()
316 subs['*2-07-0']=subs['*broadway open'].copy()