aboutsummaryrefslogtreecommitdiff
path: root/controctopus
diff options
context:
space:
mode:
Diffstat (limited to 'controctopus')
-rw-r--r--controctopus/midi-tentacle-multi.pd139
-rw-r--r--controctopus/note-learner.pd298
2 files changed, 211 insertions, 226 deletions
diff --git a/controctopus/midi-tentacle-multi.pd b/controctopus/midi-tentacle-multi.pd
index 96fdf94..92b24f1 100644
--- a/controctopus/midi-tentacle-multi.pd
+++ b/controctopus/midi-tentacle-multi.pd
@@ -1,31 +1,33 @@
-#N canvas 829 154 575 657 10;
+#N canvas 863 301 575 657 10;
#X obj 141 91 cnv 15 158 78 empty empty \$1\$2->\$3 4 14 0 10 -86277
-260097 0;
#X obj 65 56 r \$0popup;
#X obj 203 508 s PDOSC;
#X obj 203 480 prepent;
-#N canvas 259 247 494 344 init 0;
+#N canvas 259 247 595 362 init 0;
#X obj 41 141 s \$0assgnList;
#X msg 41 119 a b c d e f g h i j k l m n o p;
#X msg 288 122 1;
#X obj 288 143 s \$0channelR;
-#X msg 160 243 options;
-#X obj 160 265 s \$0popup;
+#X obj 160 295 s \$0popup;
#X obj 41 97 initbang;
#X obj 288 101 initbang;
#X obj 160 187 initbang;
#X msg 160 209 bgcolour #ee0000;
#X msg 160 226 name $#++#$~~~~~>;
+#X obj 170 249 savebang;
+#X msg 160 274 options press 'get' to load parameters;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
-#X connect 4 0 5 0;
-#X connect 6 0 1 0;
-#X connect 7 0 2 0;
-#X connect 8 0 10 0;
+#X connect 5 0 1 0;
+#X connect 6 0 2 0;
+#X connect 7 0 9 0;
+#X connect 7 0 8 0;
+#X connect 7 0 11 0;
#X connect 8 0 4 0;
-#X connect 8 0 9 0;
-#X connect 9 0 5 0;
-#X connect 10 0 5 0;
+#X connect 9 0 4 0;
+#X connect 10 0 11 0;
+#X connect 11 0 4 0;
#X restore 31 361 pd init;
#X obj 288 187 s \$0popOut;
#X obj 288 64 r \$0setPopup;
@@ -130,8 +132,6 @@
#X restore 31 293 pd 16channelOuts;
#X obj 145 24 list-extend;
#X obj 145 45 prepent options;
-#X obj 281 151 bng 8 250 50 0 \$0getParams \$0getParamsR get 0 12 1
-7 -249808 -1 -262144;
#X obj 11 507 r \$0getParams;
#X obj 203 363 r \$1\$2;
#X obj 381 364 t b a;
@@ -152,47 +152,14 @@
#X obj 49 530 s \$1/clearParams;
#X obj 203 442 spigot 0;
#X obj 248 403 r \$0omni;
-#X obj 145 118 popup 150 25 #ee0000 $#++#$~~~~~> /k2000h-fxs-position
-/filter-fxs-position /reson-\$3-whichModder /cutoff-\$3-whichModder
-/filterA/reson /filterA/smoothing /filterA/cutoff /cloudel-fxs-position
-/cloudelA/clockToggle /cloudelA/rndRange5 /cloudelA/rndRange4 /cloudelA/rndRange3
-/cloudelA/rndRange2 /cloudelA/rndRange1 /freqshift1-fxs-position /verb3-fxs-position
-/wet-whichModder /dry-whichModder /crossover-whichModder /damping-whichModder
-/liveness-whichModder /verb3A/dry /verb3A/wet /verb3A/crossover /verb3A/damping
-/verb3A/liveness /zxh-fxs-position /zxh-\$3-whichModder /zxhA/zhzxhness
-/tanhB/amplify /tanhB-fxs-position /tanhA/amplify /tanhA-fxs-position
-/CMix /BMix /AMix /CLev /DLev /BLev /ALev /dryLev /array3 /array2 /array1
-/bpmA/bpmDivBy /bpmA/bpmDivC /bpmA/bpmDivB /bpmA/bpmDivA /cfmB/rxnSpeed
-/cfmB/matrixModAmt /cfmB/invertMatrix /cfmB/algo /cfmB/envModAmt /cfmB/randomizeTgl
-/cfmB/fb2MatrixTgl /cfmB/fb1MatrixTgl /cfmB/freq2MatrixTgl /cfmB/freq1MatrixTgl
-/cfmB/fb2ModTgl /cfmB/fb1ModTgl /cfmB/freq2ModTgl /cfmB/freq1ModTgl
-/cfmB/fb2 /cfmB/fb1 /cfmB/freq2 /cfmB/freq1 /envC/vol /envC/velocityTgl
-/envC/panRight /envC/panLeft /envC/releaseTime /envC/sustain /envC/decayTime
-/envC/holdTime /envC/attackTime /envB/vol /envB/velocityTgl /envB/panRight
-/envB/panLeft /envB/releaseTime /envB/sustain /envB/decayTime /envB/holdTime
-/envB/attackTime /polyposcA/sinLFOTo? /polyposcA/squLFOTo? /polyposcA/sawLFOTo?
-/polyposcA/wobLFOTo? /polyposcA/envModTo? /polyposcA/envMod /polyposcA/LFOFree?
-/polyposcA/wobFree? /polyposcA/triOn? /polyposcA/squOn? /polyposcA/sawOn?
-/polyposcA/sinOn? /polyposcA/envModBaseFreq /polyposcA/envModFilt /polyposcA/envModLFOFreq
-/polyposcA/envModLFOLev /polyposcA/filtSmooth /polyposcA/wobbleFreq
-/polyposcA/filtQ /polyposcA/filtFreq /polyposcA/wobbleLev /polyposcA/baseFreq
-/physicadA-centerNote /physicadA-sample /physicadA-xfade /physicadA-rndrange
-/physicadA-rndtgl /physicadA-slices2 /physicadA-slices1 /trim /begin
-/xzone /touchtype /chptrA/xtype /chptrA/xshape /chptrA/loop /chptrA/interp
-/chptrA/keepLength /chptrA/speedsl /chptrA/speedmult /sample /cfmA/rxnSpeed
-/cfmA/matrixModAmt /cfmA/invertMatrix /cfmA/algo /cfmA/envModAmt /cfmA/randomizeTgl
-/cfmA/fb2MatrixTgl /cfmA/fb1MatrixTgl /cfmA/freq2MatrixTgl /cfmA/freq1MatrixTgl
-/cfmA/fb2ModTgl /cfmA/fb1ModTgl /cfmA/freq2ModTgl /cfmA/freq1ModTgl
-/cfmA/fb2 /cfmA/fb1 /cfmA/freq2 /cfmA/freq1 /envA/vol /envA/velocityTgl
-/envA/panRight /envA/panLeft /envA/releaseTime /envA/sustain /envA/decayTime
-/envA/holdTime /envA/attackTime /auto /toggle /length;
-#X obj 157 146 hradio 10 1 0 8 \$0chRow1 \$0chRow1R empty 0 -8 0 10
+#X obj 145 141 popup 150 25 #ee0000 $#++#$~~~~~> option;
+#X obj 157 114 hradio 10 1 0 8 \$0chRow1 \$0chRow1R empty 0 -8 0 10
-118016 -62784 -166441 0;
-#X obj 157 156 hradio 10 1 0 8 \$0chRow2 \$0chRow2R empty 0 -8 0 10
+#X obj 157 123 hradio 10 1 0 8 \$0chRow2 \$0chRow2R empty 0 -8 0 10
-118016 -118016 -166441 0;
-#X obj 240 149 cnv 15 37 15 empty \$0channelDisp Ch.1 2 7 0 10 -66577
+#X obj 238 117 cnv 15 35 15 empty \$0channelDisp Ch.1 2 7 0 10 -66577
-225280 0;
-#X obj 145 150 hradio 12 1 0 1 \$0chRow0 \$0chRow0R empty 0 -8 0 10
+#X obj 145 118 hradio 12 1 0 1 \$0chRow0 \$0chRow0R empty 0 -8 0 10
-166441 -166441 -166441 0;
#N canvas 0 65 921 562 3RowRadio 0;
#X obj 258 324 r \$0chRow1;
@@ -286,7 +253,6 @@
#X obj 31 478 s \$0channelR;
#X obj 31 433 r \$1/showChannel;
#X obj 31 456 clip 0 16;
-#X obj 407 39 nr;
#X obj 26 550 loadbang;
#X obj 26 573 list append \$3 1;
#X msg 26 597 symbol \$1\$2/getParams;
@@ -296,40 +262,45 @@
#X obj 191 619 s \$0paramsList;
#X obj 191 599 iem_r;
#X msg 191 577 set \$1\$2/paramsList;
-#X connect 1 0 34 0;
+#X obj 279 116 cnv 15 15 30 empty empty empty 20 12 0 14 -258113 -66577
+0;
+#X obj 282 120 bng 9 250 50 0 \$0getParams \$0getParamsR get -2 14
+2 11 -249808 -159808 -1;
+#X obj 420 4 menubar;
+#X connect 1 0 33 0;
#X connect 3 0 2 0;
-#X connect 6 0 34 1;
+#X connect 6 0 33 1;
#X connect 12 0 13 0;
#X connect 13 0 8 0;
-#X connect 13 0 34 0;
-#X connect 15 0 29 0;
-#X connect 16 0 32 0;
-#X connect 17 0 18 0;
-#X connect 17 1 20 1;
-#X connect 17 1 26 0;
-#X connect 18 0 20 0;
-#X connect 19 0 17 0;
+#X connect 13 0 33 0;
+#X connect 14 0 28 0;
+#X connect 15 0 31 0;
+#X connect 16 0 17 0;
+#X connect 16 1 19 1;
+#X connect 16 1 25 0;
+#X connect 17 0 19 0;
+#X connect 18 0 16 0;
+#X connect 19 0 20 0;
#X connect 20 0 21 0;
-#X connect 21 0 22 0;
-#X connect 22 0 3 1;
-#X connect 23 0 18 0;
-#X connect 26 0 27 0;
-#X connect 27 0 24 0;
-#X connect 29 0 28 0;
-#X connect 29 1 31 0;
-#X connect 30 0 12 1;
-#X connect 32 0 3 0;
-#X connect 33 0 32 1;
-#X connect 34 0 10 0;
-#X connect 34 1 5 0;
-#X connect 41 0 42 0;
-#X connect 42 0 40 0;
-#X connect 44 0 45 0;
-#X connect 45 0 46 0;
-#X connect 46 0 28 1;
-#X connect 47 0 12 0;
-#X connect 48 0 49 0;
-#X connect 49 0 52 0;
-#X connect 51 0 50 0;
-#X connect 52 0 51 0;
+#X connect 21 0 3 1;
+#X connect 22 0 17 0;
+#X connect 25 0 26 0;
+#X connect 26 0 23 0;
+#X connect 28 0 27 0;
+#X connect 28 1 30 0;
+#X connect 29 0 12 1;
+#X connect 31 0 3 0;
+#X connect 32 0 31 1;
+#X connect 33 0 10 0;
+#X connect 33 1 5 0;
+#X connect 40 0 41 0;
+#X connect 41 0 39 0;
+#X connect 42 0 43 0;
+#X connect 43 0 44 0;
+#X connect 44 0 27 1;
+#X connect 45 0 12 0;
+#X connect 46 0 47 0;
+#X connect 47 0 50 0;
+#X connect 49 0 48 0;
+#X connect 50 0 49 0;
#X coords 0 -1 1 1 160 80 2 140 90;
diff --git a/controctopus/note-learner.pd b/controctopus/note-learner.pd
index f1fd0c2..ea68dd7 100644
--- a/controctopus/note-learner.pd
+++ b/controctopus/note-learner.pd
@@ -1,15 +1,13 @@
-#N canvas 198 173 1083 643 10;
+#N canvas 62 463 1051 667 10;
#X obj 358 266 select;
-#X obj 388 327 f;
-#X msg 358 327 1;
-#X obj 358 359 pack;
+#X obj 385 327 f;
+#X obj 358 389 pack;
#X obj 358 297 t b b;
-#X msg 238 311 set \$1;
#X obj 102 293 nbx 2 14 1 128 0 0 \$0-padNumber \$0-padNumberR Pad
32 7 0 11 -154432 -1 -1 1 256;
#X obj 102 276 nbx 2 14 0 127 0 0 \$0-noteNumber \$0-noteNumberLearn
-Note 32 7 0 11 -260624 -1 -1 0 256;
-#X obj 442 375 outlet;
+Note 32 7 0 11 -260624 -1 -1 36 256;
+#X obj 442 406 outlet;
#X obj 137 263 bng 13 250 50 0 \$0-learnOn empty empty 0 -6 0 8 -259541
-1 -1;
#X obj 103 265 bng 8 250 50 0 empty empty empty 0 -6 0 8 -1 -262085
@@ -18,33 +16,25 @@ Note 32 7 0 11 -260624 -1 -1 0 256;
-1;
#X obj 125 265 bng 8 250 50 0 empty empty empty 0 -6 0 8 -1 -262085
-1;
-#X obj 412 250 r \$0-noteNumber;
-#X obj 238 286 r \$0-padNumber;
+#X obj 412 249 r \$0-noteNumber;
+#X obj 267 327 r \$0-padNumber;
#X obj 358 229 spigot;
#X obj 152 263 nbx 2 13 1 64 0 0 \$0devNo \$1/devNo empty 0 -6 0 10
-110565 -1 -1 1 256;
#X msg 733 461 1;
#X obj 733 493 pack;
#X msg 792 445 set \$1;
-#X obj 804 337 r \$0-noteNumber;
+#X obj 801 336 r \$0-noteNumber;
#X obj 792 421 r \$0-padNumber;
-#X obj 758 314 spigot;
-#X obj 722 62 polytouchin;
+#X obj 755 314 spigot;
+#X obj 724 62 polytouchin;
#X obj 722 383 spigot;
#X obj 733 435 t b f;
#X obj 41 470 sft.originator \$1 \$0;
-#X obj 405 457 list;
-#X obj 398 386 t b l;
-#X obj 405 480 list trim;
-#X obj 405 432 r \$1/bangr;
-#X obj 398 410 s \$1/bang;
-#X obj 227 434 s lastPad;
#X obj 41 411 instance lnote;
#X obj 41 436 s \$0-padNumberR;
#X obj 722 284 / 127;
-#X obj 404 302 / 127;
-#X obj 227 407 spigot;
-#X obj 264 382 r lastPadTgl;
+#X obj 400 297 / 127;
#N canvas 73 463 470 331 midiLearn 0;
#X text 288 89 Route Number;
#X obj 24 18 r \$0-learnOn;
@@ -83,140 +73,164 @@ Note 32 7 0 11 -260624 -1 -1 0 256;
#X connect 12 0 7 0;
#X connect 16 0 2 0;
#X restore 75 164 pd midiLearn;
-#X obj 336 106 t a;
-#X obj 365 106 t a;
-#X obj 395 106 t a;
-#X obj 347 55 notein;
+#X obj 336 104 t a;
+#X obj 365 104 t a;
+#X obj 395 104 t a;
+#X obj 347 53 notein;
#X text 351 17 Intercepts for looping back MIDI (e.g. from sft.schoen)
;
-#X obj 758 353 ==;
-#X obj 358 592 s;
-#X msg 374 570 symbol /sfs\$1/note/in;
-#X obj 374 547 r \$0-padNumber;
-#X obj 738 547 r \$0-padNumber;
+#X obj 755 353 ==;
+#X obj 308 632 s;
+#X msg 323 610 symbol /sfs\$1/note/in;
+#X obj 323 587 r \$0-padNumber;
+#X obj 737 547 r \$0-padNumber;
#X obj 722 590 s;
-#X msg 738 568 symbol /sfs\$1/polytouch/in;
-#X obj 395 138 div 16;
-#X obj 395 198 ==;
-#X obj 411 176 r \$0devNo;
-#X obj 486 152 mod 16;
-#X obj 456 122 t f f;
-#X obj 486 172 s \$0channel;
-#X obj 579 134 loadbang;
-#X msg 579 156 1;
-#X obj 395 157 + 1;
-#X obj 795 224 div 16;
-#X obj 795 284 ==;
-#X obj 811 262 r \$0devNo;
-#X obj 886 238 mod 16;
-#X obj 856 208 t f f;
-#X obj 886 258 s \$0channel;
-#X obj 979 220 loadbang;
-#X msg 979 242 1;
-#X obj 795 243 + 1;
-#X obj 405 504 s \$1\$2/note;
+#X msg 737 568 symbol /sfs\$1/polytouch/in;
+#X obj 391 138 div 16;
+#X obj 391 198 ==;
+#X obj 406 176 r \$0devNo;
+#X obj 483 151 mod 16;
+#X obj 456 121 t f f;
+#X obj 483 171 s \$0channel;
+#X obj 576 132 loadbang;
+#X msg 576 154 1;
+#X obj 391 157 + 1;
+#X obj 788 224 div 16;
+#X obj 788 284 ==;
+#X obj 804 262 r \$0devNo;
+#X obj 880 238 mod 16;
+#X obj 853 207 t f f;
+#X obj 880 258 s \$0channel;
+#X obj 788 243 + 1;
+#X obj 358 549 s \$1\$2/note;
#X obj 733 522 s \$1\$2/tch;
#X obj 42 316 sft.commun \$2-channel \$0;
#X obj 42 334 sft.commun \$2-note \$0;
#X obj 42 352 sft.commun \$2-pad \$0;
#X obj 722 166 t a;
-#X obj 758 166 t a;
-#X obj 794 166 t a;
+#X obj 755 166 t a;
+#X obj 791 166 t a;
#X obj 722 408 t a;
-#X obj 418 327 sel 0;
-#X obj 459 327 s \$0polyRelay;
+#X obj 415 327 sel 0;
+#X obj 456 327 s \$0polyRelay;
#X obj 625 383 r \$0polyRelay;
#X text 532 345 Relay initial velocity;
#X text 532 361 to polytouch to remove;
#X text 532 377 delay;
-#X obj 230 56 nr sft.notein 3;
+#X obj 230 54 nr sft.notein 3;
#X obj 814 62 nr sft.polytouchin 3;
-#X connect 0 0 4 0;
-#X connect 1 0 3 1;
-#X connect 1 0 79 0;
-#X connect 2 0 3 0;
-#X connect 2 0 37 0;
-#X connect 3 0 8 0;
-#X connect 3 0 28 0;
-#X connect 3 0 46 0;
-#X connect 4 0 2 0;
-#X connect 4 1 1 0;
-#X connect 5 0 2 0;
-#X connect 6 0 74 0;
-#X connect 7 0 73 0;
-#X connect 13 0 0 1;
-#X connect 14 0 5 0;
-#X connect 15 0 0 0;
-#X connect 16 0 72 0;
-#X connect 17 0 18 0;
-#X connect 18 0 71 0;
+#X obj 388 438 prepent set;
+#X obj 388 460 s \$1\$2/GUIR;
+#X obj 388 487 r \$1\$2/GUI;
+#X obj 358 327 f;
+#N canvas 0 22 447 370 padSelect 0;
+#X obj 80 39 inlet;
+#X obj 99 141 spigot 1;
+#X obj 235 99 r padSelect;
+#X obj 99 277 outlet;
+#X obj 126 234 s lastPad;
+#X obj 126 207 spigot;
+#X obj 159 183 r lastPadTgl;
+#X obj 235 124 == 0;
+#X obj 80 112 s padSelect;
+#X msg 80 91 0;
+#X obj 80 68 t a a a;
+#X obj 168 68 spigot;
+#X obj 168 89 s lastPad;
+#X connect 0 0 10 0;
+#X connect 1 0 5 0;
+#X connect 1 0 3 0;
+#X connect 2 0 7 0;
+#X connect 2 0 11 1;
+#X connect 5 0 4 0;
+#X connect 6 0 5 1;
+#X connect 7 0 1 1;
+#X connect 9 0 8 0;
+#X connect 10 0 9 0;
+#X connect 10 1 1 0;
+#X connect 10 2 11 0;
+#X connect 11 0 12 0;
+#X restore 358 349 pd padSelect;
+#X connect 0 0 3 0;
+#X connect 1 0 2 1;
+#X connect 1 0 67 0;
+#X connect 2 0 6 0;
+#X connect 2 0 36 0;
+#X connect 2 0 75 0;
+#X connect 2 0 58 0;
+#X connect 3 0 78 0;
+#X connect 3 1 1 0;
+#X connect 4 0 62 0;
+#X connect 5 0 61 0;
+#X connect 11 0 0 1;
+#X connect 12 0 78 1;
+#X connect 13 0 0 0;
+#X connect 14 0 60 0;
+#X connect 15 0 16 0;
+#X connect 16 0 59 0;
+#X connect 17 0 15 0;
+#X connect 18 0 35 1;
#X connect 19 0 17 0;
-#X connect 20 0 45 1;
-#X connect 21 0 19 0;
-#X connect 22 0 45 0;
-#X connect 23 0 75 0;
-#X connect 23 1 76 0;
-#X connect 23 2 77 0;
-#X connect 24 0 78 0;
-#X connect 25 0 17 0;
-#X connect 25 1 18 1;
-#X connect 27 0 29 0;
-#X connect 28 0 31 0;
-#X connect 28 1 27 1;
-#X connect 29 0 70 0;
-#X connect 30 0 27 0;
-#X connect 33 0 34 0;
-#X connect 35 0 24 0;
-#X connect 36 0 1 1;
-#X connect 37 0 32 0;
-#X connect 38 0 37 1;
-#X connect 39 0 10 0;
-#X connect 39 1 11 0;
-#X connect 39 2 12 0;
-#X connect 40 0 15 0;
-#X connect 40 0 39 0;
-#X connect 41 0 36 0;
-#X connect 42 0 56 0;
-#X connect 43 0 40 0;
-#X connect 43 1 41 0;
-#X connect 43 2 42 0;
-#X connect 45 0 24 1;
-#X connect 47 0 46 1;
-#X connect 48 0 47 0;
-#X connect 49 0 51 0;
-#X connect 51 0 50 1;
-#X connect 52 0 60 0;
-#X connect 53 0 15 1;
-#X connect 54 0 53 1;
-#X connect 55 0 57 0;
-#X connect 56 0 52 0;
-#X connect 56 1 55 0;
-#X connect 58 0 59 0;
-#X connect 59 0 57 0;
-#X connect 60 0 53 0;
-#X connect 61 0 69 0;
-#X connect 62 0 22 1;
-#X connect 63 0 62 1;
-#X connect 64 0 66 0;
-#X connect 65 0 61 0;
-#X connect 65 1 64 0;
-#X connect 67 0 68 0;
-#X connect 68 0 66 0;
-#X connect 69 0 62 0;
-#X connect 72 0 16 0;
-#X connect 73 0 7 0;
-#X connect 74 0 6 0;
-#X connect 75 0 35 0;
-#X connect 76 0 22 0;
-#X connect 77 0 65 0;
-#X connect 78 0 25 0;
-#X connect 78 0 50 0;
-#X connect 79 1 80 0;
-#X connect 81 0 78 0;
-#X connect 85 0 40 0;
-#X connect 85 1 41 0;
-#X connect 85 2 42 0;
-#X connect 86 0 75 0;
-#X connect 86 1 76 0;
-#X connect 86 2 77 0;
+#X connect 20 0 35 0;
+#X connect 21 0 63 0;
+#X connect 21 1 64 0;
+#X connect 21 2 65 0;
+#X connect 22 0 66 0;
+#X connect 23 0 15 0;
+#X connect 23 1 16 1;
+#X connect 25 0 26 0;
+#X connect 27 0 22 0;
+#X connect 28 0 1 1;
+#X connect 29 0 8 0;
+#X connect 29 1 9 0;
+#X connect 29 2 10 0;
+#X connect 30 0 13 0;
+#X connect 30 0 29 0;
+#X connect 31 0 28 0;
+#X connect 32 0 46 0;
+#X connect 33 0 30 0;
+#X connect 33 1 31 0;
+#X connect 33 2 32 0;
+#X connect 35 0 22 1;
+#X connect 37 0 36 1;
+#X connect 38 0 37 0;
+#X connect 39 0 41 0;
+#X connect 41 0 40 1;
+#X connect 42 0 50 0;
+#X connect 43 0 13 1;
+#X connect 44 0 43 1;
+#X connect 45 0 47 0;
+#X connect 46 0 42 0;
+#X connect 46 1 45 0;
+#X connect 48 0 49 0;
+#X connect 49 0 47 0;
+#X connect 50 0 43 0;
+#X connect 51 0 57 0;
+#X connect 52 0 20 1;
+#X connect 53 0 52 1;
+#X connect 54 0 56 0;
+#X connect 55 0 51 0;
+#X connect 55 1 54 0;
+#X connect 57 0 52 0;
+#X connect 60 0 14 0;
+#X connect 61 0 5 0;
+#X connect 62 0 4 0;
+#X connect 63 0 27 0;
+#X connect 64 0 20 0;
+#X connect 65 0 55 0;
+#X connect 66 0 23 0;
+#X connect 66 0 40 0;
+#X connect 67 1 68 0;
+#X connect 69 0 66 0;
+#X connect 73 0 30 0;
+#X connect 73 1 31 0;
+#X connect 73 2 32 0;
+#X connect 74 0 63 0;
+#X connect 74 1 64 0;
+#X connect 74 2 65 0;
+#X connect 75 0 76 0;
+#X connect 77 0 58 0;
+#X connect 77 0 36 0;
+#X connect 78 0 79 0;
+#X connect 79 0 2 0;
#X coords 0 -1 1 1 81 60 1 100 250;