diff options
Diffstat (limited to 'externals')
-rw-r--r-- | externals/build/doc/help-ENV.pd | 34 | ||||
-rw-r--r-- | externals/build/doc/help-ascseq.pd | 12 | ||||
-rw-r--r-- | externals/build/doc/help-ascwave.pd | 65 | ||||
-rw-r--r-- | externals/build/doc/help-bfilt.pd | 23 | ||||
-rw-r--r-- | externals/build/doc/help-delta.pd | 63 | ||||
-rw-r--r-- | externals/build/doc/help-proc.pd | 75 | ||||
-rw-r--r-- | externals/build/doc/help-randomix.pd | 181 | ||||
-rw-r--r-- | externals/build/doc/help-statistic.pd | 120 | ||||
-rw-r--r-- | externals/build/doc/help-utime.pd | 9 |
9 files changed, 582 insertions, 0 deletions
diff --git a/externals/build/doc/help-ENV.pd b/externals/build/doc/help-ENV.pd new file mode 100644 index 00000000..7582c671 --- /dev/null +++ b/externals/build/doc/help-ENV.pd @@ -0,0 +1,34 @@ +#N canvas 370 240 625 314 10; +#X obj 147 203 ENV; +#X msg 147 163 RAND_MAX; +#X floatatom 226 253 10 0 0; +#X obj 147 277 print; +#X msg 214 164 getenv \$1; +#X symbolatom 215 130 10 0 0; +#X obj 295 130 symbol; +#X msg 311 105 HOSTNAME; +#X msg 310 80 USERNAME; +#X obj 147 228 route symbol; +#X msg 147 253 \$1; +#X msg 424 110 USERNAME bla; +#X obj 386 168 cxc.prepend setenv; +#X obj 395 202 print pre; +#X msg 425 135 HOSTNAME testi; +#X msg 312 45 RANDOM; +#X text 18 7 get and set environment variables etc ...; +#X msg 244 51 DATE; +#X connect 0 0 9 0; +#X connect 1 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 4 0; +#X connect 6 0 4 0; +#X connect 7 0 6 0; +#X connect 8 0 6 0; +#X connect 9 0 10 0; +#X connect 9 1 2 0; +#X connect 10 0 3 0; +#X connect 11 0 12 0; +#X connect 12 0 0 0; +#X connect 14 0 12 0; +#X connect 15 0 6 0; +#X connect 17 0 6 0; diff --git a/externals/build/doc/help-ascseq.pd b/externals/build/doc/help-ascseq.pd new file mode 100644 index 00000000..5038a844 --- /dev/null +++ b/externals/build/doc/help-ascseq.pd @@ -0,0 +1,12 @@ +#N canvas 454 117 570 300 10; +#X obj 132 168 print ascseq; +#X msg 253 112 bang; +#X obj 223 70 random_fl -10000 10000; +#X obj 131 118 ascseq 100; +#X floatatom 268 137 5 0 0; +#X msg 83 34 "abcde 123 dsfjnsdf ewrte 3k4n5 3n hjb5465hj 6"; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 4 0 3 1; +#X connect 5 0 3 0; diff --git a/externals/build/doc/help-ascwave.pd b/externals/build/doc/help-ascwave.pd new file mode 100644 index 00000000..bb36502e --- /dev/null +++ b/externals/build/doc/help-ascwave.pd @@ -0,0 +1,65 @@ +#N canvas 448 258 407 316 10; +#X msg 80 153 bang; +#X floatatom 169 176; +#X floatatom 214 58; +#X obj 151 13 loadbang; +#X obj 157 97 metro 100; +#X msg 157 196 1; +#X msg 157 58 1; +#X msg 186 58 0; +#X obj 145 221 ascwave; +#X msg 75 192 fill 1; +#X msg 74 211 fill 0; +#X obj 145 262 ixprint; +#X msg 145 241 \$1; +#N canvas 517 176 588 372 modulate 0; +#X obj 84 200 outlet; +#X obj 84 139 random 80; +#X msg 30 110 bang; +#X obj 84 75 * 50; +#X obj 84 93 metro 5000; +#X obj 29 52 loadbang; +#X msg 29 70 1; +#X obj 84 161 pack 1 5000; +#X obj 84 180 line; +#X obj 86 31 inlet start/stop; +#X obj 130 53 inlet time; +#X connect 1 0 7 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 3 0 7 1; +#X connect 4 0 1 0; +#X connect 5 0 6 0; +#X connect 6 0 4 0; +#X connect 7 0 8 0; +#X connect 8 0 0 0; +#X connect 9 0 4 0; +#X connect 10 0 3 0; +#X restore 169 154 page modulate; +#X floatatom 262 132; +#X obj 262 179 min 127; +#X obj 262 154 max 33; +#X obj 157 77 f; +#X obj 210 78 f; +#X text 200 178 <== here; +#X text 297 131 <== and here; +#X connect 0 0 8 0; +#X connect 1 0 8 2; +#X connect 2 0 18 0; +#X connect 3 0 6 0; +#X connect 4 0 5 0; +#X connect 5 0 8 1; +#X connect 6 0 17 0; +#X connect 7 0 17 0; +#X connect 8 0 12 0; +#X connect 9 0 8 0; +#X connect 10 0 8 0; +#X connect 12 0 11 0; +#X connect 13 0 8 2; +#X connect 14 0 16 0; +#X connect 15 0 8 3; +#X connect 16 0 15 0; +#X connect 17 0 4 0; +#X connect 17 0 13 0; +#X connect 18 0 4 1; +#X connect 18 0 13 1; diff --git a/externals/build/doc/help-bfilt.pd b/externals/build/doc/help-bfilt.pd new file mode 100644 index 00000000..4be9d45c --- /dev/null +++ b/externals/build/doc/help-bfilt.pd @@ -0,0 +1,23 @@ +#N canvas 203 207 404 226 10; +#X floatatom 85 119; +#X obj 57 175 print; +#X floatatom 45 120; +#X obj 58 146 bfilt 5; +#X text 43 16 bfilt (at the moment) is: modulo something + select 0; +#X floatatom 167 120; +#X obj 139 176 print; +#X floatatom 127 121; +#X obj 140 147 bfilt2 5; +#X obj 145 87 metro 100; +#X msg 145 68 1; +#X text 42 29 bfilt2: real bangfilter: bangs on first inlet \, internal counter \, only outputs every arg2th bang ...; +#X msg 169 67 0; +#X connect 0 0 3 1; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 5 0 8 1; +#X connect 7 0 8 0; +#X connect 8 0 6 0; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X connect 12 0 9 0; diff --git a/externals/build/doc/help-delta.pd b/externals/build/doc/help-delta.pd new file mode 100644 index 00000000..7f0bf8be --- /dev/null +++ b/externals/build/doc/help-delta.pd @@ -0,0 +1,63 @@ +#N canvas 9 51 986 579 10; +#X obj 139 177 delta~; +#X obj 80 44 noise~; +#X obj 83 268 print a; +#X obj 143 267 print b; +#X obj 329 312 dac~; +#X obj 226 47 osc~ 400; +#X graph graph1 0 -1 999 1 497 206 697 66; +#X array orig 1000 float 0; +#X pop; +#X graph graph2 0 -1 999 1 431 563 931 203; +#X array diff 1000 float 0; +#X pop; +#X obj 129 390 tabwrite~ diff; +#X msg 220 340 bang; +#X floatatom 225 24 5 0 0; +#X obj 139 468 table test; +#X msg 139 442 resize 2205; +#X obj 242 389 tabwrite~ test; +#X obj 243 415 tabwrite~ orig; +#X obj 403 515 print; +#X msg 350 441 bang; +#X obj 346 530 t b; +#X obj 332 552 spigot; +#X obj 375 528 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 +1; +#X obj 320 474 tabread~ test; +#X obj 201 532 phasor~ 10; +#X floatatom 201 510 5 0 0; +#X obj 201 556 *~ 2205; +#X obj 147 45 phasor~ 1; +#X obj 160 93 nop~; +#X obj 287 224 metro 100; +#X obj 287 198 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 +1; +#X floatatom 173 18 5 0 0; +#X obj 109 77 *~ 0.1; +#X floatatom 86 103 5 0 0; +#X text 308 36 if this sample is larger than last \, value is positive +\, else negative ...; +#X text 308 18 delta~: difference between this and last sample; +#X connect 0 0 4 1; +#X connect 0 0 8 0; +#X connect 1 0 29 0; +#X connect 9 0 8 0; +#X connect 9 0 13 0; +#X connect 9 0 14 0; +#X connect 10 0 5 0; +#X connect 12 0 11 0; +#X connect 17 0 18 0; +#X connect 19 0 18 1; +#X connect 21 0 23 0; +#X connect 22 0 21 0; +#X connect 23 0 20 0; +#X connect 24 0 25 0; +#X connect 25 0 0 0; +#X connect 25 0 13 0; +#X connect 25 0 14 0; +#X connect 26 0 9 0; +#X connect 27 0 26 0; +#X connect 28 0 24 0; +#X connect 29 0 25 0; +#X connect 30 0 29 1; diff --git a/externals/build/doc/help-proc.pd b/externals/build/doc/help-proc.pd new file mode 100644 index 00000000..65411ae4 --- /dev/null +++ b/externals/build/doc/help-proc.pd @@ -0,0 +1,75 @@ +#N canvas 179 113 717 546 10; +#X obj 151 118 proc; +#X text 96 15 interface to the linux proc filesystem; +#X msg 88 80 cpuinfo; +#X obj 27 281 unpack f f f; +#X floatatom 25 304 5 0 0; +#X floatatom 67 305 5 0 0; +#X floatatom 109 304 5 0 0; +#X text 37 254 cpu-id \, cpu-mhz \, bogomips; +#X obj 151 147 print proc_raw; +#X msg 151 94 proc \$1; +#X obj 151 71 symbol; +#X msg 123 38 cpuinfo; +#X msg 183 38 uptime; +#X msg 351 38 stat; +#X msg 389 38 blubb; +#X obj 242 276 unpack f f; +#X text 241 255 uptime in s \, idle-time in s; +#X floatatom 241 301 5 0 0; +#X floatatom 302 305 5 0 0; +#X msg 237 38 loadavg; +#X msg 297 39 version; +#X obj 174 349 unpack f f f f f f; +#X floatatom 172 373 5 0 0; +#X floatatom 187 397 5 0 0; +#X floatatom 220 373 5 0 0; +#X floatatom 238 397 5 0 0; +#X floatatom 271 372 5 0 0; +#X floatatom 289 396 5 0 0; +#X text 315 345 apparently the loadavg format is something liek this +; +#X text 318 359 my manpage seems outdated ...; +#X text 330 379 1: number of jobs in the run queue (1'); +#X text 340 394 2: numofjobs in R qu (5'); +#X text 348 411 3: numofjobs in R qu (15'); +#X text 339 425 4: num of procs waiting for disk io?; +#X text 339 452 6: num of processes ever total; +#X text 339 438 5: num of processes now total; +#X obj 27 234 route cpuinfo uptime loadavg version stat; +#X obj 458 241 unpack f f f; +#X floatatom 458 267 5 0 0; +#X floatatom 484 293 5 0 0; +#X floatatom 516 266 5 0 0; +#X text 462 215 uname -r; +#X text 307 82 really useless stuff but maybe good for estimating number +of voices in self-generating patches; +#X connect 0 0 8 0; +#X connect 0 0 36 0; +#X connect 2 0 0 0; +#X connect 3 0 4 0; +#X connect 3 1 5 0; +#X connect 3 2 6 0; +#X connect 9 0 0 0; +#X connect 10 0 9 0; +#X connect 11 0 10 0; +#X connect 12 0 10 0; +#X connect 13 0 10 0; +#X connect 14 0 10 0; +#X connect 15 0 17 0; +#X connect 15 1 18 0; +#X connect 19 0 10 0; +#X connect 20 0 10 0; +#X connect 21 0 22 0; +#X connect 21 1 23 0; +#X connect 21 2 24 0; +#X connect 21 3 25 0; +#X connect 21 4 26 0; +#X connect 21 5 27 0; +#X connect 36 0 3 0; +#X connect 36 1 15 0; +#X connect 36 2 21 0; +#X connect 36 3 37 0; +#X connect 37 0 38 0; +#X connect 37 1 39 0; +#X connect 37 2 40 0; diff --git a/externals/build/doc/help-randomix.pd b/externals/build/doc/help-randomix.pd new file mode 100644 index 00000000..3f6823b4 --- /dev/null +++ b/externals/build/doc/help-randomix.pd @@ -0,0 +1,181 @@ +#N canvas 33 162 966 505 10; +#X msg 197 150 bang; +#X floatatom 244 150 5 0 0; +#X floatatom 197 218 10 0 0; +#X floatatom 53 162 5 0 0; +#X msg 54 111 bang; +#X floatatom 289 152 5 0 0; +#X obj 53 135 random 100; +#X msg 427 151 bang; +#X floatatom 474 151 5 0 0; +#X floatatom 427 219 10 0 0; +#X floatatom 519 153 5 0 0; +#X obj 196 183 random1 0 1; +#X obj 426 184 random_fl 0 1; +#X msg 672 152 bang; +#X floatatom 719 152 5 0 0; +#X floatatom 672 220 10 0 0; +#X floatatom 764 154 5 0 0; +#X obj 671 185 random_icg 0 1; +#X msg 197 276 bang; +#X floatatom 244 276 5 0 0; +#X floatatom 197 344 10 0 0; +#X floatatom 289 278 5 0 0; +#X text 193 251 random_icg lowerlimit \, upperlimit; +#X msg 368 288 help; +#X text 253 10 the random number generatorse; +#X obj 539 406 dist_normal; +#X msg 540 356 bang; +#X obj 579 357 metro 100; +#X obj 579 337 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 +1; +#X obj 196 309 random_tw 0 1; +#X floatatom 637 334 5 0 0; +#N canvas 0 0 600 400 streamview 0; +#X graph graph2 0 -2 99 2 92 362 292 222; +#X array randstream 100 float 0; +#X pop; +#X obj 146 144 tabwrite randstream; +#X obj 200 63 count; +#X obj 200 88 % 100; +#X obj 156 28 t f b; +#X obj 49 15 inlet; +#X connect 2 0 3 0; +#X connect 3 0 1 1; +#X connect 4 0 1 0; +#X connect 4 1 2 0; +#X connect 5 0 4 0; +#X restore 570 433 pd streamview; +#N canvas 306 24 679 400 distview 0; +#X graph graph1 0 0 99 200 248 231 648 31; +#X array randview1 100 float 0; +#X pop; +#X obj 28 26 inlet; +#X obj 45 355 tabwrite randview1; +#X obj 136 201 * 100; +#X obj 136 225 int; +#X obj 136 153 + 2; +#X obj 45 280 tabread randview1; +#X obj 136 176 / 4; +#X obj 136 250 t f f; +#X obj 45 304 t f b; +#X obj 45 329 + 1; +#X obj 136 129 t f; +#X connect 1 0 11 0; +#X connect 3 0 4 0; +#X connect 4 0 8 0; +#X connect 5 0 7 0; +#X connect 6 0 9 0; +#X connect 7 0 3 0; +#X connect 8 0 6 0; +#X connect 8 1 2 1; +#X connect 9 0 10 0; +#X connect 10 0 2 0; +#X connect 11 0 5 0; +#X restore 550 458 pd distview; +#X obj 540 381 t b; +#X floatatom 477 430 5 0 0; +#N canvas 0 0 600 400 seedit 0; +#X msg 284 154 seed \$1; +#X obj 284 107 utime; +#X msg 304 74 bang; +#X obj 254 28 loadbang; +#X obj 284 130 * 1e+06; +#X obj 360 167 until; +#X msg 455 156 bang; +#X obj 359 194 random 2.14748e+08; +#X msg 359 267 seed \$1; +#X msg 385 294 seed \$1; +#X msg 412 318 seed \$1; +#X msg 439 267 seed \$1; +#X msg 466 293 seed \$1; +#X obj 254 50 t b b; +#X obj 195 155 print seed1; +#X obj 143 360 outlet; +#X obj 204 361 outlet; +#X obj 264 361 outlet; +#X obj 317 361 outlet; +#X obj 367 361 outlet; +#X text 35 9 seed one random obj \, which generates the seeds for all +the others.; +#X obj 359 218 serialize 6; +#X msg 360 140 6; +#X obj 359 242 unpack f f f f f f; +#X msg 485 317 seed \$1; +#X obj 420 359 outlet; +#X connect 0 0 7 0; +#X connect 1 1 4 0; +#X connect 2 0 1 0; +#X connect 3 0 13 0; +#X connect 4 0 0 0; +#X connect 4 0 14 0; +#X connect 5 0 7 0; +#X connect 6 0 7 0; +#X connect 7 0 21 0; +#X connect 8 0 15 0; +#X connect 9 0 16 0; +#X connect 10 0 17 0; +#X connect 11 0 18 0; +#X connect 12 0 19 0; +#X connect 13 0 22 0; +#X connect 13 1 1 0; +#X connect 21 0 23 0; +#X connect 22 0 5 0; +#X connect 23 0 8 0; +#X connect 23 1 9 0; +#X connect 23 2 10 0; +#X connect 23 3 11 0; +#X connect 23 4 12 0; +#X connect 23 5 24 0; +#X connect 24 0 25 0; +#X restore 258 33 pd seedit; +#X text 37 79 std pd random; +#X text 197 124 linear congruential generator; +#X text 197 77 creation arguments for the extra randoms are:; +#X text 205 92 <range-min \, range-max> \, defaults to 0 respectively +RAND_MAX; +#X text 545 17 see also:; +#X obj 545 40 utime; +#X text 428 129 another lcg method ..; +#X text 668 127 inverse linear congruential generator; +#X text 536 249 normal distribution mean 0 and dist 1; +#X text 536 264 right now it uses random1 for the actual rand values +; +#X text 537 278 but later on it should take one of the randoms as creation +argument \, so yu can specify which generator is being used.; +#X text 198 106 they all output floats); +#X text 540 311 also \, there is some burst at the upper and lower +limits; +#X connect 0 0 11 0; +#X connect 1 0 11 1; +#X connect 4 0 6 0; +#X connect 5 0 11 2; +#X connect 6 0 3 0; +#X connect 7 0 12 0; +#X connect 8 0 12 1; +#X connect 10 0 12 2; +#X connect 11 0 2 0; +#X connect 12 0 9 0; +#X connect 13 0 17 0; +#X connect 14 0 17 1; +#X connect 16 0 17 2; +#X connect 17 0 15 0; +#X connect 18 0 29 0; +#X connect 19 0 29 1; +#X connect 21 0 29 2; +#X connect 23 0 29 0; +#X connect 25 0 31 0; +#X connect 25 0 32 0; +#X connect 25 0 34 0; +#X connect 26 0 33 0; +#X connect 27 0 33 0; +#X connect 28 0 27 0; +#X connect 29 0 20 0; +#X connect 30 0 27 1; +#X connect 33 0 25 0; +#X connect 35 0 6 0; +#X connect 35 1 11 0; +#X connect 35 2 12 0; +#X connect 35 3 17 0; +#X connect 35 4 29 0; +#X connect 35 5 25 0; diff --git a/externals/build/doc/help-statistic.pd b/externals/build/doc/help-statistic.pd new file mode 100644 index 00000000..24d7ca37 --- /dev/null +++ b/externals/build/doc/help-statistic.pd @@ -0,0 +1,120 @@ +#N canvas 416 554 622 369 10; +#X obj 64 102 noise~; +#X obj 463 105 mean~ blir; +#X obj 21 262 table blir; +#N canvas 162 270 331 246 fillary 0; +#X obj 34 53 until; +#X obj 34 79 count; +#X msg 85 27 bang; +#X obj 34 105 - 1; +#X obj 34 130 t b f; +#X obj 34 166 random_fl -1 1; +#X obj 162 16 loadbang; +#X obj 192 64 utime; +#X obj 200 100 +; +#X msg 200 124 seed \$1; +#X obj 162 39 t b b b; +#X obj 232 13 inlet; +#X obj 120 65 t b b; +#X msg 34 27 1000; +#X msg 132 108 set \$1; +#X obj 280 13 inlet; +#X obj 178 165 random_icg -1 1; +#X obj 34 192 tabwrite blor; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 1 1; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 1 17 1; +#X connect 5 0 17 0; +#X connect 6 0 10 0; +#X connect 7 0 8 0; +#X connect 7 1 8 1; +#X connect 8 0 9 0; +#X connect 9 0 5 0; +#X connect 9 0 16 0; +#X connect 10 0 12 0; +#X connect 10 1 7 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 12 1 2 0; +#X connect 13 0 0 0; +#X connect 14 0 13 0; +#X connect 15 0 14 0; +#X connect 16 0 17 0; +#X restore 152 241 pd fillary; +#X obj 21 175 tabwrite~ blir; +#X msg 21 147 bang; +#X obj 356 102 samplerate~; +#X floatatom 356 126 5 0 0; +#X obj 356 80 loadbang; +#X floatatom 463 129 8 0 0; +#X obj 64 150 +~ 0.1; +#X floatatom 101 127 5 0 0; +#X msg 152 218 bang; +#X text 44 30 mean~ <arrayname>; +#X floatatom 160 160 5 0 0; +#X obj 160 183 t f f; +#X text 206 163 set arraysize; +#X text 529 130 mean; +#X text 43 10 this is supposed to calculate the signal mean of an array. +; +#X msg 463 82 mean; +#X msg 503 82 ad; +#X msg 534 82 sd; +#X obj 462 35 mean 1 2 3; +#X floatatom 462 59 5 0 0; +#X msg 462 13 1 2 3.6677; +#X obj 316 251 cx.mean blir; +#X floatatom 271 305 8 0 0; +#X msg 316 228 mean; +#X msg 350 228 ad; +#X obj 446 251 histo; +#X obj 21 291 table blor; +#X obj 342 304 cx.avgdev blir; +#X floatatom 341 325 10 0 0; +#X floatatom 461 326 10 0 0; +#X obj 392 150 loadbang; +#X obj 460 304 cx.stddev blir; +#X obj 316 272 t f f f; +#X text 542 36 pd's mean; +#X text 544 115 dont need this; +#X msg 392 218 set \$1; +#X obj 392 194 symbol; +#X msg 392 173 blir; +#X msg 429 173 blor; +#X msg 20 214 \; blir resize \$1 \;; +#X msg 113 270 \; blor resize \$1 \;; +#X connect 0 0 10 0; +#X connect 1 0 9 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 8 0 6 0; +#X connect 10 0 4 0; +#X connect 11 0 10 1; +#X connect 12 0 3 0; +#X connect 14 0 15 0; +#X connect 15 0 43 0; +#X connect 15 0 44 0; +#X connect 15 1 3 1; +#X connect 19 0 1 0; +#X connect 20 0 1 0; +#X connect 21 0 1 0; +#X connect 22 0 23 0; +#X connect 24 0 22 0; +#X connect 25 0 36 0; +#X connect 27 0 25 0; +#X connect 28 0 25 0; +#X connect 31 0 32 0; +#X connect 34 0 42 0; +#X connect 35 0 33 0; +#X connect 36 0 26 0; +#X connect 36 1 31 0; +#X connect 36 2 35 0; +#X connect 39 0 25 0; +#X connect 39 0 31 0; +#X connect 39 0 35 0; +#X connect 40 0 39 0; +#X connect 41 0 40 0; +#X connect 42 0 40 0; diff --git a/externals/build/doc/help-utime.pd b/externals/build/doc/help-utime.pd new file mode 100644 index 00000000..aa5af835 --- /dev/null +++ b/externals/build/doc/help-utime.pd @@ -0,0 +1,9 @@ +#N canvas 305 149 450 300 10; +#X obj 199 94 utime; +#X msg 192 55 bang; +#X floatatom 259 170 8 0 0; +#X floatatom 174 129 20 0 0; +#X text 25 8 output seconds since epoch and microsecond fraction; +#X connect 0 0 3 0; +#X connect 0 1 2 0; +#X connect 1 0 0 0; |