Consolidated scaling calculations. Prints scaled params and seq on request.

This commit is contained in:
Bailey Stevens 2023-10-05 13:33:04 -04:00
parent 728d931a87
commit 59c7e71b19
2 changed files with 290 additions and 248 deletions

View file

@ -1,6 +1,6 @@
#N canvas 0 99 2048 1021 12;
#X floatatom 109 663 5 0 0 0 - - -;
#X floatatom 225 724 5 0 127 1 volume vel -;
#X floatatom 225 724 5 0 127 1 volume volume -;
#N canvas 158 197 450 250 (subpatch) 0;
#X array output 512 float 0;
#X coords 0 -1 511 1 400 127 1 0 0;
@ -8,20 +8,16 @@
#X obj 974 407 loadbang;
#X obj 657 380 dac~;
#X obj 203 953 send~ vco;
#X obj 122 194 vsl 15 128 0 1250 0 0 delt delt delt 0 -9 0 10 -262144
-1 -1 2540 1;
#X obj 157 194 vsl 15 128 0.5 0.9 0 0 delr delr delr 0 -9 0 10 -262144
-1 -1 12700 1;
#N canvas 0 99 450 250 (subpatch) 0;
#X array sequence 3 float 2;
#X coords 0 127 3 36 200 140 1 0 0;
#X array sequence 2 float 2;
#X coords 0 127 2 36 200 140 1 0 0;
#X restore 265 192 graph;
#X obj 93 632 tabread sequence;
#X obj 215 833 voice;
#X obj 114 471 metro 300;
#X msg 1124 444 listen 10234;
#X msg 1124 443 listen 10234;
#X floatatom 845 92 5 0 1500 2 delt delt -;
#X floatatom 773 168 5 0 100 0 delr delr -;
#X floatatom 745 188 5 0 0 0 delr delr -;
#X obj 988 451 bng 15 250 50 0 empty reset reset 17 7 0 10 -262144
-1 -1;
#X obj 419 385 notein;
@ -53,7 +49,6 @@
#X symbolatom 310 744 10 0 0 1 waveform waveform -;
#X msg 1281 314 symbol ramp;
#X obj 808 710 tabwrite~ output;
#X obj 196 456 max 100;
#X msg 504 514 0;
#X obj 49 540 mod 1;
#X obj 49 506 + 1;
@ -72,88 +67,52 @@
#X obj 708 252 echo;
#X text 695 660 scope control;
#X obj 679 330 mix;
#X obj 55 195 vsl 15 128 0 127 0 0 vel vel vel 0 -9 0 10 -262144 -1
-1 12700 1;
#X obj 88 194 vsl 15 128 60 600 0 0 tempo tempo bpm 0 -9 0 10 -262144
-1 -1 1411 1;
#X floatatom 81 335 5 60 600 2 - tempo -;
#X floatatom 230 423 5 0 0 0 - - -;
#X obj 192 424 /;
#X obj 179 370 t b f;
#X obj 188 194 vsl 15 128 200 20000 1 0 fltco fltco flt 0 -9 0 10 -262144
-1 -1 6350 1;
#X obj 221 195 vsl 15 128 0 100 0 0 mix mix mix 0 -9 0 10 -262144 -1
-1 6350 1;
#X floatatom 180 404 5 0 0 0 tempo tempo -;
#X text 652 34 main patchbay;
#X text 1048 400 reset logic and net io;
#X text 485 383 sequencer input;
#X text 146 602 sequencer output;
#X text 233 476 clock control;
#X msg 161 397 60000;
#X msg 1246 443 listen 0;
#X floatatom 1314 519 5 0 0 0 - - -;
#X obj 1425 327 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 1394 382 array get output;
#X obj 1197 502 netreceive;
#X obj 1443 463 list prepend send;
#X obj 1322 488 list trim;
#X obj 1442 490 list prepend send;
#X obj 1320 475 list trim;
#X obj 1475 294 r refresh;
#N canvas 0 50 450 250 (subpatch) 0;
#X array params 8 float 3;
#A 0 127 24 25 64 80 24 24 10;
#X array params 8 float 2;
#X coords 0 127 8 0 200 127 1 0 0;
#X restore 1611 519 graph;
#X obj 1199 858 s tempo;
#X obj 1260 830 * 10;
#X obj 1261 862 s delt;
#X obj 1315 870 s delr;
#X msg 1366 869 10;
#X obj 1364 904 pow;
#X obj 1400 871 t b f;
#X obj 1405 906 * 20;
#X obj 1402 933 s fltco;
#X obj 1210 823 * 5;
#X floatatom 1209 791 5 0 0 0 - - -;
#X restore 42 199 graph;
#X floatatom 1193 789 5 0 0 0 - - -;
#X floatatom 1349 792 5 0 127 0 - - -;
#X obj 1424 827 / 1.27;
#X floatatom 1406 790 5 0 127 0 - - -;
#X floatatom 1258 792 5 0 127 0 - - -;
#X floatatom 1306 793 5 0 0 0 - - -;
#X floatatom 1168 788 5 0 127 0 - - -;
#X obj 1149 828 s vel;
#X floatatom 1400 787 5 0 127 0 - - -;
#X floatatom 1237 813 5 0 127 0 - - -;
#X floatatom 1303 794 5 0 0 0 - - -;
#X floatatom 1175 754 5 0 127 0 volume - volume;
#X obj 1475 586 - 1;
#X msg 1173 609 0 0;
#X obj 1539 380 array get params;
#X obj 1529 421 list prepend params;
#X obj 1300 621 s refresh;
#X obj 1553 339 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 1297 631 s refresh;
#X obj 1373 420 list prepend scope;
#X obj 125 354 max 1;
#X text 1184 125 MIDI Control (PGM events);
#X text 1394 527 MIDI Control (CC);
#X obj 873 448 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 1580 663 r setpar;
#X obj 802 839 r setpar;
#X obj 1239 601 s getpar;
#X obj 1177 664 s setpar;
#X obj 1269 694 r setpar;
#X obj 1566 293 r getpar;
#X obj 1688 296 r setpar;
#X obj 1689 416 list prepend change;
#X obj 1414 649 s setpar;
#X obj 1420 619 pack f f;
#X obj 1648 726 t b f;
#X obj 1582 753 float;
#X obj 1581 691 unpack 0 0;
#X obj 1591 783 array set params;
#X obj 855 909 t b f;
#X obj 852 942 float;
#X obj 847 876 unpack 0 0;
#X obj 857 968 array set params;
#X obj 705 627 s refresh;
#X obj 739 517 metro 50;
#X obj 1152 166 r pgmevt;
#X obj 1162 538 r mute;
#X obj 1193 561 route mute set params scope pgmevt;
#X obj 1357 601 s pgmevt;
#X obj 1329 652 s pgmevt;
#X obj 163 705 mtof;
#X obj 853 195 +~;
#X obj 857 242 snapshot~;
@ -161,21 +120,12 @@
#X obj 828 157 *~;
#X floatatom 905 39 5 0 100 2 flut flut -;
#X obj 876 133 *;
#X obj 743 220 clip 0 0.75;
#X obj 757 196 / 100;
#X obj 1310 826 / 1.27;
#X obj 898 75 / 100;
#X obj 896 104 clip 0 1;
#X obj 782 101 osc~ 25;
#X floatatom 816 38 5 0 64 2 flur flur -;
#X floatatom 1468 792 5 0 127 0 - - -;
#X obj 1489 830 / 2;
#X obj 1496 866 s flur;
#X obj 1479 828 / 2;
#X floatatom 1530 791 5 0 127 0 - - -;
#X obj 1530 815 / 1.27;
#X obj 1558 848 s flut;
#X obj 1439 855 s det;
#X floatatom 70 710 5 0 100 1 det det -;
#X floatatom 70 687 5 0 100 1 det det -;
#X obj 68 745 detune;
#X obj 7 838 voice;
#X text 325 829 voices;
@ -186,8 +136,7 @@
#X obj 834 624 s setpar;
#X obj 184 761 * 0.6;
#X obj 10 746 detune;
#X obj 11 708 * 1.25;
#X obj 1363 825 / 40;
#X obj 16 717 * 1.25;
#X msg 70 800 symbol sine;
#X obj 93 770 loadbang;
#X msg 1256 263 symbol sine;
@ -195,171 +144,266 @@
#X msg 975 487 \; pd dsp 1 \; pgmevt 1 \; mix 50 \;, f 25;
#X msg 826 572 0 127 \, 1 24 \, 2 25 \, 3 64 \, 4 80 \, 5 24 \, 6 24
\, 7 10;
#X connect 0 0 28 0;
#X connect 1 0 160 0;
#X connect 1 0 10 1;
#X connect 3 0 12 0;
#X connect 3 0 15 0;
#X connect 3 0 110 0;
#X connect 9 0 0 0;
#X connect 10 0 5 0;
#X connect 11 0 36 0;
#X connect 12 0 77 0;
#X connect 13 0 131 1;
#X connect 13 0 136 1;
#X connect 14 0 138 0;
#X connect 15 0 168 0;
#X connect 15 0 169 0;
#X connect 16 0 23 0;
#X connect 16 1 23 1;
#X connect 17 0 47 0;
#X connect 19 0 21 0;
#X connect 21 0 18 0;
#X connect 21 0 29 0;
#X connect 23 1 19 1;
#X connect 23 2 33 0;
#X connect 24 0 26 0;
#X connect 24 0 25 0;
#X connect 25 0 28 1;
#X connect 26 0 29 1;
#X connect 27 0 25 0;
#X connect 28 0 130 0;
#X connect 29 0 130 0;
#X connect 32 0 34 0;
#X connect 32 0 20 0;
#X connect 32 0 22 0;
#X connect 33 0 50 0;
#X connect 34 0 18 1;
#X connect 35 0 42 0;
#X connect 36 0 44 0;
#X connect 36 0 45 0;
#X connect 37 0 43 1;
#X connect 37 0 45 1;
#X connect 38 0 10 2;
#N canvas 0 99 450 250 (subpatch) 0;
#X array scaled_params 8 float 2;
#X coords 0 250 1 249 200 140 0;
#X restore 554 977 graph;
#X obj 607 986 array set scaled_params;
#X obj 982 862 expr $i1 * 5 \; max(100 \, 60000 / max($i1 \, 1));
#X floatatom 1016 912 3 0 0 0 bpm - bpm;
#X floatatom 1149 924 5 0 0 0 tempo - tempo;
#X obj 1169 686 s setpar;
#X obj 1276 681 r setpar;
#X obj 409 765 r volume;
#X obj 633 847 unpack 0 0;
#X obj 699 909 t b f;
#X obj 636 946 float;
#X obj 482 763 r bpm;
#X obj 539 759 r delt;
#X msg 408 805 0 \$1;
#X msg 487 799 1 \$1;
#X msg 543 796 2 \$1;
#X floatatom 1236 870 5 0 0 0 delt - delt;
#X floatatom 1305 993 5 0 0 0 delr - delr;
#X obj 683 579 spigot;
#X obj 723 557 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 676 492 loadbang;
#X obj 1306 965 expr (max($i1 \, 0) * 0.75) / 127;
#X obj 1349 906 expr 20 * pow(10 \, ($i1 / 40));
#X floatatom 1349 931 5 0 0 0 fltco - fltco;
#X obj 1237 837 * 5;
#X floatatom 1406 870 5 0 0 0 flut - flut;
#X floatatom 1489 873 5 0 0 0 flur - flur;
#X floatatom 1546 853 5 0 0 0 det - det;
#X obj 902 88 clip 0 1;
#X obj 1396 827 / 127;
#X obj 1538 821 / 42;
#X obj 741 220 clip 0 0.8;
#X msg 604 798 3 \$1;
#X obj 609 754 r delr;
#X obj 659 759 r fltco;
#X obj 732 758 r flut;
#X obj 789 754 r flur;
#X obj 859 748 r det;
#X msg 658 800 4 \$1;
#X msg 737 793 5 \$1;
#X msg 793 791 6 \$1;
#X msg 854 793 7 \$1;
#X obj 1529 421 list prepend param;
#X obj 1684 353 pack 0 0 0;
#X obj 1642 619 print;
#X obj 1700 271 tabread params;
#X obj 1810 271 tabread scaled_params;
#X obj 1631 594 list trim;
#X obj 1741 130 r getpar;
#X obj 788 988 s parset;
#X obj 1645 129 r parset;
#X obj 783 950 float;
#X floatatom 1690 203 5 0 0 0 - - -;
#X obj 148 584 s seqi;
#X obj 1723 425 r seqi;
#X obj 1811 392 r seqc;
#X obj 385 664 bng 15 250 50 0 seqc empty seq_change 17 7 0 10 -262144
-1 -1;
#X obj 1642 483 list prepend seqi;
#X obj 1773 529 list prepend seq;
#X obj 1775 482 array get sequence;
#X obj 1193 561 route mute set get scope pgmevt seq;
#X obj 1370 597 s seqc;
#X connect 0 0 26 0;
#X connect 1 0 118 0;
#X connect 1 0 8 1;
#X connect 3 0 10 0;
#X connect 3 0 13 0;
#X connect 3 0 83 0;
#X connect 7 0 0 0;
#X connect 8 0 5 0;
#X connect 9 0 34 0;
#X connect 10 0 66 0;
#X connect 11 0 98 1;
#X connect 11 0 103 1;
#X connect 12 0 158 0;
#X connect 13 0 125 0;
#X connect 13 0 126 0;
#X connect 14 0 21 0;
#X connect 14 1 21 1;
#X connect 15 0 44 0;
#X connect 17 0 19 0;
#X connect 19 0 16 0;
#X connect 19 0 27 0;
#X connect 19 0 183 0;
#X connect 21 1 17 1;
#X connect 21 2 31 0;
#X connect 22 0 24 0;
#X connect 22 0 23 0;
#X connect 23 0 26 1;
#X connect 24 0 27 1;
#X connect 25 0 23 0;
#X connect 26 0 97 0;
#X connect 27 0 97 0;
#X connect 30 0 32 0;
#X connect 30 0 18 0;
#X connect 30 0 20 0;
#X connect 31 0 47 0;
#X connect 32 0 16 1;
#X connect 33 0 39 0;
#X connect 34 0 41 0;
#X connect 34 0 42 0;
#X connect 34 0 180 0;
#X connect 35 0 40 1;
#X connect 35 0 42 1;
#X connect 36 0 8 2;
#X connect 37 0 28 0;
#X connect 39 0 30 0;
#X connect 41 0 11 1;
#X connect 42 0 32 0;
#X connect 43 0 36 1;
#X connect 44 0 43 0;
#X connect 45 0 9 0;
#X connect 46 0 119 1;
#X connect 46 1 100 0;
#X connect 47 0 166 0;
#X connect 47 1 167 0;
#X connect 47 2 39 0;
#X connect 47 4 158 0;
#X connect 47 5 31 0;
#X connect 47 6 48 0;
#X connect 49 0 11 0;
#X connect 50 0 32 0;
#X connect 50 0 19 0;
#X connect 51 0 53 1;
#X connect 52 0 40 0;
#X connect 53 0 56 0;
#X connect 55 0 53 0;
#X connect 55 0 58 0;
#X connect 56 0 58 1;
#X connect 58 0 4 0;
#X connect 58 0 4 1;
#X connect 58 0 54 0;
#X connect 61 0 107 0;
#X connect 62 0 41 0;
#X connect 63 0 62 0;
#X connect 64 0 72 0;
#X connect 64 1 63 1;
#X connect 72 0 63 0;
#X connect 73 0 77 0;
#X connect 75 0 76 0;
#X connect 76 0 106 0;
#X connect 77 0 128 0;
#X connect 77 1 74 0;
#X connect 78 0 79 0;
#X connect 79 0 77 0;
#X connect 80 0 75 0;
#X connect 83 0 84 0;
#X connect 86 0 87 0;
#X connect 87 0 89 0;
#X connect 88 0 86 0;
#X connect 88 1 87 1;
#X connect 89 0 90 0;
#X connect 91 0 82 0;
#X connect 92 0 91 0;
#X connect 93 0 163 0;
#X connect 94 0 150 0;
#X connect 95 0 94 0;
#X connect 96 0 83 0;
#X connect 97 0 139 0;
#X connect 40 0 34 1;
#X connect 41 0 40 0;
#X connect 42 0 7 0;
#X connect 43 0 87 1;
#X connect 43 1 77 0;
#X connect 44 0 123 0;
#X connect 44 1 124 0;
#X connect 44 2 37 0;
#X connect 44 4 116 0;
#X connect 44 5 29 0;
#X connect 44 6 45 0;
#X connect 46 0 9 0;
#X connect 47 0 30 0;
#X connect 47 0 17 0;
#X connect 48 0 50 1;
#X connect 49 0 38 0;
#X connect 50 0 53 0;
#X connect 52 0 50 0;
#X connect 52 0 55 0;
#X connect 53 0 55 1;
#X connect 55 0 4 0;
#X connect 55 0 4 1;
#X connect 55 0 51 0;
#X connect 56 0 9 1;
#X connect 62 0 66 0;
#X connect 64 0 65 0;
#X connect 65 0 80 0;
#X connect 66 0 187 0;
#X connect 66 1 63 0;
#X connect 67 0 68 0;
#X connect 68 0 66 0;
#X connect 69 0 64 0;
#X connect 71 0 129 0;
#X connect 72 0 149 0;
#X connect 73 0 156 0;
#X connect 74 0 151 0;
#X connect 75 0 148 0;
#X connect 77 0 87 0;
#X connect 78 0 132 0;
#X connect 80 0 67 0;
#X connect 83 0 93 0;
#X connect 84 0 90 0;
#X connect 87 0 86 0;
#X connect 88 0 89 0;
#X connect 88 0 178 0;
#X connect 88 1 91 1;
#X connect 89 0 91 0;
#X connect 90 0 88 0;
#X connect 90 1 89 1;
#X connect 93 0 38 0;
#X connect 93 0 145 0;
#X connect 94 0 44 0;
#X connect 95 0 78 0;
#X connect 97 0 110 0;
#X connect 97 0 8 0;
#X connect 97 0 119 0;
#X connect 98 0 99 0;
#X connect 100 0 119 0;
#X connect 101 0 113 0;
#X connect 102 0 103 0;
#X connect 103 0 78 0;
#X connect 105 0 102 0;
#X connect 106 0 78 0;
#X connect 107 0 64 0;
#X connect 110 0 125 0;
#X connect 111 0 122 0;
#X connect 114 0 157 0;
#X connect 115 0 105 0;
#X connect 116 0 117 0;
#X connect 117 0 78 0;
#X connect 119 0 118 0;
#X connect 120 0 121 0;
#X connect 120 1 123 1;
#X connect 121 0 123 0;
#X connect 122 0 120 0;
#X connect 122 1 121 1;
#X connect 125 0 40 0;
#X connect 125 0 124 0;
#X connect 126 0 47 0;
#X connect 127 0 101 0;
#X connect 128 0 101 0;
#X connect 128 1 113 0;
#X connect 128 2 112 0;
#X connect 128 3 104 0;
#X connect 128 4 129 0;
#X connect 130 0 152 0;
#X connect 130 0 161 0;
#X connect 130 0 10 0;
#X connect 131 0 132 0;
#X connect 132 0 56 1;
#X connect 133 0 132 0;
#X connect 134 0 131 0;
#X connect 135 0 140 0;
#X connect 136 0 134 1;
#X connect 137 0 56 2;
#X connect 138 0 137 0;
#X connect 139 0 85 0;
#X connect 140 0 141 0;
#X connect 141 0 136 0;
#X connect 142 0 134 0;
#X connect 143 0 142 0;
#X connect 144 0 145 0;
#X connect 145 0 146 0;
#X connect 147 0 148 0;
#X connect 148 0 149 0;
#X connect 151 0 152 1;
#X connect 151 0 162 0;
#X connect 152 0 155 0;
#X connect 153 0 5 0;
#X connect 155 0 5 0;
#X connect 156 0 58 2;
#X connect 157 0 98 0;
#X connect 157 1 92 0;
#X connect 157 2 96 0;
#X connect 157 3 97 0;
#X connect 157 4 93 0;
#X connect 157 5 95 0;
#X connect 157 6 144 0;
#X connect 157 7 147 0;
#X connect 160 0 155 1;
#X connect 160 0 153 1;
#X connect 161 0 153 0;
#X connect 162 0 161 1;
#X connect 163 0 88 0;
#X connect 164 0 155 2;
#X connect 164 0 153 2;
#X connect 165 0 164 0;
#X connect 166 0 30 0;
#X connect 167 0 30 0;
#X connect 169 0 159 0;
#X connect 99 0 53 1;
#X connect 100 0 99 0;
#X connect 101 0 98 0;
#X connect 102 0 155 0;
#X connect 103 0 101 1;
#X connect 104 0 101 0;
#X connect 105 0 104 0;
#X connect 106 0 107 0;
#X connect 107 0 153 0;
#X connect 108 0 157 0;
#X connect 109 0 110 1;
#X connect 109 0 120 0;
#X connect 110 0 113 0;
#X connect 111 0 5 0;
#X connect 113 0 5 0;
#X connect 114 0 55 2;
#X connect 115 0 76 0;
#X connect 115 1 71 0;
#X connect 115 2 74 0;
#X connect 115 3 75 0;
#X connect 115 4 72 0;
#X connect 115 5 73 0;
#X connect 115 6 106 0;
#X connect 115 7 108 0;
#X connect 118 0 113 1;
#X connect 118 0 111 1;
#X connect 119 0 111 0;
#X connect 120 0 119 1;
#X connect 121 0 113 2;
#X connect 121 0 111 2;
#X connect 122 0 121 0;
#X connect 123 0 28 0;
#X connect 124 0 28 0;
#X connect 126 0 117 0;
#X connect 129 0 130 0;
#X connect 129 1 131 0;
#X connect 133 0 115 0;
#X connect 134 0 140 0;
#X connect 135 0 136 0;
#X connect 135 1 137 1;
#X connect 136 0 137 0;
#X connect 136 1 128 1;
#X connect 136 1 178 1;
#X connect 137 0 128 0;
#X connect 138 0 141 0;
#X connect 139 0 142 0;
#X connect 140 0 135 0;
#X connect 141 0 135 0;
#X connect 142 0 135 0;
#X connect 145 0 92 0;
#X connect 146 0 145 1;
#X connect 147 0 146 0;
#X connect 148 0 144 0;
#X connect 149 0 150 0;
#X connect 151 0 143 0;
#X connect 155 0 103 1;
#X connect 156 0 152 0;
#X connect 157 0 154 0;
#X connect 158 0 53 2;
#X connect 159 0 135 0;
#X connect 160 0 159 0;
#X connect 161 0 165 0;
#X connect 162 0 166 0;
#X connect 163 0 167 0;
#X connect 164 0 168 0;
#X connect 165 0 135 0;
#X connect 166 0 135 0;
#X connect 167 0 135 0;
#X connect 168 0 135 0;
#X connect 169 0 67 0;
#X connect 169 0 174 0;
#X connect 170 0 169 0;
#X connect 172 0 170 1;
#X connect 173 0 170 2;
#X connect 174 0 171 0;
#X connect 175 0 179 0;
#X connect 177 0 179 0;
#X connect 178 0 176 0;
#X connect 179 0 172 0;
#X connect 179 0 173 0;
#X connect 179 0 170 0;
#X connect 181 0 184 0;
#X connect 182 0 186 0;
#X connect 184 0 67 0;
#X connect 184 0 174 0;
#X connect 185 0 67 0;
#X connect 185 0 174 0;
#X connect 186 0 185 0;
#X connect 187 0 78 0;
#X connect 187 1 132 0;
#X connect 187 2 85 0;
#X connect 187 3 79 0;
#X connect 187 4 96 0;
#X connect 187 5 188 0;

View file

@ -1,4 +1,4 @@
#N canvas 1233 563 450 300 12;
#N canvas 1219 551 450 300 12;
#X floatatom 99 97 5 0 0 0 - - -;
#X obj 167 29 inlet;
#X obj 91 24 inlet;
@ -6,13 +6,11 @@
#X obj 96 65 ftom;
#X floatatom 95 170 5 0 0 0 - - -;
#X obj 92 199 mtof;
#X obj 166 69 / 500;
#X obj 101 142 -;
#X connect 0 0 8 0;
#X connect 1 0 7 0;
#X connect 0 0 7 0;
#X connect 1 0 7 1;
#X connect 2 0 4 0;
#X connect 4 0 0 0;
#X connect 5 0 6 0;
#X connect 6 0 3 0;
#X connect 7 0 8 1;
#X connect 8 0 5 0;
#X connect 7 0 5 0;