Mercurial > hg > weather-synthesis-prototyping
view SwordSounds2/woosh_D5.pd @ 303:8b51c20529a6
Edgetone development models
author | Rod Selfridge <r.selfridge@qmul.ac.uk> |
---|---|
date | Sat, 11 Nov 2017 17:43:39 +0000 |
parents | 6aaeb2789f99 |
children |
line wrap: on
line source
#N canvas 0 44 1412 817 10; #X obj 551 -93 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; #X obj 614 -93 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0; #X text 611 -184 Gain; #X obj 550 -210 loadbang; #N canvas 865 368 284 318 opLevels 0; #X obj 85 188 dac~; #X obj 30 70 catch~ l; #X obj 155 76 catch~ r; #X obj 155 106 *~ 0.45; #X obj 30 104 *~ 0.45; #X obj 30 210 prvu~; #X obj 155 213 prvu~; #X obj 100 69 / 127; #X obj 100 34 inlet; #X obj 30 239 outlet; #X obj 155 241 outlet; #X obj 155 132 /~ 1; #X obj 30 131 /~ 1; #X obj 204 29 inlet; #X connect 1 0 4 0; #X connect 2 0 3 0; #X connect 3 0 11 0; #X connect 4 0 12 0; #X connect 5 0 9 0; #X connect 6 0 10 0; #X connect 7 0 3 1; #X connect 7 0 4 1; #X connect 8 0 7 0; #X connect 11 0 0 1; #X connect 11 0 6 0; #X connect 12 0 0 0; #X connect 12 0 5 0; #X connect 13 0 12 1; #X connect 13 0 11 1; #X restore 550 -136 pd opLevels; #X msg 550 -187 5; #N canvas 248 96 1173 780 speedCalc 0; #X obj 59 -12 inlet; #X obj 135 -11 inlet; #X obj 217 -12 inlet; #X obj 317 -12 inlet; #X obj 59 11 s \$0_swLen; #X obj 135 11 s \$0_armLen; #X obj 317 10 s \$0_tipSpeed; #X obj 541 325 r \$0_tipSpeed; #X obj 610 525 outlet; #X obj 610 502 r \$0_minSpeed; #X obj 526 426 s \$0_minSpeed; #X obj 709 502 r \$0_deltaSpeed; #X obj 903 423 s \$0_deltaSpeed; #X obj 709 525 outlet; #X obj 611 192 r \$0_swLen; #X obj 526 304 /; #X floatatom 480 331 5 0 0 0 - - -; #X obj 626 215 r \$0_armLen; #X obj 611 282 +; #X obj 626 237 t f b; #X floatatom 611 304 5 0 0 0 - - -; #X obj 498 231 r \$0_armLen; #X obj 217 11 s \$0_sourceTot; #X obj 918 362 r \$0_sourceTot; #X obj 526 402 *; #X floatatom 484 426 5 0 0 0 - - -; #X obj 918 274 r \$0_minSpeed; #X obj 903 341 -; #X obj 903 251 r \$0_tipSpeed; #X obj 903 384 /; #X obj 918 295 t f b; #X floatatom 920 403 5 0 0 0 - - -; #X obj 945 318 delay 9; #X text 643 286 Length of blade and arm; #X obj 498 253 t f b; #X obj 525 277 delay 9; #X obj 653 261 delay 6; #X text 350 304 Ratio of arm to total length; #X text 468 449 Speed of blade at the hilt; #X text 786 335 Difference between; #X text 768 347 speed at tip and hilt; #X text 858 445 Difference in speed for each source; #X text 858 457 based on a linear scale; #X text 417 16 as well as the difference in speed of each source; #X text 431 2 Patch that calculates the minimum speed; #X obj 541 348 t f b; #X obj 567 371 delay 8; #X connect 0 0 4 0; #X connect 1 0 5 0; #X connect 2 0 22 0; #X connect 3 0 6 0; #X connect 7 0 45 0; #X connect 9 0 8 0; #X connect 11 0 13 0; #X connect 14 0 18 0; #X connect 15 0 16 0; #X connect 15 0 24 0; #X connect 17 0 19 0; #X connect 18 0 20 0; #X connect 18 0 15 1; #X connect 19 0 18 1; #X connect 19 1 36 0; #X connect 21 0 34 0; #X connect 23 0 29 1; #X connect 24 0 10 0; #X connect 24 0 25 0; #X connect 26 0 30 0; #X connect 27 0 29 0; #X connect 28 0 27 0; #X connect 29 0 31 0; #X connect 29 0 12 0; #X connect 30 0 27 1; #X connect 30 1 32 0; #X connect 32 0 27 0; #X connect 34 0 15 0; #X connect 34 1 35 0; #X connect 35 0 15 0; #X connect 36 0 18 0; #X connect 45 0 24 1; #X connect 45 1 46 0; #X connect 46 0 24 0; #X restore 544 150 pd speedCalc; #X floatatom 453 174 8 0 0 0 - - -; #X floatatom 698 172 8 0 0 0 - - -; #X msg 24 -215 1; #X msg -178 -206 100; #X obj 544 55 r bladeLen; #X obj 567 78 r armLength; #X obj 590 102 r NoOfSources; #X obj 613 127 r topSpeed; #X obj 24 -192 s bladeLen; #X obj -178 -183 s NoOfSources; #X obj 85 141 s topSpeed; #X obj 33 115 hsl 100 20 0 100 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 3857 1; #X floatatom 30 141 8 0 0 0 - - -; #X text 57 -216 Blade Length; #X text 56 -150 Arm Length; #X text -150 -206 Number of Sources; #X text 141 119 Top Speed; #X obj 820 -141 hsl 100 20 0 360 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 3000 1; #X floatatom 817 -109 8 0 0 0 - - -; #X obj 518 174 s firstSpeed; #X obj 613 173 s deltaSpeed; #N canvas 687 370 426 335 thickCalc 0; #X obj 173 139 r NoOfSources; #X obj 158 115 -; #X obj 158 164 /; #X floatatom 126 147 5 0 0 0 - - -; #X floatatom 94 189 8 0 0 0 - - -; #X obj 173 72 t f b; #X obj 200 95 delay 9; #X text 58 237 Calculates the difference in thickness between sources ; #X text 59 254 based on the blade tapering in a straight line; #X obj 158 19 r hiltThick; #X obj 173 44 r tipThick; #X obj 158 187 s deltaThick; #X connect 0 0 2 1; #X connect 1 0 2 0; #X connect 1 0 3 0; #X connect 2 0 4 0; #X connect 2 0 11 0; #X connect 5 0 1 1; #X connect 5 1 6 0; #X connect 6 0 1 0; #X connect 9 0 1 0; #X connect 10 0 5 0; #X restore 382 -113 pd thickCalc; #X obj 27 202 hsl 100 20 0 0.03 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 6205 1; #X obj 26 287 hsl 100 20 0 0.01 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 7475 1; #X floatatom 24 232 8 0 0 0 - - -; #X obj 78 231 s hiltThick; #X floatatom 23 315 8 0 0 0 - - -; #X obj 81 314 s tipThick; #X text 141 204 Hilt Thickness; #X text 133 288 Tip Thickness; #X obj 224 -170 bng 50 250 50 0 empty empty empty 17 7 0 10 -4034 -1 -1; #X obj 224 -117 s GO; #X obj -259 128 hsl 100 20 100 1 1 0 empty empty empty -2 -8 0 10 -262144 -1 -1 6920 1; #X obj -263 213 hsl 100 20 -180 180 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 7425 1; #X floatatom -262 154 8 0 0 0 - - -; #X text -149 132 Distance to Observer; #X floatatom -266 241 8 0 0 0 - - -; #X text -141 207 Angle to Observer; #X obj 224 -216 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 224 -197 metro 200; #X obj 278 -221 hsl 100 20 300 50 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X obj 164 -170 bng 50 250 50 0 empty empty empty 17 7 0 10 -257985 -1 -1; #X obj 164 -117 s setUp; #X obj -23 89 r setUp; #X obj 759 -161 r setUp; #X obj -27 179 r setUp; #X obj -28 267 r setUp; #X obj -314 107 r setUp; #X obj -317 191 r setUp; #X obj -203 155 s obsDistance; #X obj -207 242 s obsAngle; #N canvas 184 363 911 675 circumferCalc 1; #X obj 440 104 +; #X obj 440 127 s length; #X obj 168 153 r start_armLength; #X obj 153 86 r presweepAzim; #X obj 644 76 bng 50 250 50 0 empty empty empty 17 7 0 10 -4034 -1 -1; #X obj 644 129 s GO; #X obj 584 76 bng 50 250 50 0 empty empty empty 17 7 0 10 -257985 -1 -1; #X obj 584 129 s setUp; #X obj 153 132 * 6.28312; #X obj 153 110 / 360; #X obj 153 174 *; #X floatatom 91 198 5 0 0 0 - - -; #X text 194 175 Circumference of the nearest source on blade; #X text 307 191 up to 0 azimuth; #X obj 153 200 s minPreCirc; #X obj 452 300 r start_armLength; #X obj 437 279 * 6.28312; #X obj 437 257 / 360; #X obj 437 321 *; #X floatatom 375 345 5 0 0 0 - - -; #X text 478 322 Circumference of the nearest source on blade; #X text 914 158 up to 0 azimuth; #X obj 437 233 r postsweepAzim; #X obj 437 347 s minPostCirc; #X obj 149 252 r presweepAzim; #X obj 149 298 * 6.28312; #X obj 149 276 / 360; #X obj 149 342 *; #X obj 164 320 r length; #X floatatom 111 364 5 0 0 0 - - -; #X obj 440 57 r bladeLen; #X obj 455 81 r start_armLength; #X obj 437 434 * 6.28312; #X obj 437 412 / 360; #X obj 437 478 *; #X obj 452 456 r length; #X floatatom 399 501 5 0 0 0 - - -; #X obj 437 388 r postsweepAzim; #X obj 164 362 r minPreCirc; #X obj 149 383 -; #X obj 149 426 /; #X floatatom 111 454 5 0 0 0 - - -; #X obj 164 403 r NoOfSources; #X obj 149 454 s deltaPreCirc; #X obj 437 519 -; #X obj 437 562 /; #X obj 452 539 r NoOfSources; #X obj 452 498 r minPostCirc; #X obj 437 590 s deltaPostCirc; #X floatatom 397 591 5 0 0 0 - - -; #X text 33 334 Max Circumference; #X text 323 472 Max Circumference; #X connect 0 0 1 0; #X connect 2 0 10 1; #X connect 3 0 9 0; #X connect 4 0 5 0; #X connect 6 0 7 0; #X connect 8 0 10 0; #X connect 9 0 8 0; #X connect 10 0 11 0; #X connect 10 0 14 0; #X connect 15 0 18 1; #X connect 16 0 18 0; #X connect 17 0 16 0; #X connect 18 0 19 0; #X connect 18 0 23 0; #X connect 22 0 17 0; #X connect 24 0 26 0; #X connect 25 0 27 0; #X connect 26 0 25 0; #X connect 27 0 29 0; #X connect 27 0 39 0; #X connect 28 0 27 1; #X connect 30 0 0 0; #X connect 31 0 0 1; #X connect 32 0 34 0; #X connect 33 0 32 0; #X connect 34 0 36 0; #X connect 34 0 44 0; #X connect 35 0 34 1; #X connect 37 0 33 0; #X connect 38 0 39 1; #X connect 39 0 40 0; #X connect 40 0 41 0; #X connect 40 0 43 0; #X connect 42 0 40 1; #X connect 44 0 45 0; #X connect 45 0 48 0; #X connect 45 0 49 0; #X connect 46 0 45 1; #X connect 47 0 44 1; #X restore 357 -36 pd circumferCalc; #N canvas 303 28 1094 768 angleCalc 0; #X obj -129 105 * 0.75; #X obj 325 234 * 0.25; #X obj -129 145 /; #X obj -144 199 * 1000; #X obj 263 254 delay \$1; #X obj 236 202 f; #X obj 236 159 r GO; #X obj 236 228 t f b; #X msg 227 367 0; #X obj 325 276 /; #X obj 325 298 * 1000; #X obj -127 225 s \$0_thisDe; #X obj 251 181 r \$0_thisDe; #X obj 145 237 r sweepAngle; #X obj -129 81 r maxCirc; #X obj 325 212 r maxCirc; #X obj -114 124 r topSpeed; #X obj 340 255 r topSpeed; #X obj 644 360 delay \$1; #X obj 646 302 f; #X obj 639 248 r GO; #X obj 646 328 t f b; #X obj 682 208 r maxCirc; #X obj 697 230 r topSpeed; #X obj 682 254 /; #X obj 682 276 * 1000; #X obj 644 407 s end; #X obj -77 312 r end; #X obj 145 260 * -0.25; #X text -193 45 0.75 represents the ratio of swing that; #X text 200 118 0.25 represents the ratio of swing that; #X text 200 132 the sword is decelerating; #X text -102 149 Time taken for acceleration; #X text -54 221 Send as a delay; #X text 280 160 Recieve as a delay; #X text -36 312 Reset angle; #X text -38 325 once swing complete; #X text 622 426 Send bang message at the; #X text 623 438 end of the swing to reset; #X text 379 296 Time for last; #X text 381 307 1/4 of swing; #X text -193 59 the sword is before 0 degrees; #X text -121 700 Output of complete swing \, split into 75% before 0 degrees and 25% past 0 degrees; #X text 568 517 Once delay from start to 0 degrees complete; #X text 564 535 count down from 0 to finish the total swing angle; #X text 98 9 Patch that calculates the angle between 0 degrees for the full length of the swing; #X obj -144 482 line~; #X obj 86 601 metro 10; #X obj 86 632 snapshot~; #X floatatom 85 656 8 0 0 0 - - -; #X obj 172 397 line~; #X msg 172 350 \$1 \$2; #X obj 151 319 pack; #X obj 86 570 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom -108 266 5 0 0 0 - - -; #X msg -90 438 \$1; #X obj -48 365 r sweepAngle; #X obj -48 387 * 0.75; #X msg -144 427 0 \$1; #X obj -62 341 r setUp; #X obj 151 294 f; #X obj -4 549 +~; #X obj 227 342 r setUp; #X floatatom -63 474 5 0 0 0 - - -; #X text 11 464 comment; #X obj -63 409 f; #X floatatom -26 434 5 0 0 0 - - -; #X obj 286 343 r end; #X obj 632 276 delay 9; #X obj 644 383 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj -144 174 f; #X obj -163 143 r GO; #X obj -4 633 s~ swordAngle; #X text 241 325 Set to 0 at end; #X obj 86 545 loadbang; #X obj 68 509 r obsAngle; #X obj -4 576 +~ 1; #X text 141 470 Adding in the observer angle here offsets the swing angle by the angle the observer is at. This makes all the future calculations as if the observer is positioned at 0 degrees to the swordSwing.; #X connect 0 0 2 0; #X connect 1 0 9 0; #X connect 2 0 70 1; #X connect 3 0 11 0; #X connect 3 0 54 0; #X connect 3 0 58 0; #X connect 4 0 60 0; #X connect 5 0 7 0; #X connect 6 0 5 0; #X connect 7 0 4 1; #X connect 7 1 4 0; #X connect 8 0 50 0; #X connect 9 0 10 0; #X connect 10 0 52 1; #X connect 12 0 5 1; #X connect 13 0 28 0; #X connect 14 0 0 0; #X connect 15 0 1 0; #X connect 16 0 2 1; #X connect 17 0 9 1; #X connect 18 0 69 0; #X connect 19 0 21 0; #X connect 20 0 68 0; #X connect 21 0 18 1; #X connect 21 1 18 0; #X connect 22 0 24 0; #X connect 23 0 24 1; #X connect 24 0 25 0; #X connect 25 0 19 1; #X connect 27 0 65 0; #X connect 28 0 60 1; #X connect 46 0 61 0; #X connect 47 0 48 0; #X connect 48 0 49 0; #X connect 50 0 61 1; #X connect 51 0 50 0; #X connect 52 0 51 0; #X connect 53 0 47 0; #X connect 55 0 46 0; #X connect 55 0 63 0; #X connect 56 0 57 0; #X connect 57 0 65 1; #X connect 57 0 66 0; #X connect 58 0 46 0; #X connect 59 0 65 0; #X connect 60 0 52 0; #X connect 61 0 76 0; #X connect 62 0 8 0; #X connect 65 0 55 0; #X connect 67 0 8 0; #X connect 68 0 19 0; #X connect 69 0 26 0; #X connect 70 0 3 0; #X connect 71 0 70 0; #X connect 74 0 53 0; #X connect 75 0 76 1; #X connect 76 0 72 0; #X connect 76 0 48 0; #X restore 381 -146 pd angleCalc; #X obj 553 -165 hsl 100 25 0 127 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 4018 1; #X obj 24 -239 loadbang; #X obj 22 -170 loadbang; #X obj -178 -228 loadbang; #X msg -176 -134 0; #X obj -176 -112 s elev; #X text -144 219 (Azimuth); #X obj -176 -157 loadbang; #X obj 447 555 s thisTS; #X obj 466 534 s thisSA; #X obj 486 512 s thisHT; #X obj 505 489 s thisTT; #X obj 525 468 s thisOD; #X obj 544 448 s thisOA; #X obj 564 426 s thisG; #X obj 30 89 r thisTS; #X obj 817 -162 r thisSA; #X obj 24 179 r thisHT; #X obj 23 267 r thisTT; #X obj -262 107 r thisOD; #X obj -265 192 r thisOA; #X obj 498 -185 r thisG; #X obj 447 402 unpack f f f f f f f; #X obj -228 -157 r setUp; #X obj -231 -226 r setUp; #X obj -27 -172 r setUp; #X obj -28 -237 r setUp; #X text 550 195 Speed calculations; #X text 384 402 Presets; #X msg 456 297 20 160 0.01 0.004 2 0 127; #X msg 447 274 43 215 0.0085 0.0025 4 90 40; #X msg 466 320 30 280 0.0095 0.0032 2 60 120; #X text 716 283 Currently the noise sources are not connected but still getting a zipping type sound. It seems to get worse with sources lower down the blade - this needs looked into; #X obj 447 245 loadbang; #X obj 164 -222 loadbang; #X obj 164 -198 delay 13; #X obj 399 327 t b; #X obj 379 350 s setUp; #X obj -267 287 hsl 100 20 -180 180 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X floatatom -270 315 8 0 0 0 - - -; #X text -145 281 Angle to Observer; #X obj -321 265 r setUp; #X obj -269 266 r thisOE; #X obj -211 316 s obsElev; #X text -148 293 (Elevation); #X obj 818 -63 hsl 100 20 0 360 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 1300 1; #X floatatom 815 -31 8 0 0 0 - - -; #X obj 757 -83 r setUp; #X obj 815 -84 r thisSA; #X obj 813 50 hsl 100 20 0 360 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 5912 1; #X floatatom 810 82 8 0 0 0 - - -; #X obj 752 30 r setUp; #X obj 810 29 r thisSA; #X obj 811 128 hsl 100 20 0 360 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 5912 1; #X floatatom 808 160 8 0 0 0 - - -; #X obj 750 108 r setUp; #X obj 808 107 r thisSA; #N canvas 419 64 689 650 allSource 0; #X obj 401 300 r distance; #X obj 384 279 r angle; #X obj 367 238 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 367 210 r setUp; #X obj 418 320 r elev; #X msg 367 257 6; #X obj 127 302 r distance; #X obj 110 281 r angle; #X obj 93 240 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 93 212 r setUp; #X obj 144 322 r elev; #X obj 269 303 r distance; #X obj 252 282 r angle; #X obj 235 241 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 235 213 r setUp; #X obj 286 323 r elev; #X msg 93 259 8; #X msg 235 260 7; #X obj 187 127 r distance; #X obj 170 106 r angle; #X obj 153 65 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 153 37 r setUp; #X obj 204 147 r elev; #X obj 329 128 r distance; #X obj 312 107 r angle; #X obj 295 66 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 295 38 r setUp; #X obj 346 148 r elev; #X msg 153 84 10; #X msg 295 85 9; #X obj 153 170 tenSource; #X obj 367 343 tenSource; #X obj 93 345 tenSource; #X obj 235 346 tenSource; #X obj 295 171 tenSource; #X connect 0 0 31 2; #X connect 1 0 31 1; #X connect 2 0 5 0; #X connect 3 0 2 0; #X connect 4 0 31 3; #X connect 5 0 31 0; #X connect 6 0 32 2; #X connect 7 0 32 1; #X connect 8 0 16 0; #X connect 9 0 8 0; #X connect 10 0 32 3; #X connect 11 0 33 2; #X connect 12 0 33 1; #X connect 13 0 17 0; #X connect 14 0 13 0; #X connect 15 0 33 3; #X connect 16 0 32 0; #X connect 17 0 33 0; #X connect 18 0 30 2; #X connect 19 0 30 1; #X connect 20 0 28 0; #X connect 21 0 20 0; #X connect 22 0 30 3; #X connect 23 0 34 2; #X connect 24 0 34 1; #X connect 25 0 29 0; #X connect 26 0 25 0; #X connect 27 0 34 3; #X connect 28 0 30 0; #X connect 29 0 34 0; #X restore 381 -85 pd allSource; #X obj 865 81 s presweepElev; #X obj 863 159 s postsweepElev; #X text 924 51 pre-sweep elevation; #X text 922 128 post-sweep elevation; #X text 931 -140 pre-sweep azimuth; #X text 929 -62 post-sweep azimuth; #X obj 872 -110 s presweepAzim; #X obj 870 -32 s postsweepAzim; #X obj 22 -128 s start_armLength; #X msg 22 -149 0.35; #X obj 400 -60 sweepTime; #X obj 662 -205 hsl 100 25 1 100 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 6600 1; #X floatatom 678 -165 5 0 0 0 - - -; #X connect 3 0 5 0; #X connect 4 0 0 0; #X connect 4 1 1 0; #X connect 5 0 60 0; #X connect 6 0 7 0; #X connect 6 0 26 0; #X connect 6 1 8 0; #X connect 6 1 27 0; #X connect 9 0 15 0; #X connect 10 0 16 0; #X connect 11 0 6 0; #X connect 12 0 6 1; #X connect 13 0 6 2; #X connect 14 0 6 3; #X connect 18 0 17 0; #X connect 18 0 19 0; #X connect 24 0 25 0; #X connect 24 0 124 0; #X connect 29 0 31 0; #X connect 29 0 32 0; #X connect 30 0 33 0; #X connect 30 0 34 0; #X connect 37 0 38 0; #X connect 39 0 41 0; #X connect 39 0 56 0; #X connect 40 0 43 0; #X connect 40 0 57 0; #X connect 45 0 46 0; #X connect 46 0 37 0; #X connect 47 0 46 1; #X connect 48 0 49 0; #X connect 50 0 18 0; #X connect 51 0 24 0; #X connect 52 0 29 0; #X connect 53 0 30 0; #X connect 54 0 39 0; #X connect 55 0 40 0; #X connect 60 0 4 0; #X connect 61 0 9 0; #X connect 62 0 127 0; #X connect 63 0 10 0; #X connect 64 0 65 0; #X connect 67 0 64 0; #X connect 75 0 18 0; #X connect 77 0 29 0; #X connect 78 0 30 0; #X connect 79 0 39 0; #X connect 80 0 40 0; #X connect 81 0 60 0; #X connect 82 0 68 0; #X connect 82 1 69 0; #X connect 82 2 70 0; #X connect 82 3 71 0; #X connect 82 4 72 0; #X connect 82 5 73 0; #X connect 82 6 74 0; #X connect 83 0 64 0; #X connect 84 0 10 0; #X connect 85 0 127 0; #X connect 86 0 9 0; #X connect 89 0 82 0; #X connect 89 0 96 0; #X connect 90 0 82 0; #X connect 90 0 96 0; #X connect 91 0 82 0; #X connect 91 0 96 0; #X connect 93 0 90 0; #X connect 94 0 95 0; #X connect 95 0 48 0; #X connect 96 0 97 0; #X connect 98 0 99 0; #X connect 98 0 103 0; #X connect 101 0 98 0; #X connect 102 0 98 0; #X connect 105 0 106 0; #X connect 105 0 125 0; #X connect 107 0 105 0; #X connect 109 0 110 0; #X connect 109 0 118 0; #X connect 111 0 109 0; #X connect 112 0 109 0; #X connect 113 0 114 0; #X connect 113 0 119 0; #X connect 115 0 113 0; #X connect 116 0 113 0; #X connect 127 0 126 0; #X connect 129 0 4 1; #X connect 129 0 130 0;