From bc78751467c86bbb07344d505617beeef9cd27b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Wed, 6 Oct 2010 20:06:21 +0000 Subject: more iemnet specifics svn path=/trunk/externals/iem/iemnet/; revision=14202 --- tcpclient-help.pd | 5 +- tcpreceive-help.pd | 90 ++++++++-------- tcpserver-help.pd | 312 ++++++++++++++++++++++++++++++----------------------- udpreceive-help.pd | 69 ++++++++---- udpsend-help.pd | 28 ++--- 5 files changed, 288 insertions(+), 216 deletions(-) diff --git a/tcpclient-help.pd b/tcpclient-help.pd index f262f4d..e6e90b4 100644 --- a/tcpclient-help.pd +++ b/tcpclient-help.pd @@ -1,4 +1,4 @@ -#N canvas 184 70 1022 481 12; +#N canvas 3 62 1018 535 12; #X msg 134 135 disconnect; #X obj 255 328 unpack 0 0 0 0; #X floatatom 255 351 3 0 0 0 - - -; @@ -57,6 +57,9 @@ be transmitted or received.; #X obj 520 373 print tcpclient:status; #X text 286 401 Received messages are output as a stream of bytes; #X text 515 103 GET http://index.phpCRLF; +#X text 45 477 NOTE: outlet's #2 & #3 are for compatibility with mrpeach's +net objects. all information is available via outlet#4 as well!; +#X text 42 414 2010 rdz; #X connect 0 0 8 0; #X connect 1 0 2 0; #X connect 1 1 3 0; diff --git a/tcpreceive-help.pd b/tcpreceive-help.pd index 28e2a2c..a07b80e 100644 --- a/tcpreceive-help.pd +++ b/tcpreceive-help.pd @@ -1,27 +1,26 @@ -#N canvas 162 172 680 297 12; -#X obj 20 85 tcpreceive 9997; +#N canvas 162 156 680 353 12; #X text 10 10 tcpreceive receives bytes over a tcp connection.; -#X msg 20 49 port 10000; -#X text 134 84 1st argument: port number; -#X text 102 48 reset port number; -#X floatatom 54 218 3 0 0 0 - - -; -#X floatatom 108 218 3 0 0 0 - - -; -#X floatatom 81 218 3 0 0 0 - - -; -#X obj 54 167 unpack f f f f f; -#X floatatom 135 218 3 0 0 0 - - -; -#X floatatom 163 192 6 0 0 0 - - -; -#X text 161 218 ip; -#X text 209 192 port; -#X text 178 168 from; -#X obj 20 250 print tcpreceive:received; -#X floatatom 88 140 3 0 0 0 - - -; -#X text 114 140 connections; -#X obj 122 117 s \$0.tcpreceive.o3; -#X obj 253 222 spigot; -#X obj 292 202 tgl 15 0 empty empty enable_print 17 7 0 10 -24198 -258699 --45076 1 1; -#X obj 253 177 r \$0.tcpreceive.o3; -#X obj 253 248 print tcpreceive:status; +#X msg 20 69 port 10000; +#X text 134 104 1st argument: port number; +#X text 102 68 reset port number; +#X floatatom 54 238 3 0 0 0 - - -; +#X floatatom 108 238 3 0 0 0 - - -; +#X floatatom 81 238 3 0 0 0 - - -; +#X obj 54 187 unpack f f f f f; +#X floatatom 135 238 3 0 0 0 - - -; +#X floatatom 163 212 6 0 0 0 - - -; +#X text 161 238 ip; +#X text 209 212 port; +#X text 178 188 from; +#X obj 20 270 print tcpreceive:received; +#X floatatom 88 160 3 0 0 0 - - -; +#X text 114 160 connections; +#X obj 122 137 s \$0.tcpreceive.o3; +#X obj 253 242 spigot; +#X obj 292 222 tgl 15 0 empty empty enable_print 17 7 0 10 -24198 -258699 +-45076 0 1; +#X obj 253 197 r \$0.tcpreceive.o3; +#X obj 253 268 print tcpreceive:status; #X floatatom 483 121 3 0 0 0 - - -; #X floatatom 537 121 3 0 0 0 - - -; #X floatatom 510 121 3 0 0 0 - - -; @@ -36,25 +35,28 @@ #X obj 483 191 route port; #X floatatom 483 217 6 0 0 0 - - -; #X text 532 217 port; -#X connect 0 0 14 0; -#X connect 0 1 8 0; -#X connect 0 2 15 0; -#X connect 0 3 17 0; -#X connect 2 0 0 0; -#X connect 8 0 5 0; -#X connect 8 1 7 0; -#X connect 8 2 6 0; -#X connect 8 3 9 0; -#X connect 8 4 10 0; -#X connect 18 0 21 0; -#X connect 19 0 18 1; -#X connect 20 0 18 0; -#X connect 25 0 26 0; -#X connect 26 0 22 0; -#X connect 26 1 24 0; -#X connect 26 2 23 0; -#X connect 26 3 27 0; -#X connect 26 4 28 0; -#X connect 31 0 25 0; +#X obj 20 105 tcpreceive 9997; +#X text 15 310 NOTE: outlet's #2 & #3 are for compatibility with mrpeach's +net objects. all information is available via outlet#4 as well!; +#X connect 1 0 35 0; +#X connect 7 0 4 0; +#X connect 7 1 6 0; +#X connect 7 2 5 0; +#X connect 7 3 8 0; +#X connect 7 4 9 0; +#X connect 17 0 20 0; +#X connect 18 0 17 1; +#X connect 19 0 17 0; +#X connect 24 0 25 0; +#X connect 25 0 21 0; +#X connect 25 1 23 0; +#X connect 25 2 22 0; +#X connect 25 3 26 0; +#X connect 25 4 27 0; +#X connect 30 0 24 0; +#X connect 31 0 32 0; #X connect 32 0 33 0; -#X connect 33 0 34 0; +#X connect 35 0 13 0; +#X connect 35 1 7 0; +#X connect 35 2 14 0; +#X connect 35 3 16 0; diff --git a/tcpserver-help.pd b/tcpserver-help.pd index 7c2e80a..f2f98b3 100644 --- a/tcpserver-help.pd +++ b/tcpserver-help.pd @@ -1,143 +1,187 @@ -#N canvas 0 0 996 665 12; -#X floatatom 318 409 5 0 0 0 - - -; -#X floatatom 342 439 5 0 0 0 - - -; -#X floatatom 366 489 3 0 0 0 - - -; -#X floatatom 397 489 3 0 0 0 - - -; -#X floatatom 429 489 3 0 0 0 - - -; -#X floatatom 461 490 3 0 0 0 - - -; -#X text 329 488 from; -#X text 234 409 connections; -#X msg 149 210 broadcast 1 2 3; -#X text 272 210 send to all clients; -#X text 272 439 on socket; -#X text 233 183 send to client on socket 504; +#N canvas 3 45 996 552 12; +#X floatatom 118 299 5 0 0 0 - - -; +#X floatatom 142 329 5 0 0 0 - - -; +#X floatatom 166 379 3 0 0 0 - - -; +#X floatatom 197 379 3 0 0 0 - - -; +#X floatatom 229 379 3 0 0 0 - - -; +#X floatatom 261 380 3 0 0 0 - - -; +#X text 129 378 from; +#X text 34 299 connections; +#X msg 209 110 broadcast 1 2 3; +#X text 326 108 send to all clients; +#X text 72 329 on socket; +#X text 202 265 argument is port number; +#X text 92 490 ***WARNING*** Attempting to print long messages can +hang pd!; +#X obj 95 430 spigot; +#X obj 134 410 tgl 15 0 empty empty enable_print 17 7 0 10 -24198 -258699 +-45076 0 1; +#X obj 95 266 tcpserver 9997; +#X text 21 6 [tcpserver] waits for clients to connect to its port. +; +#X text 94 473 Received messages are output as stream of bytes; +#X obj 95 453 print tcpserver:received; +#X msg 234 135 11 216 43; +#X obj 190 293 s \$0.tcpserver.o4; +#X obj 324 383 r \$0.tcpserver.o4; +#X obj 324 428 spigot; +#X obj 363 408 tgl 15 0 empty empty enable_print 17 7 0 10 -24198 -258699 +-45076 0 1; +#X obj 324 454 print tcpserver:status; +#X obj 166 356 unpack f f f f; +#N canvas 3 45 450 300 per.socket 1; +#X obj 93 254 outlet; #X msg 93 154 disconnectsocket \$1; -#X msg 20 81 disconnectclient \$1; -#X floatatom 38 32 5 0 0 0 - - -; -#X obj 20 57 f; -#X obj 20 38 bng 15 250 50 0 empty empty empty 17 7 0 10 -258699 -241291 --1; #X floatatom 111 108 5 0 0 0 - - -; #X obj 93 131 f; #X obj 93 112 bng 15 250 50 0 empty empty empty 17 7 0 10 -258699 -241291 -1; -#X text 402 375 argument is port number; -#X text 292 600 ***WARNING*** Attempting to print long messages can -hang pd!; -#X obj 295 540 spigot; -#X obj 334 520 tgl 15 0 empty empty enable_print 17 7 0 10 -24198 -258699 --45076 0 1; -#X obj 295 376 tcpserver 9997; -#X text 21 6 [tcpserver] waits for clients to connect to its port. -; -#X floatatom 769 132 5 0 0 0 - - -; -#X text 809 133 to_client; -#X msg 225 286 client; -#X msg 200 261 client 1; -#X text 268 260 get state of client 1; -#X floatatom 800 301 3 0 0 0 - - -; -#X symbolatom 832 276 15 0 0 0 - - -; -#X floatatom 769 325 5 0 0 0 - - -; -#X floatatom 864 251 7 0 0 0 - - -; -#X text 277 286 get state of all clients (list on right outlet); -#X floatatom 850 87 5 0 0 0 - - -; -#X text 893 88 on_socket; -#X text 248 239 without specified method 'broadcast' is assumed; -#X text 294 583 Received messages are output as stream of bytes; -#X obj 295 563 print tcpserver:received; #X msg 123 184 send 504 1 2 3; -#X msg 174 235 11 216 43; -#X text 162 81 disconnect by client number; -#X floatatom 809 111 5 0 0 0 - - -; -#X obj 769 32 route sent; -#X obj 769 197 route client; -#X obj 390 403 s \$0.tcpserver.o4; -#X obj 769 6 r \$0.tcpserver.o4; -#X obj 769 172 r \$0.tcpserver.o4; -#X text 943 277 ip; -#X obj 524 493 r \$0.tcpserver.o4; -#X obj 524 538 spigot; -#X obj 563 518 tgl 15 0 empty empty enable_print 17 7 0 10 -24198 -258699 --45076 0 1; -#X obj 524 564 print tcpserver:status; +#X text 233 183 send to client on socket 504; #X text 242 153 disconnect by socket number; -#X text 915 251 port; -#X text 826 301 socket; -#X msg 250 311 client 1 1 2 3 4; -#X text 378 310 send (binary) 1 2 3 4 to client 1; -#X text 810 327 client; -#X text 854 110 sent_bytes; -#X floatatom 769 482 5 0 0 0 - - -; -#X floatatom 850 437 5 0 0 0 - - -; -#X floatatom 809 461 5 0 0 0 - - -; -#X obj 769 356 r \$0.tcpserver.o4; -#X obj 769 382 route bufsize; -#X floatatom 763 621 3 0 0 0 - - -; -#X floatatom 817 621 3 0 0 0 - - -; -#X floatatom 790 621 3 0 0 0 - - -; -#X obj 763 515 r \$0.tcpserver.o4; -#X obj 763 541 route address; -#X obj 769 411 unpack f f f; -#X obj 769 223 unpack f f s f; -#X obj 769 61 unpack f f f; -#X obj 366 466 unpack f f f f; -#X obj 763 570 unpack f f f f f; -#X floatatom 844 621 3 0 0 0 - - -; -#X floatatom 872 595 6 0 0 0 - - -; -#X text 870 621 ip; -#X text 918 595 port; -#X text 809 482 socket; -#X text 20 585 2009/04/08 Martin Peach; -#X text 848 462 insize (bytes); -#X text 888 438 outsize (bytes); -#X connect 8 0 24 0; -#X connect 12 0 24 0; -#X connect 13 0 24 0; -#X connect 14 0 15 1; +#X connect 1 0 0 0; +#X connect 2 0 3 1; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 0 0; +#X restore 88 91 pd per.socket; +#N canvas 3 45 450 300 per.client 0; +#X obj 20 224 outlet; +#X msg 20 81 disconnectclient \$1; +#X floatatom 38 32 5 0 0 0 - - -; +#X obj 20 57 f; +#X obj 20 38 bng 15 250 50 0 empty empty empty 17 7 0 10 -258699 -241291 +-1; +#X msg 75 136 client; +#X msg 50 111 client 1; +#X text 118 110 get state of client 1; +#X text 127 136 get state of all clients (list on right outlet); +#X text 162 81 disconnect by client number; +#X msg 100 161 client 1 1 2 3 4; +#X text 228 160 send (binary) 1 2 3 4 to client 1; +#X connect 1 0 0 0; +#X connect 2 0 3 1; +#X connect 3 0 1 0; +#X connect 4 0 3 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 10 0 0 0; +#X restore 38 66 pd per.client; +#X msg 245 227 disconnect; +#X text 325 225 disconnect all clients; +#N canvas 313 127 698 341 default.targets 0; +#X obj 106 268 outlet; +#X msg 106 82 target 1; +#X msg 157 240 64 64 64 10; +#X text 173 83 per default \, send only to client #1; +#X text 244 241 send to the default target; +#X msg 63 43 target; +#X msg 116 112 target -2; +#X text 187 113 per default \, send to all clients but #2; +#X msg 133 156 targetsocket 7; +#X text 245 154 per default \, send only to client on socket 7; +#X msg 143 186 targetsocket -504; +#X text 272 186 per default \, send to all clients but the one on socket +504; +#X text 120 41 per default \, send to all connected clients (aka 'broadcast') +; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 8 0 0 0; +#X connect 10 0 0 0; +#X restore 247 174 pd default.targets; +#X text 308 139 without specified method 'broadcast' is assumed (see +default.targets); +#N canvas 3 45 768 526 getting.info 1; +#X floatatom 99 162 5 0 0 0 - - -; +#X text 139 163 to_client; +#X floatatom 390 165 3 0 0 0 - - -; +#X symbolatom 422 140 15 0 0 0 - - -; +#X floatatom 359 189 5 0 0 0 - - -; +#X floatatom 454 115 7 0 0 0 - - -; +#X floatatom 180 117 5 0 0 0 - - -; +#X text 223 118 on_socket; +#X floatatom 139 141 5 0 0 0 - - -; +#X obj 99 62 route sent; +#X obj 359 61 route client; +#X obj 99 36 r \$0.tcpserver.o4; +#X obj 359 36 r \$0.tcpserver.o4; +#X text 533 141 ip; +#X text 505 115 port; +#X text 416 165 socket; +#X text 400 191 client; +#X text 184 140 sent_bytes; +#X floatatom 99 342 5 0 0 0 - - -; +#X floatatom 180 297 5 0 0 0 - - -; +#X floatatom 139 321 5 0 0 0 - - -; +#X obj 99 216 r \$0.tcpserver.o4; +#X obj 99 242 route bufsize; +#X floatatom 93 501 3 0 0 0 - - -; +#X floatatom 147 501 3 0 0 0 - - -; +#X floatatom 120 501 3 0 0 0 - - -; +#X obj 93 395 r \$0.tcpserver.o4; +#X obj 93 421 route address; +#X obj 99 271 unpack f f f; +#X obj 359 87 unpack f f s f; +#X obj 99 91 unpack f f f; +#X obj 93 450 unpack f f f f f; +#X floatatom 174 501 3 0 0 0 - - -; +#X floatatom 202 475 6 0 0 0 - - -; +#X text 200 501 ip; +#X text 248 475 port; +#X text 139 342 socket; +#X text 178 322 insize (bytes); +#X text 218 298 outsize (bytes); +#X text 361 261 info about current inqueue/outqueue; +#X text 354 435 NOTE: outlets #3 \, #4 \, #5 are for compatibility +with mrpeach's net obects. you can get all information via outlet #6 +as well; +#X connect 9 0 30 0; +#X connect 10 0 29 0; +#X connect 11 0 9 0; +#X connect 12 0 10 0; +#X connect 21 0 22 0; +#X connect 22 0 28 0; +#X connect 26 0 27 0; +#X connect 27 0 31 0; +#X connect 28 0 18 0; +#X connect 28 1 20 0; +#X connect 28 2 19 0; +#X connect 29 0 4 0; +#X connect 29 1 2 0; +#X connect 29 2 3 0; +#X connect 29 3 5 0; +#X connect 30 0 0 0; +#X connect 30 1 8 0; +#X connect 30 2 6 0; +#X connect 31 0 23 0; +#X connect 31 1 25 0; +#X connect 31 2 24 0; +#X connect 31 3 32 0; +#X connect 31 4 33 0; +#X restore 584 373 pd getting.info; +#X text 602 456 copyright (c) 2009 Martin Peach; +#X text 602 473 copyright (c) 2010 Roman Haefeli; +#X text 602 490 copyright (c) 2010 IOhannes m zmoelnig; +#X connect 8 0 15 0; +#X connect 13 0 18 0; +#X connect 14 0 13 1; #X connect 15 0 13 0; -#X connect 16 0 15 0; -#X connect 17 0 18 1; -#X connect 18 0 12 0; -#X connect 19 0 18 0; -#X connect 22 0 40 0; +#X connect 15 1 0 0; +#X connect 15 2 1 0; +#X connect 15 3 25 0; +#X connect 15 4 20 0; +#X connect 19 0 15 0; +#X connect 21 0 22 0; +#X connect 22 0 24 0; #X connect 23 0 22 1; -#X connect 24 0 22 0; -#X connect 24 1 0 0; -#X connect 24 2 1 0; -#X connect 24 3 75 0; -#X connect 24 4 47 0; -#X connect 28 0 24 0; -#X connect 29 0 24 0; -#X connect 41 0 24 0; -#X connect 42 0 24 0; -#X connect 45 0 74 0; -#X connect 46 0 73 0; -#X connect 48 0 45 0; -#X connect 49 0 46 0; -#X connect 51 0 52 0; -#X connect 52 0 54 0; -#X connect 53 0 52 1; -#X connect 58 0 24 0; -#X connect 65 0 66 0; -#X connect 66 0 72 0; -#X connect 70 0 71 0; -#X connect 71 0 76 0; -#X connect 72 0 62 0; -#X connect 72 1 64 0; -#X connect 72 2 63 0; -#X connect 73 0 33 0; -#X connect 73 1 31 0; -#X connect 73 2 32 0; -#X connect 73 3 34 0; -#X connect 74 0 26 0; -#X connect 74 1 44 0; -#X connect 74 2 36 0; -#X connect 75 0 2 0; -#X connect 75 1 3 0; -#X connect 75 2 4 0; -#X connect 75 3 5 0; -#X connect 76 0 67 0; -#X connect 76 1 69 0; -#X connect 76 2 68 0; -#X connect 76 3 77 0; -#X connect 76 4 78 0; +#X connect 25 0 2 0; +#X connect 25 1 3 0; +#X connect 25 2 4 0; +#X connect 25 3 5 0; +#X connect 26 0 15 0; +#X connect 27 0 15 0; +#X connect 28 0 15 0; +#X connect 30 0 15 0; diff --git a/udpreceive-help.pd b/udpreceive-help.pd index a906e52..56c3ef5 100644 --- a/udpreceive-help.pd +++ b/udpreceive-help.pd @@ -1,19 +1,50 @@ -#N canvas 187 585 478 280 12; -#X floatatom 209 142 3 0 0 0 - - -; -#X floatatom 236 142 3 0 0 0 - - -; -#X floatatom 263 142 3 0 0 0 - - -; -#X floatatom 290 142 3 0 0 0 - - -; -#X text 166 141 from; -#X obj 107 186 print message; -#X obj 107 91 udpreceive 9997; -#X text 32 16 udpreceive receives bytes over a udp connection.; -#X floatatom 318 142 5 0 0 0 - - -; -#X obj 209 116 unpack 0 0 0 0 0; -#X text 265 235 Martin Peach 2008/11/05; -#X connect 6 0 5 0; -#X connect 6 1 9 0; -#X connect 9 0 0 0; -#X connect 9 1 1 0; -#X connect 9 2 2 0; -#X connect 9 3 3 0; -#X connect 9 4 8 0; +#N canvas 187 317 478 280 12; +#X floatatom 158 142 3 0 0 0 - - -; +#X floatatom 185 142 3 0 0 0 - - -; +#X floatatom 212 142 3 0 0 0 - - -; +#X floatatom 239 142 3 0 0 0 - - -; +#X text 115 141 from; +#X obj 107 186 print message; +#X obj 107 91 udpreceive 9997; +#X text 32 16 udpreceive receives bytes over a udp connection.; +#X floatatom 267 142 5 0 0 0 - - -; +#X obj 158 116 unpack 0 0 0 0 0; +#X msg 107 50 port 8888; +#X text 182 48 change the port; +#X text 34 229 copyright (c) 2008 Martin Peach; +#X text 34 249 copyright (c) 2010 IOhannes m zmoelnig (for iemnet) +; +#N canvas 3 45 450 300 get.info 0; +#X text 29 31 NOTE outlet #2 is for compatibility with mrpeach's net +objects. you can get all info (and more) via outlet #3 as well.; +#X obj 40 95 inlet outlet#3; +#X obj 40 119 route address; +#X floatatom 190 177 3 0 0 0 - - -; +#X floatatom 217 177 3 0 0 0 - - -; +#X floatatom 244 177 3 0 0 0 - - -; +#X floatatom 271 177 3 0 0 0 - - -; +#X text 147 176 from; +#X floatatom 299 177 5 0 0 0 - - -; +#X obj 190 151 unpack 0 0 0 0 0; +#X obj 35 213 route port; +#X floatatom 197 245 5 0 0 0 - - -; +#X text 236 244 listening port; +#X connect 1 0 2 0; +#X connect 2 0 9 0; +#X connect 2 1 10 0; +#X connect 9 0 3 0; +#X connect 9 1 4 0; +#X connect 9 2 5 0; +#X connect 9 3 6 0; +#X connect 9 4 8 0; +#X connect 10 0 11 0; +#X restore 317 110 pd get.info; +#X connect 6 0 5 0; +#X connect 6 1 9 0; +#X connect 6 2 14 0; +#X connect 9 0 0 0; +#X connect 9 1 1 0; +#X connect 9 2 2 0; +#X connect 9 3 3 0; +#X connect 9 4 8 0; +#X connect 10 0 6 0; diff --git a/udpsend-help.pd b/udpsend-help.pd index 0114f07..b4c3b9d 100644 --- a/udpsend-help.pd +++ b/udpsend-help.pd @@ -1,31 +1,23 @@ -#N canvas 609 110 590 348 12; +#N canvas 431 102 590 348 12; #X msg 72 182 disconnect; #X msg 16 59 connect 127.0.0.1 9997; #X obj 16 306 tgl 15 0 empty empty connected 20 7 0 8 -24198 -241291 --1 1 1; +-1 0 1; #X text 220 60 <--first; -#X msg 25 81 send 0 1 2 3; +#X msg 25 101 send 0 1 2 3; #X text 8 5 udpsend sends bytes over a udp connection.; #X text 8 28 Used in conjunction with packOSC will send OSC over udp ; #X obj 16 283 udpsend; -#X msg 32 103 send ../doc/5.reference/test.txt; -#X obj 387 151 openpanel; -#X msg 387 175 send \$1; -#X obj 387 132 bng 15 250 50 0 empty empty empty 17 7 0 10 -24198 -241291 --1; -#X text 327 104 send a file; -#X text 141 81 send raw data; -#X text 410 130 ...any file; +#X text 141 101 send raw data; #X msg 40 126 99 98 97; -#X text 361 311 Martin Peach 2007/06/20; -#X text 120 126 'send' prefix is optional; +#X text 106 128 'send' prefix is optional; +#X text 202 293 (c) copyright 2007 Martin Peach; +#X text 201 311 (c) copyright 2010 IOhannes m zmoelnig; +#X text 171 208 NOTE: with the iemnet version of [udpsend] you CANNOT +send files directly! use mrpeach's [binfile] to read the file.; #X connect 0 0 7 0; #X connect 1 0 7 0; #X connect 4 0 7 0; #X connect 7 0 2 0; -#X connect 8 0 7 0; -#X connect 9 0 10 0; -#X connect 10 0 7 0; -#X connect 11 0 9 0; -#X connect 15 0 7 0; +#X connect 9 0 7 0; -- cgit v1.2.1