aboutsummaryrefslogtreecommitdiff
path: root/tof/param-help.pd
blob: fe6e336970df87fa9aac9ae96bcc708f4928f222 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
#N canvas 279 400 403 396 10;
#N canvas 429 334 525 231 /id 0;
#X text 26 42 Abstraction /id:;
#X text 63 67 If an abstraction's arguments contains the "/id" keyword
\, the symbol following the "/id" keyword \, instead of the abstraction's
name \, will be used to build the path.;
#X restore 327 340 pd /id;
#N canvas 1318 214 933 657 /name 0;
#X floatatom 459 165 5 0 0 0 - - -;
#X floatatom 459 215 5 0 0 0 - - -;
#X obj 503 168 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 454 19 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 450 543 nbx: creates a numberbox;
#X text 450 561 slider min max: creates a slider with the indicated
minimum and maximum;
#X text 450 592 bng: creates a bang;
#X text 450 610 tgl: creates a toggle;
#X floatatom 452 510 5 0 0 0 - - -;
#X text 449 526 /g options:;
#X text 453 43 A param automatically ouputs its value when it is created.
You can disable this behavior with the "/nlb" (no loadbang) keyword.
;
#X text 457 20 /nlb keyword: No loadbang;
#X obj 453 118 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 455 119 /wfb keyword: Wait for bang;
#X obj 454 248 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 456 248 /ns keyword: No save;
#X obj 453 405 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 455 405 /g keyword: GUI options;
#X obj 455 328 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 457 329 /nps keyword: No preset save;
#X text 449 268 The param will never be saved.;
#X text 451 353 The param will never be saved in a preset file.;
#X text 456 142 The param will only output its contents on a bang.
;
#X obj 452 484 tof/param /number 30 /g nbx;
#X obj 460 192 tof/param /waiting 50 /wfb;
#X obj 11 285 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 13 286 arguments;
#X text 10 345 argument 1 symbol: name (must start with a slash);
#X text 11 362 argument 2 variable: optionnal default value (can be
anything and of any length);
#X text 11 393 other arguments: special keywords and options;
#X text 10 42 A param object creates a storage area for anything. This
data can be accessed and modified through a unique path.;
#X obj 12 18 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577
0;
#X obj 13 321 tof/param /name default;
#X text 12 417 The path to a param starts at the root patch and includes
the name of each abstraction that was taversed to reach the object.
The path of the param above is: /name;
#X text 95 514 <- open me;
#X obj 536 86 tof/param /not_lb 50 /nlb;
#X obj 453 293 tof/param /not_saving 50 /ns;
#X obj 455 377 tof/param /no_presets 67 /nps;
#X obj 16 548 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 18 549 keywords;
#X text 19 572 You can use many keywords to configure your params.
Each keyword starts with a /. You can use as many keywords as you want
as long at they are not the first argument (that is reserved for the
name).;
#X text 452 434 When you create a param \, you can use the "/g" keyword
to flag the param with gui options that are used by [param gui] to
automatically build GUIs.;
#X text 450 628 symbolatom or sym : creates a symbol box;
#X obj 15 79 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577
0;
#X text 17 80 inlets/outlets;
#X text 14 104 inlet 1 bang: outputs the value of the param.;
#X text 14 121 inlet 1 anything: stores the value received and outputs
it.;
#X text 13 138 inlet 2 anything: stores the value received.;
#X text 13 157 outlet 2 anything: the stored value.;
#X text 11 477 The path to the param "/carrier" in the middle of the
following abstraction is: /test-param/carrier;
#X text 14 18 param /name;
#X obj 16 516 ./test-param;
#X obj 16 185 cnv 15 300 20 empty empty empty 20 12 0 14 -4032 -66577
0;
#X text 18 186 default value;
#X connect 0 0 24 0;
#X connect 2 0 24 0;
#X connect 23 0 8 0;
#X connect 24 0 1 0;
#X restore -16 187 pd /name;
#N canvas 122 440 837 442 custom 0;
#X obj 17 211 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 19 212 arguments;
#X obj 18 19 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577
0;
#X text 20 43 Saves and restores any type and quantity of data in a
param file.;
#X text 16 235 argument 1 symbol: the name. Must start with a '/'.
;
#X obj 18 282 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 20 283 keywords;
#X text 16 307 There is only one keyword: /nps;
#X obj 17 335 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 19 336 /nps keyword: No preset save;
#X text 13 360 The param will never be saved in a preset file.;
#X obj 17 384 tof/param custom /yogourt /nps;
#X obj 18 83 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577
0;
#X text 23 83 inlets/outlets;
#X text 18 109 inlet 1 anything: data to be saved (can be multiple
messages).;
#X obj 495 212 list prepend;
#X text 576 211 Prepend the key to the value;
#X obj 444 110 t b b;
#X msg 541 90 clear;
#X msg 444 139 dump;
#X text 434 46 In the following example \, [param custom] will save
and restore the contents of the [cyclone/coll].;
#X obj 495 185 cyclone/coll;
#C restore;
#X text 427 243 When a param save is called \, the [t b b] is banged.
The message "clear" is stored and "dump" is sent to [cyclone/coll].
The list builds a "key data" pair out of the dumped data. This pair
is then also stored.;
#X text 426 305 When a param load is called \, the stored "clear" message
is sent to [cyclone/coll] \, clearing its contents. Afterwards. each
of the stored data pairs is then sent to [cyclone/coll] restoring the
previous data.;
#X obj 541 115 param custom /coll;
#X text 17 160 outlet 2: the data to be restored by a param load.;
#X text 18 141 outlet 1 bang: bangs when a param save is called.;
#X text 16 256 other arguments: keywords (see below).;
#X text 20 19 param custom;
#X connect 15 0 24 0;
#X connect 17 0 19 0;
#X connect 17 1 18 0;
#X connect 18 0 24 0;
#X connect 19 0 21 0;
#X connect 21 0 15 0;
#X connect 21 1 15 1;
#X connect 24 0 17 0;
#X connect 24 1 21 0;
#X restore -16 208 pd custom;
#N canvas 222 499 637 424 path 0;
#X obj 373 67 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 373 115 print;
#X obj 41 190 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 43 191 arguments;
#X obj 40 58 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577
0;
#X obj 40 112 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577
0;
#X text 45 112 inlets/outlets;
#X text 41 82 Outputs the current param path.;
#X obj 375 180 ./test-param-2;
#X obj 373 91 tof/param path;
#X obj 375 152 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 392 64 1) Click here;
#X text 396 150 2) Click here;
#X text 40 138 inlet 1 bang: outputs the param path.;
#X text 40 160 outlet 1 symbol: the param path.;
#X text 40 214 none.;
#X text 42 58 param path;
#X connect 0 0 9 0;
#X connect 9 0 1 0;
#X connect 10 0 8 0;
#X restore -16 229 pd path;
#N canvas 70 415 866 433 dump 0;
#X obj 420 258 print;
#X obj 421 78 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X msg 464 150 guis;
#X text 444 79 A bang will output all the params and their values.
;
#X msg 445 109 symbol /FM_MOD;
#X text 541 107 A symbol will dump only the params that start with
that path.;
#X text 501 147 Guis will output all the optional /g values.;
#X obj 421 224 tof/param dump;
#X msg 501 175 guis /FM_MOD;
#X obj 33 257 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 35 258 arguments;
#X obj 33 45 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577
0;
#X obj 33 109 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577
0;
#X text 38 109 inlets/outlets;
#X text 32 281 none.;
#X text 32 68 Outputs the params and their values or the params and
their GUI options.;
#X text 33 135 inlet 1 bang: outputs the all the params and their values.
;
#X text 33 152 inlet 1 symbol: outputs the params and their values
if their names start with this symbol.;
#X text 33 182 inlet 1 guis: outputs the params and their GUI options
if their names start with this symbol.;
#X text 32 216 inlet 1 guis symbol: outputs the params and their GUI
options if their names start with this symbol.;
#X text 35 45 param dump;
#X connect 1 0 7 0;
#X connect 2 0 7 0;
#X connect 4 0 7 0;
#X connect 7 0 0 0;
#X connect 8 0 7 0;
#X restore -16 250 pd dump;
#N canvas 20 346 838 409 file 0;
#X obj 489 38 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 -1
-1 0;
#X obj 547 151 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144
-1 -1 0;
#X obj 464 17 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 521 127 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 489 62 5 0 0 0 - - -;
#X floatatom 547 173 5 0 0 0 - - -;
#X obj 464 198 param file;
#X obj 24 321 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 26 322 arguments;
#X obj 24 19 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577
0;
#X obj 24 183 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577
0;
#X text 29 183 inlets/outlets;
#X text 23 345 none.;
#X text 26 40 Saves/restores params in a param file.;
#X text 25 98 All params that do not have the "/ns" keyword are saved
in the "main" param file.;
#X text 24 133 All params that do not have the "/ns" or "/nps" keywords
are saved in the "preset" param files.;
#X text 25 61 There are two types of param file. A "main" param file
and up to 1000 "preset" param files.;
#X text 529 60 Save to "preset" file n.;
#X text 585 172 Restore for "preset" file n.;
#X text 543 125 Restore from "main" param file.;
#X text 486 13 Save to "main" param file.;
#X text 24 209 inlet 1 bang: save to "main" param file.;
#X text 24 263 inlet 2 bang: restore from "main" param file.;
#X obj 442 247 cnv 15 300 20 empty empty empty 20 12 0 14 -4032 -66577
0;
#X text 444 248 param file names;
#X text 441 271 All param files are always stored and searched for
in the same folder as the root patch's folder.;
#X text 443 305 The "main" param file is named as follows:;
#X text 622 323 "name of root patch.param";
#X text 26 280 inlet 2 float: restore from "preset" file n where n
is a number between 0 and 999;
#X text 26 228 inlet 1 float: save to "preset" file n where n is a
number between 0 and 999;
#X text 581 374 "name of root patch-nnnn.param";
#X text 444 341 The "preset" param files are named as follows \, where
nnnn is always four digits:;
#X text 26 19 param file;
#X connect 0 0 4 0;
#X connect 1 0 5 0;
#X connect 2 0 6 0;
#X connect 3 0 6 1;
#X connect 4 0 6 0;
#X connect 5 0 6 1;
#X restore -16 271 pd file;
#N canvas 17 441 981 371 route 0;
#X obj 33 203 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 35 204 arguments;
#X obj 33 31 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577
0;
#X obj 33 85 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577
0;
#X text 38 85 inlets/outlets;
#X text 35 228 none.;
#X text 38 53 Routes messages to params.;
#X text 35 31 param route;
#X text 35 112 inlet 1 anything: the first element of the anything
determines the target. The rest of the elements of the anything are
sent the target.;
#X obj 36 257 cnv 15 300 20 empty empty empty 20 12 0 14 -4032 -66577
0;
#X text 38 258 targets;
#X text 35 160 outlet 1 anything: messages that do not have a valid
target name or whose target was not found.;
#X text 34 282 [param route] prepends its own path to the target name.
This allows the targeting of params with a relative path. Even if the
paths are relative \, they still need to start with a '/'.;
#X obj 412 225 ./test-param /id routing;
#X floatatom 482 292 5 0 0 0 - - -;
#X floatatom 553 261 5 0 0 0 - - -;
#X text 566 221 <-There is a [param route] connected to the first inlet
of this abstraction.;
#X text 594 259 <-This is connected to a [param /b] inside the abstraction.
;
#X text 518 293 <-This is connected to a [param /a] inside the abstraction.
;
#X msg 470 187 /b \$1;
#X msg 418 161 /a \$1;
#X floatatom 417 137 5 0 0 0 - - -;
#X floatatom 474 159 5 0 0 0 - - -;
#X connect 13 1 14 0;
#X connect 13 2 15 0;
#X connect 19 0 13 0;
#X connect 20 0 13 0;
#X connect 21 0 20 0;
#X connect 22 0 19 0;
#X restore -16 292 pd route;
#N canvas 324 321 986 455 gui 0;
#X obj 431 21 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 506 75 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 431 110 tof/param gui;
#X obj 11 292 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 13 293 arguments;
#X obj 5 7 cnv 15 300 20 empty empty empty 20 12 0 14 -257985 -66577
0;
#X obj 9 114 cnv 15 300 20 empty empty empty 20 12 0 14 -260097 -66577
0;
#X text 14 114 inlets/outlets;
#X text 13 317 none.;
#X text 7 7 param gui;
#X floatatom 383 288 5 0 0 0 - - -;
#X obj 375 415 dac~;
#X obj 423 334 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X msg 383 310 /modulation/index \$1;
#X msg 420 355 /volume \$1;
#X obj 594 260 cnv 15 200 20 empty empty /FM_MOD/ 2 12 0 8 -258401
-262144 0;
#X obj 594 283 nbx 5 14 -1e+37 1e+37 0 0 /FM_MOD/modulation/freq /FM_MOD/modulation/freq_
modulation/freq 50 8 0 8 -1 -262144 -1 3 256;
#X obj 594 301 nbx 5 14 -1e+37 1e+37 0 0 /FM_MOD/modulation/index /FM_MOD/modulation/index_
modulation/index 50 8 0 8 -1 -262144 -1 20 256;
#X obj 594 319 hsl 100 15 0 1 0 0 /FM_MOD/volume /FM_MOD/volume_ volume
105 7 0 8 -1 -262144 -1 0 1;
#X obj 594 337 hsl 100 15 200 2000 0 0 /FM_MOD/carrier /FM_MOD/carrier_
carrier 105 7 0 8 -1 -262144 -1 3300 1;
#X obj 383 380 ./test-param /id FM_MOD /carrier 600;
#X text 8 32 Automatically builds a gui for params. The values of the
GUI elements are always up to date.;
#X text 618 378 <-Click this abstraction's properties menu. The [iemguts/propertybang]
bangs the [param gui] that creates the GUI window.;
#X obj 430 209 tof/param gui;
#X text 531 73 Destroy the created GUI (the only way to force its recreation).
;
#X text 453 10 Builds the gui for all params that are in the current
patch or in any children patches of this patch.;
#X text 9 65 GUIs will only be built for params that have GUI options
set with the /g keyword.;
#X msg 531 171 symbol /FM_MOD/modulation;
#X text 7 228 inlet 2 bang: destroy the previously created window (the
only way to force its recreation if the path does not change).;
#X text 9 140 inlet 1 bang: creates the GUIs one (or until the target
path changes) for all params in the current patch or lower and displays
the window.;
#X text 8 184 inlet 1 symbol: creates the GUIs one (or until the target
path changes) for all params that match the indicated path and displays
the window.;
#X msg 430 171 symbol /FM_MOD;
#X text 525 194 Only display the GUIs for params in the indicated path.
;
#X text 526 207 Each time the path changes \, the GUIs are rebuilt
and this can slow down Pure Data.;
#X connect 0 0 2 0;
#X connect 1 0 2 1;
#X connect 10 0 13 0;
#X connect 12 0 14 0;
#X connect 13 0 20 0;
#X connect 14 0 20 0;
#X connect 20 0 11 0;
#X connect 20 0 11 1;
#X connect 27 0 23 0;
#X connect 31 0 23 0;
#X restore -16 313 pd gui;
#X text 45 183 Defines a parameter to save/restore/route/display.;
#X text 48 205 Can save/restore any number of things in a param file.
;
#X text 48 226 Outputs the current param path.;
#X text 48 247 Outputs information about the params.;
#X text 48 268 Saves/restores params in a param file.;
#X text 47 289 Routes messages to params.;
#X text 48 310 Automatically builds a gui for params.;
#X text -17 151 Open the folowing subpatches for more information on
each class.;
#X text -17 112 [param] contains multiple classes. The class is selected
by the value of the first argument.;
#N canvas 360 337 548 560 anim 0;
#X obj 172 493 s \$0c;
#N canvas 393 451 450 300 rgbToNum 0;
#X obj 241 358 +;
#X obj 177 430 +;
#X obj 90 313 * -65536;
#X obj 196 319 * -256;
#X obj 310 327 * -1;
#X obj 177 461 - 1;
#X obj 184 496 outlet;
#X obj 85 281 int 0;
#X obj 196 270 int 0;
#X obj 343 272 int 0;
#X obj 166 126 unpack f f f;
#X obj 66 233 clip 0 255;
#X obj 228 230 clip 0 255;
#X obj 329 230 clip 0 255;
#X obj 165 87 inlet;
#X connect 0 0 1 1;
#X connect 1 0 5 0;
#X connect 2 0 1 0;
#X connect 3 0 0 0;
#X connect 4 0 0 1;
#X connect 5 0 6 0;
#X connect 7 0 2 0;
#X connect 8 0 3 0;
#X connect 9 0 4 0;
#X connect 10 0 11 0;
#X connect 10 1 12 0;
#X connect 10 2 13 0;
#X connect 11 0 7 0;
#X connect 12 0 8 0;
#X connect 13 0 9 0;
#X connect 14 0 10 0;
#X restore 171 434 pd rgbToNum;
#X msg 171 462 color \$1;
#X obj 137 65 t b b b;
#X obj 345 14 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#N canvas 0 22 680 639 hsvToRgb 0;
#X obj 197 94 route 0;
#X msg 197 66 \$2 \$3 \$1;
#X obj 241 121 unpack 0 0 0;
#X text 260 81 svh;
#X obj 197 38 inlet hsv;
#X obj 191 676 outlet rgb;
#X obj 411 159 * 6;
#X obj 390 206 % 6;
#X obj 360 183 t f f;
#X msg 360 159 0;
#X text 416 206 i;
#X obj 360 229 -;
#X obj 241 227 *;
#X obj 241 188 - 1;
#X obj 241 208 * -1;
#X obj 273 340 *;
#X obj 273 301 - 1;
#X obj 273 321 * -1;
#X obj 273 279 *;
#X obj 360 250 t f f;
#X obj 390 272 - 1;
#X obj 390 293 * -1;
#X obj 312 366 *;
#X obj 312 327 - 1;
#X obj 312 347 * -1;
#X obj 312 305 *;
#X obj 241 161 t f f f;
#X obj 248 421 pack 0 0 0 0;
#N canvas 388 287 646 315 select 0;
#X obj 290 37 inlet;
#X obj 16 247 outlet;
#X obj 92 104 t b l;
#X obj 125 128 unpack 0 0 0 0;
#X obj 89 43 inlet p q t v;
#X obj 92 128 i;
#X obj 92 151 select 0 1 2 3 4 5;
#X obj 16 223 pack 0 0 0;
#X obj 16 203 f;
#X obj 96 223 pack 0 0 0;
#X obj 96 203 f;
#X obj 176 223 pack 0 0 0;
#X obj 176 203 f;
#X obj 256 223 pack 0 0 0;
#X obj 256 203 f;
#X obj 336 223 pack 0 0 0;
#X obj 336 203 f;
#X obj 416 223 pack 0 0 0;
#X obj 416 203 f;
#X connect 0 0 5 1;
#X connect 2 0 5 0;
#X connect 2 1 3 0;
#X connect 3 0 7 2;
#X connect 3 0 9 2;
#X connect 3 0 12 1;
#X connect 3 0 14 1;
#X connect 3 0 15 1;
#X connect 3 0 17 1;
#X connect 3 1 10 1;
#X connect 3 1 13 1;
#X connect 3 1 17 2;
#X connect 3 2 7 1;
#X connect 3 2 11 2;
#X connect 3 2 16 1;
#X connect 3 3 8 1;
#X connect 3 3 9 1;
#X connect 3 3 11 1;
#X connect 3 3 13 2;
#X connect 3 3 15 2;
#X connect 3 3 18 1;
#X connect 4 0 2 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 6 1 10 0;
#X connect 6 2 12 0;
#X connect 6 3 14 0;
#X connect 6 4 16 0;
#X connect 6 5 18 0;
#X connect 7 0 1 0;
#X connect 8 0 7 0;
#X connect 9 0 1 0;
#X connect 10 0 9 0;
#X connect 11 0 1 0;
#X connect 12 0 11 0;
#X connect 13 0 1 0;
#X connect 14 0 13 0;
#X connect 15 0 1 0;
#X connect 16 0 15 0;
#X connect 17 0 1 0;
#X connect 18 0 17 0;
#X restore 253 466 pd select;
#X msg 197 488 \$1 \$1 \$1;
#X obj 136 447 clip 0 1;
#X obj 241 141 clip 0 1;
#X obj 280 183 clip 0 1;
#X obj 360 119 clip 0 1;
#X obj 360 139 select 1;
#X msg 149 367 \$1;
#X obj 199 383 abs;
#X obj 238 362 abs;
#X obj 281 396 abs;
#X obj 194 546 unpack f f f;
#X obj 191 577 * 255;
#X obj 239 576 * 255;
#X obj 306 577 * 255;
#X obj 235 630 pack f f f;
#X obj 196 604 int;
#X obj 244 603 int;
#X obj 296 608 int;
#X connect 0 0 35 0;
#X connect 0 1 2 0;
#X connect 1 0 0 0;
#X connect 2 0 31 0;
#X connect 2 1 32 0;
#X connect 2 2 33 0;
#X connect 4 0 1 0;
#X connect 6 0 8 0;
#X connect 7 0 11 1;
#X connect 7 0 28 1;
#X connect 8 0 11 0;
#X connect 8 1 7 0;
#X connect 9 0 8 0;
#X connect 11 0 19 0;
#X connect 12 0 36 0;
#X connect 13 0 14 0;
#X connect 14 0 12 0;
#X connect 15 0 37 0;
#X connect 16 0 17 0;
#X connect 17 0 15 0;
#X connect 18 0 16 0;
#X connect 19 0 18 1;
#X connect 19 1 20 0;
#X connect 20 0 21 0;
#X connect 21 0 25 1;
#X connect 22 0 38 0;
#X connect 23 0 24 0;
#X connect 24 0 22 0;
#X connect 25 0 23 0;
#X connect 26 0 13 0;
#X connect 26 1 18 0;
#X connect 26 2 25 0;
#X connect 27 0 28 0;
#X connect 28 0 39 0;
#X connect 29 0 39 0;
#X connect 30 0 29 0;
#X connect 31 0 26 0;
#X connect 32 0 12 1;
#X connect 32 0 27 3;
#X connect 32 0 15 1;
#X connect 32 0 22 1;
#X connect 33 0 34 0;
#X connect 34 0 9 0;
#X connect 34 1 6 0;
#X connect 35 0 30 0;
#X connect 36 0 27 0;
#X connect 37 0 27 1;
#X connect 38 0 27 2;
#X connect 39 0 40 0;
#X connect 39 1 41 0;
#X connect 39 2 42 0;
#X connect 40 0 44 0;
#X connect 41 0 45 0;
#X connect 42 0 46 0;
#X connect 43 0 5 0;
#X connect 44 0 43 0;
#X connect 45 0 43 1;
#X connect 46 0 43 2;
#X restore 172 413 pd hsvToRgb;
#X obj 35 132 random 1024;
#X obj 35 170 / 1024;
#X obj 315 185 / 1024;
#X obj 314 131 random 512;
#X obj 313 158 + 512;
#X obj 147 209 / 1024;
#X obj 145 182 + 512;
#X obj 145 154 random 512;
#X obj 197 46 metro 5000;
#X obj 177 12 loadbang;
#X msg 46 226 \$1 5000;
#X msg 146 235 \$1 5000;
#X msg 320 254 \$1 5000;
#X obj 239 361 pack 0.4423 0.87 0.67;
#X obj 50 258 line 0.44 150;
#X obj 148 269 line 0.87 150;
#X obj 320 291 line 0.67 150;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 6 0;
#X connect 3 1 13 0;
#X connect 3 2 9 0;
#X connect 4 0 14 0;
#X connect 5 0 1 0;
#X connect 6 0 7 0;
#X connect 7 0 16 0;
#X connect 8 0 18 0;
#X connect 9 0 10 0;
#X connect 10 0 8 0;
#X connect 11 0 17 0;
#X connect 12 0 11 0;
#X connect 13 0 12 0;
#X connect 14 0 3 0;
#X connect 15 0 14 0;
#X connect 16 0 20 0;
#X connect 17 0 21 0;
#X connect 18 0 22 0;
#X connect 19 0 5 0;
#X connect 20 0 19 0;
#X connect 21 0 19 1;
#X connect 22 0 19 2;
#X restore 325 80 pd anim;
#X obj -23 2 cnv 15 400 100 empty \$0c empty 20 12 0 14 -89821 -262144
0;
#X text -18 54 author: mrtoftrash@gmail.com;
#X text -19 33 tags: state routing;
#X text -17 1 description: [param] is a state saving and message routing
system.;
#X text -19 75 version: 2009-10-27 (de localized release);
#X text -20 341 Keyword for defining the param path inside abstractions:
;