From 2862dcf42ccdb0e6598fc7a6bb9f807170f51230 Mon Sep 17 00:00:00 2001 From: Dooho Yi Date: Sat, 26 Nov 2022 22:57:55 +0900 Subject: [PATCH] performance init --- puredata/floating-world-sub.pd | 396 +++++++++++++++++++++++++++++++++ puredata/walker.pd | 172 ++++++++++++++ 2 files changed, 568 insertions(+) create mode 100644 puredata/floating-world-sub.pd create mode 100644 puredata/walker.pd diff --git a/puredata/floating-world-sub.pd b/puredata/floating-world-sub.pd new file mode 100644 index 0000000..cb11355 --- /dev/null +++ b/puredata/floating-world-sub.pd @@ -0,0 +1,396 @@ +#N struct template3 float x float y float w float h float q; +#N canvas 0 33 795 597 12; +#X text 18 16 walker sound-parade/20220116-195752-26b5bfd0-76bb-11ec-a028-edb46eb87eb5/audio.wav +; +#X msg 588 532 \; pd-data3 clear; +#N canvas 800 447 638 300 storage 1; +#X obj 100 100 walker 0.6 40000 sound-parade/20221120-083829-4597a310-6863-11ed-b24c-033593aac5b3/audio.wav +; +#X restore 19 82 pd storage; +#X obj 18 260 list prepend add2; +#X obj 18 285 list trim; +#N canvas 196 114 615 428 noise 0; +#X obj 84 300 else/f2s~ 50; +#X obj 134 331 else/f2s~ 50; +#X msg 84 219 1 \$1; +#X obj 84 244 unpack f f; +#X obj 147 170 expr ($f1/180) * pi; +#X floatatom 147 140 5 0 0 1 deg - - 0; +#X obj 147 99 line; +#X floatatom 185 292 5 0 0 1 spread - - 0; +#X msg 185 267 -0.7; +#X obj 185 242 loadbang; +#X obj 34 26 noise~; +#X obj 34 51 hip~ 50; +#X obj 34 76 lop~ 250; +#X obj 34 101 lop~ 250; +#X obj 34 393 dac~ 1 2 3 4 5 6 7 8; +#X obj 147 18 inlet; +#X obj 84 269 else/pol2car; +#X obj 34 362 else/pan8~, f 22; +#X obj 34 242 *~; +#X obj 52 161 line~; +#X msg 52 136 \$1 5000; +#X obj 345 49 else/pi 1; +#X obj 345 75 v pi; +#X msg 147 68 -45 \, 315 10000; +#X obj 147 43 metro 180000; +#X obj 273 18 inlet; +#X connect 0 0 17 1; +#X connect 1 0 17 2; +#X connect 2 0 3 0; +#X connect 3 0 16 0; +#X connect 3 1 16 1; +#X connect 4 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 17 3; +#X connect 8 0 7 0; +#X connect 9 0 8 0; +#X connect 10 0 11 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 18 0; +#X connect 15 0 20 0; +#X connect 15 0 24 0; +#X connect 16 0 0 0; +#X connect 16 1 1 0; +#X connect 17 0 14 0; +#X connect 17 1 14 1; +#X connect 17 2 14 2; +#X connect 17 3 14 3; +#X connect 17 4 14 4; +#X connect 17 5 14 5; +#X connect 17 6 14 6; +#X connect 17 7 14 7; +#X connect 18 0 17 0; +#X connect 19 0 18 1; +#X connect 20 0 19 0; +#X connect 21 0 22 0; +#X connect 23 0 6 0; +#X connect 24 0 23 0; +#X connect 25 0 23 0; +#X restore 126 514 pd noise panning; +#X obj 126 488 tgl 15 0 empty empty KEEP\\\ SPKRS\\\ AWAKE 17 7 0 10 +#fcfcfc #000000 #000000 0 1; +#X obj 253 499 bng 15 250 50 0 empty empty ! 17 7 0 10 #fcfcfc #000000 +#000000; +#X msg 85 229 add2 \$1; +#X obj 410 496 loadbang; +#X msg 410 521 \; pd dsp 1; +#N canvas 608 33 760 670 archive 0; +#X obj 20 70 vu 20 80 empty empty -1 -8 0 10 #404040 #000000 1 0; +#X obj 19 20 env~; +#X obj 19 44 - 100; +#X obj 70 70 vu 20 80 empty empty -1 -8 0 10 #404040 #000000 1 0; +#X obj 69 20 env~; +#X obj 69 44 - 100; +#X obj 120 70 vu 20 80 empty empty -1 -8 0 10 #404040 #000000 1 0; +#X obj 119 20 env~; +#X obj 119 44 - 100; +#X obj 170 70 vu 20 80 empty empty -1 -8 0 10 #404040 #000000 1 0; +#X obj 169 20 env~; +#X obj 169 44 - 100; +#N canvas 812 185 513 527 stuff 0; +#X obj 182 285 pointer; +#X obj 175 456 append template3 x y w h q; +#X obj 168 48 loadbang; +#X obj 159 106 t b b b; +#X msg 182 237 traverse pd-data3; +#X msg 205 140 \; pd-data3 clear; +#X msg 138 154 0; +#X obj 85 180 f; +#X obj 124 181 + 1; +#X obj 87 156 until; +#X obj 144 236 t b; +#X msg 159 78 bang; +#X obj 382 382 random 1000; +#X obj 159 22 inlet; +#X obj 182 314 trigger bang bang pointer; +#X obj 239 406 + 20; +#X obj 311 406 + 20; +#X obj 158 408 + 10; +#X obj 311 382 random 30; +#X obj 239 382 random 30; +#X obj 77 382 random 590; +#X text 360 342 canvas size 640x350; +#X obj 158 382 random 290; +#X obj 95 416 640; +#X obj 105 210 sel 1; +#X connect 0 0 14 0; +#X connect 2 0 11 0; +#X connect 3 0 9 0; +#X connect 3 1 4 0; +#X connect 3 1 6 0; +#X connect 3 2 5 0; +#X connect 4 0 0 0; +#X connect 6 0 7 1; +#X connect 7 0 8 0; +#X connect 7 0 24 0; +#X connect 8 0 7 1; +#X connect 9 0 7 0; +#X connect 10 0 0 0; +#X connect 11 0 3 0; +#X connect 12 0 1 4; +#X connect 13 0 11 0; +#X connect 14 0 20 0; +#X connect 14 0 23 0; +#X connect 14 1 12 0; +#X connect 14 1 18 0; +#X connect 14 1 19 0; +#X connect 14 1 22 0; +#X connect 14 2 1 5; +#X connect 15 0 1 2; +#X connect 16 0 1 3; +#X connect 17 0 1 1; +#X connect 18 0 16 0; +#X connect 19 0 15 0; +#X connect 22 0 17 0; +#X connect 23 0 1 0; +#X connect 24 0 9 1; +#X connect 24 1 10 0; +#X restore 254 82 pd stuff; +#X msg 254 31 remake; +#X text 278 56 <= click to randomize; +#X floatatom 558 380 5 0 0 0 - - - 0; +#X obj 558 355 + 5000; +#X obj 558 160 hradio 15 1 0 5 empty empty empty 0 -8 0 10 #fcfcfc +#000000 #000000 0; +#X obj 558 180 sel 0 1 2 3 4; +#X msg 575 233 10000; +#X msg 558 132 set \$1; +#X msg 593 259 20000; +#X msg 610 286 30000; +#X msg 628 313 60000; +#X msg 558 208 0; +#X obj 558 91 random 5; +#X obj 558 30 retro 5000 25000; +#X obj 54 285 v n; +#X obj 22 240 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 +#000000; +#X obj 22 260 t b b; +#X obj 22 434 s ask; +#X obj 100 220 r post; +#X msg 22 409 get \$1; +#X obj 100 251 makefilename sound-parade/%s/audio.wav; +#X obj 22 335 f; +#X obj 58 335 + 1; +#X obj 22 360 mod; +#X floatatom 54 310 5 0 0 0 - - - 0; +#X floatatom 22 385 5 0 0 0 - - - 0; +#X obj 116 175 retro 5000 25000; +#X obj 137 443 else/dir; +#X obj 137 590 list store; +#X obj 107 575 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X obj 137 504 list prepend append; +#X obj 137 529 list trim; +#X obj 137 351 bng 15 250 50 0 empty empty update\\\ list 17 7 0 10 +#fcfcfc #000000 #000000; +#X obj 137 371 t b b; +#X obj 221 449 v n; +#X msg 137 412 open /home/doohoyi/Documents/Pd/sound-parade \, dump +\, n; +#X floatatom 172 474 5 0 0 1 n - - 0; +#X obj 137 615 s post; +#X obj 234 553 r ask; +#X obj 137 320 loadbang; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 10 0 11 0; +#X connect 11 0 9 0; +#X connect 13 0 12 0; +#X connect 16 0 15 0; +#X connect 17 0 18 0; +#X connect 18 0 24 0; +#X connect 18 1 19 0; +#X connect 18 2 21 0; +#X connect 18 3 22 0; +#X connect 18 4 23 0; +#X connect 19 0 16 0; +#X connect 20 0 17 0; +#X connect 21 0 16 0; +#X connect 22 0 16 0; +#X connect 23 0 16 0; +#X connect 24 0 16 0; +#X connect 25 0 20 0; +#X connect 26 0 25 0; +#X connect 27 0 37 0; +#X connect 28 0 29 0; +#X connect 29 0 34 0; +#X connect 29 1 27 0; +#X connect 31 0 33 0; +#X connect 32 0 30 0; +#X connect 34 0 35 0; +#X connect 34 0 36 0; +#X connect 35 0 34 1; +#X connect 36 0 38 0; +#X connect 37 0 36 1; +#X connect 38 0 32 0; +#X connect 39 0 28 0; +#X connect 40 0 43 0; +#X connect 40 2 49 0; +#X connect 41 0 50 0; +#X connect 42 0 41 0; +#X connect 43 0 44 0; +#X connect 44 0 41 0; +#X connect 45 0 46 0; +#X connect 46 0 48 0; +#X connect 46 1 41 1; +#X connect 48 0 40 0; +#X connect 49 0 47 0; +#X connect 51 0 41 0; +#X connect 52 0 45 0; +#X restore 279 548 pd archive; +#N canvas 798 33 640 350 data3 1; +#X scalar template3 306.56 111 44 38 532 \;; +#X scalar template3 960 193 37 41 118 \;; +#X scalar template3 960 276 21 35 355 \;; +#X scalar template3 960 286 47 28 543 \;; +#X scalar template3 960 61 49 30 741 \;; +#X scalar template3 960 215 37 31 155 \;; +#X scalar template3 960 202 33 44 133 \;; +#X scalar template3 960 269 48 31 299 \;; +#X scalar template3 960 172 48 25 808 \;; +#X scalar template3 960 183 35 41 220 \;; +#X scalar template3 960 30 21 29 509 \;; +#X scalar template3 960 115 37 26 688 \;; +#X scalar template3 960 95 41 28 65 \;; +#X scalar template3 960 173 26 22 123 \;; +#X scalar template3 960 184 26 34 520 \;; +#X scalar template3 960 93 36 38 722 \;; +#X scalar template3 960 160 36 49 755 \;; +#X scalar template3 960 213 29 41 82 \;; +#X scalar template3 960 32 43 25 112 \;; +#X scalar template3 960 137 20 41 323 \;; +#X scalar template3 960 73 43 35 523 \;; +#X scalar template3 960 288 34 27 219 \;; +#X scalar template3 960 52 46 36 132 \;; +#X scalar template3 960 281 20 21 817 \;; +#X scalar template3 960 74 20 20 422 \;; +#X scalar template3 960 45 39 36 565 \;; +#X scalar template3 960 246 40 23 838 \;; +#X scalar template3 960 224 36 34 936 \;; +#X scalar template3 960 68 29 47 412 \;; +#X scalar template3 960 250 44 47 55 \;; +#X scalar template3 960 277 41 41 391 \;; +#X scalar template3 960 54 34 39 319 \;; +#X scalar template3 960 204 26 33 359 \;; +#X scalar template3 960 24 42 48 530 \;; +#X scalar template3 960 199 30 36 861 \;; +#X scalar template3 960 104 36 38 512 \;; +#X scalar template3 960 296 20 43 33 \;; +#X scalar template3 960 187 26 24 240 \;; +#X scalar template3 960 168 34 40 222 \;; +#X scalar template3 960 82 49 27 466 \;; +#X scalar template3 960 259 36 45 613 \;; +#X scalar template3 960 59 44 42 339 \;; +#X scalar template3 960 146 43 34 355 \;; +#X scalar template3 960 85 29 44 38 \;; +#X scalar template3 960 105 49 34 184 \;; +#X scalar template3 960 223 22 47 388 \;; +#X scalar template3 960 52 33 25 48 \;; +#X scalar template3 960 165 23 44 492 \;; +#X scalar template3 960 238 47 45 735 \;; +#X scalar template3 960 202 20 25 853 \;; +#X scalar template3 960 49 34 45 494 \;; +#X scalar template3 960 184 41 25 499 \;; +#X scalar template3 960 146 31 46 663 \;; +#X scalar template3 960 52 33 29 609 \;; +#X scalar template3 960 110 30 31 293 \;; +#X scalar template3 960 248 48 41 135 \;; +#X scalar template3 960 287 26 33 772 \;; +#X scalar template3 960 74 38 36 934 \;; +#X scalar template3 960 16 33 38 951 \;; +#X scalar template3 960 128 20 48 383 \;; +#X scalar template3 960 57 29 28 770 \;; +#X scalar template3 960 234 40 30 514 \;; +#X scalar template3 960 86 20 37 881 \;; +#X scalar template3 960 131 37 30 631 \;; +#X scalar template3 960 259 45 29 273 \;; +#X scalar template3 960 162 42 23 441 \;; +#X scalar template3 960 11 42 42 401 \;; +#X scalar template3 960 81 38 26 175 \;; +#X scalar template3 960 199 48 35 304 \;; +#X scalar template3 960 25 44 21 215 \;; +#X scalar template3 960 17 40 33 236 \;; +#X scalar template3 960 194 21 39 217 \;; +#X scalar template3 960 299 40 21 288 \;; +#X scalar template3 960 86 40 40 738 \;; +#X scalar template3 960 142 45 42 16 \;; +#X scalar template3 960 59 43 24 863 \;; +#X scalar template3 960 209 33 33 562 \;; +#X scalar template3 960 131 42 32 823 \;; +#X scalar template3 960 229 38 26 781 \;; +#X scalar template3 960 92 35 49 628 \;; +#X scalar template3 960 261 38 40 366 \;; +#X scalar template3 960 190 23 49 186 \;; +#X scalar template3 960 226 29 37 972 \;; +#X scalar template3 960 226 46 31 931 \;; +#X scalar template3 960 160 47 33 845 \;; +#X scalar template3 960 100 33 49 950 \;; +#X scalar template3 960 32 37 36 941 \;; +#X scalar template3 960 205 49 44 601 \;; +#X scalar template3 960 290 21 45 554 \;; +#X scalar template3 960 91 26 45 645 \;; +#X scalar template3 960 227 38 25 442 \;; +#X scalar template3 960 164 27 38 868 \;; +#X scalar template3 960 267 35 29 951 \;; +#X scalar template3 960 57 31 30 706 \;; +#X scalar template3 960 187 46 27 139 \;; +#X scalar template3 960 189 36 34 372 \;; +#X scalar template3 960 240 45 23 902 \;; +#X scalar template3 960 280 41 36 476 \;; +#X scalar template3 960 109 29 20 99 \;; +#X scalar template3 960 180 25 33 158 \;; +#X scalar template3 960 169 32 31 178 \;; +#X scalar template3 960 128 20 33 704 \;; +#X scalar template3 960 294 41 34 299 \;; +#X scalar template3 960 133 44 47 177 \;; +#X scalar template3 960 256 33 38 958 \;; +#X scalar template3 960 229 45 45 543 \;; +#X scalar template3 960 270 31 36 618 \;; +#X scalar template3 960 147 36 37 288 \;; +#X scalar template3 640 249 28 46 554 \;; +#X restore 610 475 pd data3; +#N canvas 861 486 512 300 template3 0; +#X obj 48 98 filledpolygon q 0 1 0 0 w 0 w h 0 h; +#X text 44 53 five numeric ("float") fields; +#X text 48 118 drawing a rectangle \, interior color q \, border black +and one unit thick \, through the points (0 \, 0) \, (w \, 0) \, (w +\, h) \, and (0 \, h). Note that the three points containing variables +become hot spots for mouse dragging.; +#X obj 46 33 struct template3 float x float y float w float h float +q; +#X restore 610 500 pd template3; +#X obj 18 152 netreceive 3000; +#X msg 542 55 connect 192.168.43.3 3000; +#X obj 542 80 netsend; +#X floatatom 615 23 5 0 0 0 - - - 0; +#X obj 18 177 unpack s f; +#X obj 85 202 t f b; +#X obj 18 310 t b a; +#X msg 50 349 \; pd-storage obj 100 100 walker 0.6 40000 sound-parade/20221120-083829-4597a310-6863-11ed-b24c-033593aac5b3/audio.wav +; +#X msg 90 321 set \, addsemi \, add2 pd-storage obj 100 100 walker +0.45; +#X connect 3 0 4 0; +#X connect 4 0 20 0; +#X connect 6 0 5 0; +#X connect 7 0 5 1; +#X connect 8 0 21 0; +#X connect 9 0 10 0; +#X connect 14 0 18 0; +#X connect 15 0 16 0; +#X connect 17 0 16 0; +#X connect 18 0 3 0; +#X connect 18 1 19 0; +#X connect 19 0 8 0; +#X connect 19 1 22 0; +#X connect 20 0 21 0; +#X connect 20 1 21 0; +#X connect 22 0 21 0; diff --git a/puredata/walker.pd b/puredata/walker.pd new file mode 100644 index 0000000..fcce32c --- /dev/null +++ b/puredata/walker.pd @@ -0,0 +1,172 @@ +#N canvas 48 33 449 261 12; +#X text 181 120 loadbang won't fire when this is created by 'dynamic +patching' => we can rely on 'initbang'@iemguts, f 29; +#N canvas 0 33 778 658 \$0-guts 0; +#X floatatom 335 529 5 0 0 1 x_pos - - 0; +#X obj 335 498 line; +#N canvas 206 107 531 579 anime 0; +#X floatatom 46 505 0 0 0 0 - - - 0; +#X obj 46 529 set template3 x; +#X obj 46 26 inlet; +#X obj 148 26 inlet; +#X obj 187 136 pointer; +#X obj 180 307 append template3 x y w h q; +#X obj 387 233 random 1000; +#X obj 187 165 trigger bang bang pointer; +#X obj 244 257 + 20; +#X obj 316 257 + 20; +#X obj 163 259 + 10; +#X obj 316 233 random 30; +#X obj 244 233 random 30; +#X text 365 193 canvas size 640x350; +#X obj 163 233 random 290; +#X obj 100 237 640; +#X obj 148 51 t b; +#X obj 180 529 outlet; +#X msg 187 88 traverse pd-data3 \, bang; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 3 0 16 0; +#X connect 4 0 7 0; +#X connect 5 0 1 1; +#X connect 5 0 17 0; +#X connect 6 0 5 4; +#X connect 7 0 15 0; +#X connect 7 1 6 0; +#X connect 7 1 11 0; +#X connect 7 1 12 0; +#X connect 7 1 14 0; +#X connect 7 2 5 5; +#X connect 8 0 5 2; +#X connect 9 0 5 3; +#X connect 10 0 5 1; +#X connect 11 0 9 0; +#X connect 12 0 8 0; +#X connect 14 0 10 0; +#X connect 15 0 5 0; +#X connect 16 0 18 0; +#X connect 18 0 4 0; +#X restore 474 375 pd anime; +#X msg 335 341 320; +#X obj 103 405 pol2car; +#X obj 103 436 else/f2s~ 50; +#X obj 168 468 else/f2s~ 50; +#X msg 103 355 1 \$1; +#X obj 103 380 unpack f f; +#X obj 176 326 expr ($f1/180) * pi; +#X floatatom 176 296 5 0 0 1 deg - - 0; +#X obj 176 271 line; +#X floatatom 232 428 5 0 0 1 spread - - 0; +#X msg 77 188 loop 1; +#X msg 232 403 -0.7; +#X obj 176 94 bng 15 250 50 0 empty empty send! 17 7 0 10 #fcfcfc #000000 +#000000; +#X obj 229 36 else/pi 1; +#X obj 229 62 v pi; +#X obj 50 578 env~; +#X obj 90 578 env~; +#X obj 130 578 env~; +#X obj 170 578 env~; +#X floatatom 50 603 5 0 0 0 - - - 0; +#X floatatom 90 603 5 0 0 0 - - - 0; +#X floatatom 130 603 5 0 0 0 - - - 0; +#X floatatom 170 603 5 0 0 0 - - - 0; +#X obj 19 16 loadbang; +#X obj 19 66 t b a b b; +#X msg 39 153 open \$1; +#X obj 561 349 del; +#X text 671 425 done->gone; +#X obj 561 374 t b b; +#X text 509 170 TODO: dont't dynamically generate and use image objects +\, but instead \, generate 200 and manage my id to grap one and that's +it., f 31; +#X text 476 497 now \, temporarily disabled deleting leftover rectangles +from the list. they will just accumulate., f 31; +#X text 490 98 scene = 112.5deg ~ 247.5deg; +#X text 512 122 then \, select 1-4 ch.; +#X text 492 80 motion = +45 deg -> -45 deg (315)deg; +#X obj 232 378 loadbang; +#X obj 561 426 canvasdelete 2; +#X obj 39 548 dac~ 1 2 3 4 5 6; +#X obj 39 507 else/pan8~, f 28; +#X obj 39 246 else/player~; +#X obj 39 341 *~ \$1; +#X obj 367 58 f \$2; +#X obj 19 41 symbol \$3; +#X floatatom 176 222 5 0 0 1 duration - - 0; +#X msg 176 246 -45 \, 315 \$1; +#X obj 176 119 t b b b b b; +#X obj 335 436 pack f f f; +#X msg 335 467 \$1 \, \$2 \$3; +#X obj 561 324 v duration\$0; +#X obj 176 197 v duration\$0; +#X obj 367 83 v duration\$0; +#X obj 335 370 expr $f1*-1 \; $f1+640 \; duration\$0; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 3 0 53 0; +#X connect 4 0 5 0; +#X connect 4 1 6 0; +#X connect 5 0 40 1; +#X connect 6 0 40 2; +#X connect 7 0 8 0; +#X connect 8 0 4 0; +#X connect 8 1 4 1; +#X connect 9 0 7 0; +#X connect 10 0 9 0; +#X connect 11 0 10 0; +#X connect 12 0 40 3; +#X connect 13 0 41 0; +#X connect 14 0 12 0; +#X connect 15 0 47 0; +#X connect 16 0 17 0; +#X connect 18 0 22 0; +#X connect 19 0 23 0; +#X connect 20 0 24 0; +#X connect 21 0 25 0; +#X connect 26 0 44 0; +#X connect 27 0 15 0; +#X connect 27 1 28 0; +#X connect 27 2 13 0; +#X connect 28 0 41 0; +#X connect 29 0 31 0; +#X connect 31 0 38 0; +#X connect 37 0 14 0; +#X connect 40 0 18 0; +#X connect 40 0 39 0; +#X connect 40 1 19 0; +#X connect 40 1 39 1; +#X connect 40 2 20 0; +#X connect 40 2 39 2; +#X connect 40 3 21 0; +#X connect 40 3 39 3; +#X connect 40 4 39 4; +#X connect 40 5 39 5; +#X connect 41 0 42 0; +#X connect 42 0 40 0; +#X connect 43 0 52 0; +#X connect 44 0 27 0; +#X connect 45 0 46 0; +#X connect 46 0 11 0; +#X connect 47 0 51 0; +#X connect 47 1 3 0; +#X connect 47 2 2 1; +#X connect 47 3 50 0; +#X connect 47 4 43 0; +#X connect 48 0 49 0; +#X connect 49 0 1 0; +#X connect 50 0 29 0; +#X connect 51 0 45 0; +#X connect 53 0 48 0; +#X connect 53 1 48 1; +#X connect 53 2 48 2; +#X restore 48 194 pd \$0-guts; +#X obj 49 152 s pd-\$0-guts; +#X obj 49 92 del; +#X msg 49 67 300; +#X obj 49 32 initbang; +#X msg 49 127 loadbang; +#X connect 3 0 6 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 6 0 2 0;