comparison light8/Config.py @ 64:871da71fc254

new config with a sub for each look
author drewp
date Tue, 09 Jul 2002 08:52:52 +0000
parents 5e8c505bcc2c
children 57b3c454465a
comparison
equal deleted inserted replaced
63:e5d14320fbd5 64:871da71fc254
1 from random import randrange 1 from random import randrange
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
7 from Configeffects import *
6 8
7 f1 = Fade('bogus sub, i hope', 0, 2, 0.1) 9 f1 = Fade('bogus sub, i hope', 0, 2, 0.1)
8 10
9 cues = [ 11 cues = [
10 Cue("Seat filler", 0, 10, f1), 12 Cue("Seat filler", 0, 10, f1),
69 def fulls(chans): 71 def fulls(chans):
70 # pass a list or multiple args 72 # pass a list or multiple args
71 return dict([(c,FL) for c in chans]) 73 return dict([(c,FL) for c in chans])
72 def levs(chans,levs): 74 def levs(chans,levs):
73 return dict([(c,v) for c,v in zip(chans,levs)]) 75 return dict([(c,v) for c,v in zip(chans,levs)])
74
75 def strobe(params, slideradjuster):
76 patterns = {
77 'blue' : fulls((23,27,31,35,'b0 4 b','b2 3 b')),
78 'cyc' : {42:FL,43:FL},
79 'scp all' : fulls((13,16,18,19,39)),
80 '1-5' : fulls(range(1, 6)),
81 }
82 params.add_param('offtime',SliderParam(range=(0.1,0.3), res=0.001,
83 initial=0.11, length=100))
84 params.add_param('ontime',SliderParam(range=(0.0,0.8), res=0.001,
85 length=100))
86 params.add_param('pattern',ListParam(patterns.keys()))
87 params.add_param('current',LabelParam('none'))
88 params.add_param('count',SliderParam(range=(0, 10), res=1, initial=0))
89 lastchanged = time()
90 state = 0
91 blinkcounter = 0
92 my_pattern = None
93
94 while 1:
95 if params['count'] and blinkcounter > params['count']:
96 blinkcounter = 0
97 slideradjuster.set(0)
98
99 if params['pattern'] != None:
100 params['current'] = params['pattern']
101 my_pattern = params['pattern']
102
103 if state == 0:
104 delay = params['offtime']
105 else:
106 delay = params['ontime']
107
108 if time() > (lastchanged + delay):
109 # ready for change
110 state = not state
111 lastchanged = time()
112 blinkcounter += 0.5
113
114 try: # protect against keyerrors (and possibly everything else)
115 if state:
116 yield patterns[my_pattern]
117 else:
118 yield scaledict(patterns[my_pattern], .1)
119 except:
120 yield {}
121
122 def chase(params, slideradjuster):
123 patterns = {
124 'all': ( fulls(('b01','b21')),
125 fulls(('b02','b22')),
126 fulls(('b03','b23')),
127 fulls(('b04','b24')),
128 fulls(('b05','b25')),
129 fulls(('b06','b26')),
130 ),
131 'red':( fulls(('b0 1 r','b2 2 r')),
132 fulls(('b0 5 r','b2 6 r'))),
133 'randcol':([fulls((x,)) for x
134 in ("b21 b23 b25 b03 b06 b24 b22 "+
135 "b24 b03 b23 b01 b04 b05 b22 "+
136 "b02 b02 b26 b21 b06 b25 b26 "+
137 "b01 b04 b05").split()]),
138 'ctrpong':[fulls((x,)) for x in (
139 "b11 b12 b13 b14 b15 b16 b15 b14 b13 b12".split())],
140 'l-r': ( fulls(('b01','b11','b21')),
141 fulls(('b02','b12','b22')),
142 fulls(('b03','b13','b23')),
143 fulls(('b04','b14','b24')),
144 fulls(('b05','b15','b25')),
145 fulls(('b06','b16','b26'))),
146 'flutter':(
147 fulls(('main 6','b15')),
148 fulls(('main 1','b12')),
149 fulls(('main 2','b11')),
150 fulls(('b12', 'main 3')),
151 fulls(('b15', 'main 9')),
152 fulls(('b16', 'main 4')),
153 fulls(('main 4','b13')),
154 fulls(('main 3','b11')),
155 fulls(('main 8','b15')),
156 fulls(('main 9','b12')),
157 fulls(('b11', 'main 1')),
158 fulls(('main 5','b15')),
159 fulls(('b13', 'main 6')),
160 fulls(('b14', 'main 2')),
161 fulls(('main 7','b16')),
162 ),
163 'randstage':([fulls((x,)) for x
164 in ("""
165 b22 27 b04 26 b26 21 28 b25 23 b02 31 b05 32 34 b03 24 b01 25
166 b23 29 22 35 30 b24 33 36 """).split()]),
167
168 }
169
170 params.add_param('steptime',SliderParam(range=(.1,3),
171 initial=.4,length=150))
172 params.add_param('overlap',SliderParam(range=(0,8),initial=1.5))
173 params.add_param('pattern',ListParam(options=patterns.keys(),
174 initial='all'))
175 params.add_param('current',LabelParam('none'))
176
177 steps=()
178
179 def fn(x):
180 warm=.1
181 # the _/\_ wave for each step. input 0..1, output 0..1
182 if x<0 or x>1:
183 return warm
184 if x<.5:
185 return warm+(1.0-warm)*(x*2)
186 else:
187 return warm+(1.0-warm)*(2-(x*2))
188
189 def stepbrightness(stepnum,numsteps,overlap,pos):
190 startpos = stepnum/numsteps
191 p=( (pos-startpos)*(1.0+overlap) )%1.0
192 ret=fn( p )
193 #print "step %(stepnum)i/%(numsteps)i pos %(pos)f ,p=%(p)f is %(ret)f" % locals()
194 return ret
195
196 queued=[] # list of steps, each step is starttime,stepcue
197 lastaddtime=time()-100
198 currentpattern='all'
199 steps=patterns[currentpattern]
200 stepsiter=iter(())
201 while 1:
202 params['current'] = params['pattern']
203
204 # changed pattern?
205 if params['pattern']!=currentpattern and params['pattern'] in patterns:
206 currentpattern=params['pattern']
207 steps=patterns[currentpattern]
208 stepsiter=iter(steps) # restart iterator
209
210 # time to put a new step in the queue?
211 if time()>lastaddtime+params['steptime']:
212 lastaddtime=time()
213 try:
214 nextstep = stepsiter.next()
215 except StopIteration:
216 stepsiter=iter(steps)
217 nextstep=stepsiter.next()
218 queued.append( (time(),nextstep) )
219
220 # loop over queue, putting still-active (scaled) steps in shiftedsteps
221 keepers=[]
222 shiftedsteps=[]
223 for started,s in queued:
224 steptime = time()-started
225 finish = started+(1.0+params['overlap'])*params['steptime']
226 pos = (time()-started)/(finish-started)
227 if time()<finish:
228 keepers.append((started,s))
229 shiftedsteps.append( scaledict(s,fn(pos)) )
230
231 if len(keepers)>30:
232 print "too many steps in chase - dumping some"
233 queued=keepers[:20]
234 else:
235 queued=keepers
236
237
238 # pos=(time()%params['steptime'])/params['steptime'] # 0..1 animated variable
239 # shiftedsteps=[]
240 # for i,s in zip(range(0,len(steps)),steps):
241 # shiftedsteps.append( scaledict(s, stepbrightness(i,len(steps),params['overlap'],pos)) )
242 yield maxes(shiftedsteps)
243
244
245 def randomdimmer(params, slideradjuster):
246 params.add_param('magic', CheckboxParam())
247 params.add_param('cheese', TextParam())
248 params.add_param('stuff', ListParam(('a', 'b', 'c')))
249
250 curtime = time()
251 dim = 1
252 while 4:
253 if time() - curtime > 1:
254 dim = randrange(1, 64)
255 curtime = time()
256 yield {dim : 100, 20 : params.get_param_value('magic')}
257
258 76
259 subs = { 77 subs = {
260 ('house', 'black') : { 68:100 }, 78 ('house', 'black') : { 68:100 },
261 ('col oran', '#EEEE99'):fulls('oran1 oran2 oran3 oran4'.split()), 79 ('col oran', '#EEEE99'):fulls('oran1 oran2 oran3 oran4'.split()),
262 ('col red', 'red'):fulls('red1 red2 red3 red4'.split()), 80 ('col red', 'red'):fulls('red1 red2 red3 red4'.split()),
338 "b23" : 100, "desk1" : 53, "desk2" : 100, "b22" : 100, "hotbox2" : 85, 156 "b23" : 100, "desk1" : 53, "desk2" : 100, "b22" : 100, "hotbox2" : 85,
339 "hotbox1" : 25, "cycright" : 66, "b32" : 62, "upfill3" : 37, 157 "hotbox1" : 25, "cycright" : 66, "b32" : 62, "upfill3" : 37,
340 "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,
341 "main 7" : 100, "main 9" : 100, "main 8" : 100, "rock" : 52, 159 "main 7" : 100, "main 9" : 100, "main 8" : 100, "rock" : 52,
342 "marry2" : 100, "marry1" : 61, "cuba1" : 0, "cuba2" : 78,} 160 "marry2" : 100, "marry1" : 61, "cuba1" : 0, "cuba2" : 78,}
343 subs["*hotbox dance"] = { "red3" : 100, "sidefill2" : 46, "red1" : 100, 161
344 "cycright" : 19, "upfill3" : 32, "upfill2" : 46, "upfill1" : 26,
345 "red2" : 100, "side l" : 46, "b25" : 46, "cycleft" : 19, "sidefill1" : 46,
346 "desk2" : 36, "b22" : 46, "phone" : 37, "hotbox1" : 46, "upfill4" : 26,
347 "b24" : 46, "side r" : 46, "main 11" : 46, "main 10" : 46, "main 3" : 46,
348 "main 2" : 46, "main 5" : 46, "main 4" : 46, "main 7" : 46, "hotbox2" : 46,
349 "main 9" : 46, "main 8" : 46, "red4" : 100, "b34" : 46, "edge" : 37,
350 "god" : 100, "marry2" : 46, "marry1" : 46,}
351 subs["*hotbox dance"] = { "cycright" : 19, "upfill3" : 32, "upfill2" : 46,
352 "upfill1" : 26, "sidefill2" : 0, "b25" : 0, "side l" : 46, "b23" : 0,
353 "desk1" : 0, "desk2" : 0, "upfill4" : 26, "side r" : 46, "main 11" : 46,
354 "main 10" : 46, "god" : 100, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0,
355 "marry2" : 0, "marry1" : 0, "cuba1" : 0, "cuba2" : 0, "b13" : 0,
356 "red3" : 100, "red2" : 100, "sidefill1" : 0, "b24" : 0, "red4" : 100,
357 "b34" : 30, "cycleft" : 19, "b32" : 43, "b22" : 0, "phone" : 0,
358 "hotbox1" : 42, "main 3" : 46, "main 2" : 46, "main 5" : 46,
359 "main 4" : 46, "main 7" : 100, "hotbox2" : 78, "main 9" : 46,
360 "main 8" : 46, "hotback" : 100, "rock" : 0, "red1" : 100,}
361 subs["*hotbox dance"] = { "cycright" : 19, "upfill3" : 32, "upfill2" : 46, 162 subs["*hotbox dance"] = { "cycright" : 19, "upfill3" : 32, "upfill2" : 46,
362 "upfill1" : 26, "sidefill2" : 0, "b25" : 0, "side l" : 46, "b23" : 0, 163 "upfill1" : 26, "sidefill2" : 0, "b25" : 0, "side l" : 46, "b23" : 0,
363 "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,
364 "main 10" : 100, "god" : 100, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0, 165 "main 10" : 100, "god" : 100, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0,
365 "marry2" : 0, "marry1" : 0, "cuba1" : 0, "cuba2" : 0, "b13" : 0, 166 "marry2" : 0, "marry1" : 0, "cuba1" : 0, "cuba2" : 0, "b13" : 0,
387 "red4" : 100, "b25" : 5, "b22" : 100, "desk2" : 58, "desk1" : 52, 188 "red4" : 100, "b25" : 5, "b22" : 100, "desk2" : 58, "desk1" : 52,
388 "hotbox2" : 0, "sidefill2" : 0, "main 3" : 47, "main 2" : 0, 189 "hotbox2" : 0, "sidefill2" : 0, "main 3" : 47, "main 2" : 0,
389 "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,
390 "main 8" : 0, "god" : 100, "edge" : 0, "rock" : 0, "marry2" : 0, 191 "main 8" : 0, "god" : 100, "edge" : 0, "rock" : 0, "marry2" : 0,
391 "marry1" : 0, "hotback" : 0, "cuba1" : 0, "cuba2" : 0,} 192 "marry1" : 0, "hotback" : 0, "cuba1" : 0, "cuba2" : 0,}
392 subs["*ext mission"] = { "sidefill2" : 100, "sidefill1" : 100, 193
393 "cycright" : 41, "upfill3" : 69, "upfill2" : 100, "upfill1" : 56,
394 "side l" : 100, "b25" : 100, "cycleft" : 41, "b22" : 100, "desk2" : 78,
395 "phone" : 80, "hotbox1" : 100, "upfill4" : 56, "b24" : 100, "side r" : 100,
396 "main 11" : 100, "main 10" : 100, "main 3" : 100, "main 2" : 100,
397 "main 5" : 100, "main 4" : 100, "main 7" : 100, "hotbox2" : 100,
398 "main 9" : 100, "main 8" : 100, "b34" : 100, "edge" : 80, "god" : 100,
399 "marry2" : 100, "marry1" : 100,}
400 subs["*ext mission"] = { "sidefill2" : 100, "sidefill1" : 59, 194 subs["*ext mission"] = { "sidefill2" : 100, "sidefill1" : 59,
401 "cycright" : 53, "upfill3" : 0, "upfill2" : 0, "upfill1" : 0, 195 "cycright" : 53, "upfill3" : 0, "upfill2" : 0, "upfill1" : 0,
402 "b34" : 100, "b25" : 100, "side l" : 100, "b23" : 100, "b22" : 49, 196 "b34" : 100, "b25" : 100, "side l" : 100, "b23" : 100, "b22" : 49,
403 "b32" : 80, "phone" : 0, "hotbox1" : 0, "upfill4" : 0, "b24" : 100, 197 "b32" : 80, "phone" : 0, "hotbox1" : 0, "upfill4" : 0, "b24" : 100,
404 "desk2" : 78, "main 11" : 100, "main 10" : 100, "main 3" : 0, 198 "desk2" : 78, "main 11" : 100, "main 10" : 100, "main 3" : 0,
405 "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,
406 "hotbox2" : 100, "main 9" : 100, "main 8" : 100, "god" : 100, 200 "hotbox2" : 100, "main 9" : 100, "main 8" : 100, "god" : 100,
407 "cycleft" : 0, "edge" : 0, "b13" : 0, "rock" : 60, "marry2" : 100, 201 "cycleft" : 0, "edge" : 0, "b13" : 0, "rock" : 60, "marry2" : 100,
408 "marry1" : 0, "side r" : 100,} 202 "marry1" : 0, "side r" : 100,}
409 subs["*broadway night 1-7"] = { "sidefill2" : 37, "sidefill1" : 37, 203
410 "cycright" : 15, "upfill3" : 25, "upfill2" : 37, "upfill1" : 20,
411 "side l" : 37, "b25" : 37, "cycleft" : 15, "b22" : 37, "desk2" : 28,
412 "phone" : 29, "hotbox1" : 37, "upfill4" : 20, "b24" : 37, "side r" : 37,
413 "main 11" : 37, "main 10" : 37, "main 3" : 37, "main 2" : 37,
414 "main 5" : 37, "main 4" : 37, "main 7" : 37, "hotbox2" : 37,
415 "main 9" : 37, "main 8" : 37, "b34" : 37, "edge" : 29, "god" : 100,
416 "marry2" : 37, "marry1" : 37,}
417 subs["*broadway night 1-7"] = { "sidefill2" : 37, "sidefill1" : 37,
418 "upfill3" : 11, "upfill2" : 23, "b34" : 37, "b25" : 37, "b24" : 94,
419 "b23" : 100, "b22" : 61, "desk2" : 28, "hotbox2" : 37, "hotbox1" : 37,
420 "blue1" : 93, "main 11" : 37, "blue3" : 93, "blue2" : 93, "blue4" : 93,
421 "main 10" : 37, "main 3" : 25, "main 2" : 37, "main 5" : 37,
422 "main 4" : 37, "main 7" : 37, "main 9" : 37, "main 8" : 37, "edge" : 12,
423 "god" : 100, "marry2" : 37, "marry1" : 37,}
424 subs["*broadway night 1-7"] = { "sidefill2" : 37, "sidefill1" : 37,
425 "upfill3" : 11, "upfill2" : 23, "b34" : 37, "b25" : 37, "b24" : 94,
426 "b23" : 100, "b22" : 61, "desk2" : 0, "desk1" : 0, "hotbox2" : 37,
427 "hotbox1" : 0, "blue1" : 93, "main 11" : 37, "blue3" : 93, "blue2" : 93,
428 "blue4" : 93, "main 10" : 37, "main 3" : 25, "main 2" : 37, "main 5" : 37,
429 "main 4" : 37, "main 7" : 37, "main 9" : 37, "main 8" : 37, "edge" : 12,
430 "god" : 100, "marry2" : 37, "marry1" : 37,}
431 subs["*broadway night 1-7"] = { "sidefill2" : 37, "sidefill1" : 37, 204 subs["*broadway night 1-7"] = { "sidefill2" : 37, "sidefill1" : 37,
432 "upfill3" : 11, "upfill2" : 23, "b34" : 28, "b25" : 37, "b24" : 94, 205 "upfill3" : 11, "upfill2" : 23, "b34" : 28, "b25" : 37, "b24" : 94,
433 "b23" : 100, "b22" : 82, "desk2" : 0, "desk1" : 0, "hotbox2" : 11, 206 "b23" : 100, "b22" : 82, "desk2" : 0, "desk1" : 0, "hotbox2" : 11,
434 "hotbox1" : 0, "blue1" : 93, "main 11" : 37, "blue3" : 93, "blue2" : 93, 207 "hotbox1" : 0, "blue1" : 93, "main 11" : 37, "blue3" : 93, "blue2" : 93,
435 "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,
444 "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,
445 "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,
446 "main 7" : 100, "main 9" : 100, "main 8" : 100, "edge" : 100, 219 "main 7" : 100, "main 9" : 100, "main 8" : 100, "edge" : 100,
447 "god" : 100, "marry2" : 100, "marry1" : 100, "hotback" : 100, 220 "god" : 100, "marry2" : 100, "marry1" : 100, "hotback" : 100,
448 "cuba1" : 100, "cuba2" : 100,} 221 "cuba1" : 100, "cuba2" : 100,}
449 subs["*cuba love"] = { "sidefill2" : 0, "sidefill1" : 0, "upfill4" : 61, 222
450 "main 11" : 100, "main 10" : 100, "upfill1" : 61, "b25" : 100,
451 "b24" : 100, "b23" : 100, "b22" : 100, "desk2" : 0, "desk1" : 0,
452 "phone" : 0, "hotbox1" : 0, "upfill3" : 61, "upfill2" : 61, "main 3" : 0,
453 "main 2" : 100, "main 5" : 100, "main 4" : 100, "main 7" : 100,
454 "main 9" : 73, "main 8" : 100, "edge" : 0, "hotback" : 0, "marry2" : 0,
455 "marry1" : 0, "cuba1" : 0, "cuba2" : 0,}
456 subs["*cuba love"] = { "sidefill2" : 0, "sidefill1" : 0, "upfill4" : 0,
457 "main 11" : 28, "main 10" : 28, "upfill1" : 0, "b34" : 9, "b25" : 100,
458 "b24" : 59, "b23" : 59, "b22" : 100, "desk2" : 0, "desk1" : 0,
459 "phone" : 0, "hotbox1" : 0, "upfill3" : 43, "upfill2" : 43, "main 3" : 0,
460 "main 2" : 100, "main 5" : 16, "main 4" : 16, "main 7" : 0, "main 9" : 73,
461 "main 8" : 100, "edge" : 0, "marry2" : 9, "marry1" : 0, "hotback" : 0,
462 "cuba1" : 0, "cuba2" : 0,}
463 subs["*cuba love"] = { "sidefill2" : 0, "sidefill1" : 0, "upfill4" : 0,
464 "main 11" : 28, "main 10" : 28, "upfill1" : 0, "b34" : 9, "b25" : 100,
465 "b24" : 59, "b23" : 59, "b22" : 100, "desk2" : 0, "desk1" : 0,
466 "phone" : 0, "hotbox1" : 0, "upfill3" : 43, "upfill2" : 43, "main 3" : 0,
467 "main 2" : 100, "main 5" : 16, "main 4" : 16, "main 7" : 0, "main 9" : 65,
468 "main 8" : 74, "edge" : 0, "marry2" : 9, "marry1" : 0, "hotback" : 0,
469 "cuba1" : 0, "cuba2" : 0,}
470 subs["*cuba love"] = { "sidefill2" : 0, "sidefill1" : 0, "upfill4" : 0, 223 subs["*cuba love"] = { "sidefill2" : 0, "sidefill1" : 0, "upfill4" : 0,
471 "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,
472 "b24" : 59, "b23" : 59, "b22" : 100, "desk2" : 16, "desk1" : 0, 225 "b24" : 59, "b23" : 59, "b22" : 100, "desk2" : 16, "desk1" : 0,
473 "phone" : 0, "hotbox1" : 0, "upfill3" : 43, "upfill2" : 43, "main 3" : 28, 226 "phone" : 0, "hotbox1" : 0, "upfill3" : 43, "upfill2" : 43, "main 3" : 28,
474 "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,
500 "cycright" : 18, "main 11" : 34, "main 10" : 34, "upfill1" : 8, 253 "cycright" : 18, "main 11" : 34, "main 10" : 34, "upfill1" : 8,
501 "b34" : 34, "b25" : 34, "side l" : 34, "b23" : 34, "b22" : 16, 254 "b34" : 34, "b25" : 34, "side l" : 34, "b23" : 34, "b22" : 16,
502 "desk2" : 26, "hotbox2" : 34, "upfill4" : 8, "b24" : 34, "side r" : 34, 255 "desk2" : 26, "hotbox2" : 34, "upfill4" : 8, "b24" : 34, "side r" : 34,
503 "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,
504 "main 8" : 34, "rock" : 20, "god" : 100, "marry2" : 34, "cuba1" : 5,} 257 "main 8" : 34, "rock" : 20, "god" : 100, "marry2" : 34, "cuba1" : 5,}
505 subs["*2-2"] = { "b32" : 27, "sidefill2" : 34, "sidefill1" : 20, 258
506 "cycright" : 18, "main 11" : 34, "main 10" : 34, "upfill1" : 70,
507 "b34" : 34, "b25" : 34, "side l" : 34, "b23" : 34, "b22" : 16,
508 "desk2" : 26, "hotbox2" : 34, "upfill4" : 70, "b24" : 34, "side r" : 34,
509 "main 2" : 34, "main 5" : 34, "main 4" : 25, "main 7" : 34, "main 9" : 34,
510 "main 8" : 34, "rock" : 20, "god" : 100, "marry2" : 34, "cuba1" : 5,}
511 subs["*2-2"] = { "sidefill2" : 0, "sidefill1" : 0, "cycright" : 18,
512 "main 11" : 5, "main 10" : 5, "upfill1" : 70, "b34" : 34, "b25" : 71,
513 "side l" : 34, "b23" : 67, "b22" : 50, "b32" : 57, "desk1" : 0,
514 "hotbox2" : 59, "upfill4" : 70, "b24" : 67, "desk2" : 26, "main 3" : 0,
515 "main 2" : 5, "main 5" : 5, "main 4" : 0, "main 7" : 5, "main 9" : 5,
516 "main 8" : 5, "rock" : 20, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0,
517 "god" : 100, "marry2" : 50, "cuba1" : 0, "side r" : 34,}
518 subs["*sewer"] = { "main 10" : 71, "upfill4" : 100, "main 11" : 66,
519 "main 4" : 71, "upfill1" : 88, "main 8" : 71, "main 7" : 71,
520 "main 5" : 100, "hotbox1" : 88, "hotback" : 66, "marry2" : 66,
521 "upfill3" : 88, "marry1" : 66, "upfill2" : 100,}
522 subs["*2-2"] = { "sidefill2" : 0, "sidefill1" : 0, "cycright" : 18,
523 "main 11" : 5, "main 10" : 5, "upfill1" : 70, "b34" : 34, "b25" : 71,
524 "side l" : 34, "b23" : 67, "b22" : 50, "b32" : 57, "desk1" : 0,
525 "hotbox2" : 59, "upfill4" : 70, "b24" : 67, "desk2" : 26, "main 3" : 0,
526 "main 2" : 5, "main 5" : 56, "main 4" : 0, "main 7" : 5, "main 9" : 5,
527 "main 8" : 5, "rock" : 20, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0,
528 "god" : 100, "marry2" : 50, "cuba1" : 0, "side r" : 34,}
529 subs["*sewer"] = { "sidefill2" : 33, "sidefill1" : 33, "upfill4" : 10,
530 "upfill3" : 22, "main 10" : 48, "upfill1" : 14, "b25" : 16, "b24" : 19,
531 "b23" : 46, "b22" : 50, "hotbox1" : 0, "main 11" : 40, "upfill2" : 61,
532 "main 2" : 54, "main 5" : 20, "main 4" : 45, "main 7" : 0, "main 9" : 84,
533 "main 8" : 45, "hotback" : 40, "marry2" : 0, "marry1" : 0,}
534 subs["*sewer"] = { "sidefill2" : 33, "sidefill1" : 33, "upfill4" : 10,
535 "upfill3" : 22, "main 10" : 48, "upfill1" : 14, "b25" : 16, "b24" : 19,
536 "b23" : 64, "b22" : 50, "hotbox1" : 0, "main 11" : 40, "upfill2" : 61,
537 "main 2" : 54, "main 5" : 20, "main 4" : 45, "main 7" : 0, "main 9" : 84,
538 "main 8" : 45, "hotback" : 40, "sidepost1" : 31, "sidepost2" : 31,
539 "marry2" : 0, "marry1" : 0,}
540 subs["*sewer"] = { "sidefill2" : 33, "sidefill1" : 33, "upfill4" : 10, 259 subs["*sewer"] = { "sidefill2" : 33, "sidefill1" : 33, "upfill4" : 10,
541 "upfill3" : 22, "main 10" : 48, "upfill1" : 14, "b25" : 16, "b24" : 19, 260 "upfill3" : 22, "main 10" : 48, "upfill1" : 14, "b25" : 16, "b24" : 19,
542 "b23" : 64, "b22" : 50, "hotbox1" : 0, "main 11" : 40, "upfill2" : 61, 261 "b23" : 64, "b22" : 50, "hotbox1" : 0, "main 11" : 40, "upfill2" : 61,
543 "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,
544 "main 8" : 45, "hotback" : 40, "sidepost1" : 31, "sidepost2" : 31, 263 "main 8" : 45, "hotback" : 40, "sidepost1" : 31, "sidepost2" : 31,
545 "marry2" : 0, "marry1" : 0, "cuba1" : 59,} 264 "marry2" : 0, "marry1" : 0, "cuba1" : 59,}
546 subs["*marry"] = { "b32" : 23, "sidefill2" : 30, "sidefill1" : 17, 265
547 "cycright" : 15, "main 11" : 30, "main 10" : 30, "upfill1" : 48,
548 "b34" : 30, "b25" : 30, "side l" : 30, "b23" : 30, "b22" : 14,
549 "desk2" : 23, "hotbox2" : 30, "upfill4" : 48, "b24" : 30, "side r" : 30,
550 "main 3" : 30, "main 2" : 30, "main 5" : 30, "main 4" : 22, "main 7" : 30,
551 "main 9" : 30, "main 8" : 30, "rock" : 17, "edge" : 15, "god" : 100,
552 "marry2" : 30, "cuba1" : 4,}
553 subs["*marry"] = { "sidefill2" : 0, "sidefill1" : 0, "cycright" : 100,
554 "main 11" : 55, "main 10" : 55, "upfill1" : 48, "b34" : 30, "b25" : 0,
555 "side l" : 30, "b23" : 100, "b22" : 14, "b32" : 23, "main 4" : 0,
556 "hotbox2" : 43, "hotbox1" : 49, "upfill4" : 48, "b24" : 100,
557 "desk2" : 23, "patio2" : 0, "main 3" : 0, "main 2" : 30, "main 5" : 0,
558 "patio1" : 0, "main 7" : 30, "phone" : 0, "main 9" : 30, "main 8" : 0,
559 "rock" : 17, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0, "god" : 100,
560 "marry2" : 34, "marry1" : 69, "cuba1" : 0, "cuba2" : 0, "side r" : 30,}
561 subs["*marry"] = { "sidefill2" : 0, "sidefill1" : 0, "cycright" : 100, 266 subs["*marry"] = { "sidefill2" : 0, "sidefill1" : 0, "cycright" : 100,
562 "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,
563 "b25" : 0, "side l" : 30, "b23" : 100, "b22" : 14, "b32" : 23, 268 "b25" : 0, "side l" : 30, "b23" : 100, "b22" : 14, "b32" : 23,
564 "hotbox2" : 43, "hotbox1" : 49, "upfill4" : 48, "b24" : 100, 269 "hotbox2" : 43, "hotbox1" : 49, "upfill4" : 48, "b24" : 100,
565 "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,
566 "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,
567 "rock" : 17, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0, "god" : 100, 272 "rock" : 17, "edge" : 0, "sidepost1" : 0, "sidepost2" : 0, "god" : 100,
568 "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()