Commit 98850dbe authored by Roman Haefeli's avatar Roman Haefeli

remove everything that is not relevant to the client; clean up repo

parent 2a024e9a
#N canvas 541 70 574 383 10;
#X declare -path include;
#X obj 189 90 dac~ 1;
#X obj 191 132 adc~ 1;
#X obj 61 134 metro;
#X msg 88 94 1000 \$1;
#X obj 88 114 /;
#X obj 55 213 cnv 15 250 150 empty empty empty 20 12 0 14 -228856 -66577
0;
#N canvas 0 0 450 300 (subpatch) 0;
#X array \$0.scope 250 float 2;
#X coords 0 1 250 -1 250 150 2 0 0;
#X restore 55 213 graph;
#X obj 257 15 declare -path include;
#X obj 61 157 rh_vtabwrite~ \$0.scope;
#X obj 61 27 loadbang;
#X obj 61 69 t b a;
#X msg 61 47 55;
#X msg 190 34 0;
#X obj 189 70 osc~ 220;
#X obj 280 74 detect_phase_shift;
#X obj 280 95 geiger 10000;
#X obj 280 121 moving_sum 6;
#X floatatom 280 141 5 0 0 0 - - -, f 5;
#X text 320 141 glitch/min;
#X floatatom 400 140 5 0 0 0 - - -, f 5;
#X obj 400 120 moving_sum 90;
#X text 440 140 glitch/15min;
#X connect 1 0 8 1;
#X connect 1 0 14 0;
#X connect 2 0 8 0;
#X connect 3 0 4 0;
#X connect 4 0 2 1;
#X connect 9 0 11 0;
#X connect 10 0 2 0;
#X connect 10 1 3 0;
#X connect 11 0 10 0;
#X connect 12 0 13 1;
#X connect 13 0 0 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 15 0 20 0;
#X connect 16 0 17 0;
#X connect 20 0 19 0;
#N canvas 719 50 350 369 10;
#N canvas 719 374 558 410 tpf.communication 0;
#X obj 7 8 r SERVER;
#X obj 7 74 s \$0.from;
#X obj 122 11 r SERVER;
#X obj 122 32 route socket;
#X obj 122 54 s \$0.client;
#X obj 8 113 r \$0.to;
#X obj 8 287 list trim;
#X obj 8 308 s SERVER;
#X obj 8 264 list prepend;
#X msg 88 202 list to send \$1;
#N canvas 318 263 213 161 tcp.prepare 0;
#X obj 20 28 t b a;
#X obj 20 98 list append;
#X obj 52 55 s to.tcp.prepare;
#X obj 52 74 r from.tcp.prepare;
#X obj 20 5 inlet;
#X obj 20 122 outlet;
#X connect 0 0 1 0;
#X connect 0 1 2 0;
#X connect 1 0 5 0;
#X connect 3 0 1 1;
#X connect 4 0 0 0;
#X restore 8 241 pd tcp.prepare;
#X obj 88 180 r \$0.client;
#X obj 8 137 list split 1;
#X obj 8 180 list append;
#X obj 7 51 routeOSC /tpf;
#X msg 8 160 symbol /s/tpf\$1;
#X obj 7 28 route server;
#X obj 8 221 packOSC;
#X obj 8 200 list trim;
#X obj 201 104 r \$0.broadcast;
#X obj 201 276 list trim;
#X obj 201 297 s SERVER;
#N canvas 318 263 213 161 tcp.prepare 0;
#X obj 20 28 t b a;
#X obj 20 98 list append;
#X obj 52 55 s to.tcp.prepare;
#X obj 52 74 r from.tcp.prepare;
#X obj 20 5 inlet;
#X obj 20 122 outlet;
#X connect 0 0 1 0;
#X connect 0 1 2 0;
#X connect 1 0 5 0;
#X connect 3 0 1 1;
#X connect 4 0 0 0;
#X restore 201 230 pd tcp.prepare;
#X obj 201 126 list split 1;
#X obj 201 169 list append;
#X msg 201 149 symbol /s/tpf\$1;
#X obj 201 210 packOSC;
#X obj 201 189 list trim;
#X obj 201 253 list prepend to broadcast;
#X connect 0 0 16 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 5 0 12 0;
#X connect 6 0 7 0;
#X connect 8 0 6 0;
#X connect 9 0 8 1;
#X connect 10 0 8 0;
#X connect 11 0 9 0;
#X connect 12 0 15 0;
#X connect 12 1 13 1;
#X connect 13 0 18 0;
#X connect 14 0 1 0;
#X connect 15 0 13 0;
#X connect 16 0 14 0;
#X connect 17 0 10 0;
#X connect 18 0 17 0;
#X connect 19 0 23 0;
#X connect 20 0 21 0;
#X connect 22 0 28 0;
#X connect 23 0 25 0;
#X connect 23 1 24 1;
#X connect 24 0 27 0;
#X connect 25 0 24 0;
#X connect 26 0 22 0;
#X connect 27 0 26 0;
#X connect 28 0 20 0;
#X restore 13 92 pd tpf.communication;
#N canvas 902 132 375 575 register/name 0;
#X obj 130 391 s \$0.to;
#X obj 7 11 r \$0.from;
#X obj 7 31 routeOSC /register/name;
#X msg 49 370 /register/done;
#X obj 7 52 list prepend;
#X obj 87 52 r \$0.client;
#N canvas 0 50 333 404 prevent_duplicates 0;
#X obj 80 81 text search \$0.clients 1;
#X obj 80 101 == -1;
#X obj 23 62 unpack f s;
#X obj 23 174 == -1;
#X obj 23 154 text search \$0.clients 0;
#X obj 23 214 &&;
#X obj 23 234 sel 1;
#X text 66 233 bang if neither id nor name is found;
#X obj 23 194 t a a;
#X obj 91 255 sel 0;
#X msg 91 275 id already in use;
#X obj 80 124 t a a;
#X msg 176 201 name already in use;
#X obj 176 183 sel 0;
#X obj 23 14 inlet;
#X obj 23 359 outlet;
#X obj 91 307 outlet;
#X connect 0 0 1 0;
#X connect 1 0 11 0;
#X connect 2 0 4 0;
#X connect 2 1 0 0;
#X connect 3 0 8 0;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 15 0;
#X connect 8 0 5 0;
#X connect 8 1 9 0;
#X connect 9 0 10 0;
#X connect 10 0 16 0;
#X connect 11 0 5 1;
#X connect 11 1 13 0;
#X connect 12 0 16 0;
#X connect 13 0 12 0;
#X connect 14 0 2 0;
#X restore 7 123 pd prevent_duplicates;
#X obj 130 148 list prepend /register/error;
#X obj 130 168 list trim;
#X obj 7 96 t a a;
#X obj 7 143 list append;
#X obj 91 291 loadbang;
#X obj 54 332 text set \$0.clients;
#X msg 91 311 1e+06;
#X obj 7 513 s \$0.add.connection;
#X obj 7 492 f;
#X msg 22 473 \$1;
#X obj 7 163 t b b a a b;
#X obj 54 252 list append;
#X obj 70 188 text size \$0.clients;
#X obj 70 208 == 0;
#X msg 45 429 /updated/clients;
#X obj 45 449 s \$0.broadcast;
#X obj 22 350 t b b;
#X obj 139 217 r SERVER;
#X obj 139 237 route ip;
#X obj 54 272 list append;
#X msg 139 257 symbol \$1.\$2.\$3.\$4;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X connect 4 0 9 0;
#X connect 5 0 4 1;
#X connect 6 0 10 0;
#X connect 6 1 7 0;
#X connect 7 0 8 0;
#X connect 8 0 0 0;
#X connect 9 0 6 0;
#X connect 9 1 10 1;
#X connect 10 0 17 0;
#X connect 11 0 13 0;
#X connect 13 0 12 1;
#X connect 15 0 14 0;
#X connect 16 0 15 1;
#X connect 17 0 15 0;
#X connect 17 1 23 0;
#X connect 17 2 16 0;
#X connect 17 3 18 0;
#X connect 17 4 19 0;
#X connect 18 0 26 0;
#X connect 19 0 20 0;
#X connect 20 0 18 1;
#X connect 21 0 22 0;
#X connect 23 0 21 0;
#X connect 23 1 3 0;
#X connect 24 0 25 0;
#X connect 25 0 27 0;
#X connect 26 0 12 0;
#X connect 27 0 26 1;
#X restore 13 132 pd register/name;
#N canvas 595 213 337 132 protol/version 0;
#X obj 17 15 r \$0.from;
#X obj 17 75 s \$0.to;
#X obj 17 35 routeOSC /protocol/version;
#X msg 17 55 /protocol/version 1 0;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X restore 13 112 pd protol/version;
#X obj 13 10 text define \$0.clients;
#N canvas 699 381 494 446 unregister/name 0;
#X text 11 9 We want disconnceting clients to automatically unregister
by IP and port.;
#X obj 14 50 r SERVER;
#X obj 14 90 t a a;
#X obj 15 114 -;
#X obj 15 135 sel -1;
#X text 68 136 <- detects a disconnecting client;
#X obj 15 163 list append;
#X obj 99 272 text delete \$0.clients;
#X obj 15 228 sel -1;
#X obj 14 71 route num_of_clients socket;
#X obj 15 202 text search \$0.clients 0;
#X obj 15 183 t a a;
#X obj 48 401 f;
#X obj 48 422 s \$0.del.connection;
#X obj 82 335 text set \$0.clients;
#X obj 119 293 loadbang;
#X msg 119 313 0;
#X msg 156 313 2;
#X msg 82 313 1;
#X msg 65 360 /updated/clients;
#X obj 65 380 s \$0.broadcast;
#X obj 48 253 t b b b a;
#X connect 1 0 9 0;
#X connect 2 0 3 1;
#X connect 2 1 3 0;
#X connect 3 0 4 0;
#X connect 4 0 6 0;
#X connect 6 0 11 0;
#X connect 8 1 21 0;
#X connect 9 0 2 0;
#X connect 9 1 6 1;
#X connect 10 0 8 0;
#X connect 11 0 10 0;
#X connect 11 1 12 1;
#X connect 12 0 13 0;
#X connect 15 0 16 0;
#X connect 15 0 17 0;
#X connect 16 0 14 1;
#X connect 17 0 14 2;
#X connect 18 0 14 0;
#X connect 19 0 20 0;
#X connect 21 0 12 0;
#X connect 21 1 19 0;
#X connect 21 2 18 0;
#X connect 21 3 7 0;
#X restore 13 151 pd unregister/name;
#X obj 13 31 text define \$0.connections;
#N canvas 764 216 666 598 manage.connections 0;
#X obj 25 21 r \$0.add.connection;
#X obj 52 273 text get \$0.clients;
#X obj 89 212 loadbang;
#X obj 89 232 t b b;
#X msg 89 252 0;
#X msg 118 252 1;
#X obj 52 85 text size \$0.clients;
#X obj 52 61 t b a;
#X obj 52 105 - 1;
#X obj 52 125 t a b;
#X obj 52 145 until;
#X obj 52 165 f;
#X obj 52 185 t a a;
#X obj 95 176 + 1;
#X msg 92 147 0;
#X obj 52 298 pack f f;
#X obj 170 175 t a;
#X obj 52 428 text set \$0.connections;
#X obj 97 387 loadbang;
#X msg 97 407 8e+06;
#X obj 311 65 t b a;
#X obj 311 128 until;
#X obj 311 148 f;
#X obj 311 215 text get \$0.connections;
#X msg 311 257 \$1;
#X msg 343 257 \$2;
#X obj 311 291 sel;
#X obj 343 291 sel;
#X obj 311 189 t a a a;
#X obj 311 332 f;
#X obj 382 292 t a;
#X obj 457 197 t a;
#X obj 311 356 text delete \$0.connections;
#X obj 311 108 t a a;
#X obj 311 168 - 1;
#X obj 311 88 text size \$0.connections;
#X obj 311 235 t a a;
#N canvas 764 541 286 245 find.free.port 0;
#X obj 40 26 inlet;
#X obj 40 46 t b b;
#X obj 40 66 until;
#X obj 40 86 f;
#X msg 81 65 0;
#X obj 40 127 text search \$0.connections 2;
#X obj 40 147 sel -1;
#X obj 96 97 + 1;
#X obj 40 106 t a a a;
#X obj 40 167 t b b;
#X obj 40 187 f;
#X obj 150 96 t b;
#X obj 40 207 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 4 0;
#X connect 2 0 3 0;
#X connect 3 0 8 0;
#X connect 4 0 3 1;
#X connect 5 0 6 0;
#X connect 6 0 9 0;
#X connect 7 0 3 1;
#X connect 8 0 5 0;
#X connect 8 1 10 1;
#X connect 8 2 7 0;
#X connect 9 0 10 0;
#X connect 9 1 11 0;
#X connect 10 0 12 0;
#X connect 11 0 2 1;
#X restore 115 343 pd find.free.port;
#X obj 52 318 t a b;
#X obj 52 363 list append;
#X obj 284 25 r \$0.del.connection;
#X obj 284 426 b;
#X obj 25 41 t b a;
#X obj 284 45 t b a;
#X msg 25 510 /updated/mylinks;
#X obj 25 530 s \$0.broadcast;
#X connect 0 0 42 0;
#X connect 1 0 15 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 5 0;
#X connect 4 0 1 1;
#X connect 5 0 1 2;
#X connect 6 0 8 0;
#X connect 7 0 6 0;
#X connect 7 1 16 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 9 1 14 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 1 0;
#X connect 12 1 13 0;
#X connect 13 0 11 1;
#X connect 14 0 11 1;
#X connect 15 0 38 0;
#X connect 16 0 15 1;
#X connect 18 0 19 0;
#X connect 19 0 17 1;
#X connect 20 0 35 0;
#X connect 20 1 31 0;
#X connect 21 0 22 0;
#X connect 22 0 34 0;
#X connect 23 0 36 0;
#X connect 24 0 26 0;
#X connect 25 0 27 0;
#X connect 26 0 29 0;
#X connect 27 0 29 0;
#X connect 28 0 23 0;
#X connect 28 1 30 0;
#X connect 28 2 22 1;
#X connect 29 0 32 0;
#X connect 30 0 29 1;
#X connect 31 0 27 1;
#X connect 31 0 26 1;
#X connect 33 0 21 0;
#X connect 33 1 22 1;
#X connect 34 0 28 0;
#X connect 35 0 33 0;
#X connect 36 0 24 0;
#X connect 36 1 25 0;
#X connect 37 0 39 1;
#X connect 38 0 39 0;
#X connect 38 1 37 0;
#X connect 39 0 17 0;
#X connect 40 0 43 0;
#X connect 41 0 44 0;
#X connect 42 0 44 0;
#X connect 42 1 7 0;
#X connect 43 0 41 0;
#X connect 43 1 20 0;
#X connect 44 0 45 0;
#X restore 13 170 pd manage.connections;
#N canvas 520 75 483 394 client.list 0;
#X obj 12 33 r \$0.from;
#X obj 12 53 routeOSC /refresh/clients;
#X obj 31 103 text size \$0.clients;
#X obj 31 143 until;
#X obj 31 163 f;
#X obj 31 183 t a a;
#X obj 74 177 + 1;
#X msg 74 147 0;
#X obj 31 206 text get \$0.clients;
#X obj 12 73 t b b b;
#X obj 31 249 list trim;
#X obj 12 296 s \$0.to;
#X obj 31 229 list prepend /clients;
#X msg 12 270 /clients/end;
#X msg 114 268 /clients/begin;
#X obj 31 123 t a b;
#X connect 0 0 1 0;
#X connect 1 0 9 0;
#X connect 2 0 15 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 5 1 6 0;
#X connect 6 0 4 1;
#X connect 7 0 4 1;
#X connect 8 0 12 0;
#X connect 9 0 13 0;
#X connect 9 1 2 0;
#X connect 9 2 14 0;
#X connect 10 0 11 0;
#X connect 12 0 10 0;
#X connect 13 0 11 0;
#X connect 14 0 11 0;
#X connect 15 0 3 0;
#X connect 15 1 7 0;
#X restore 13 189 pd client.list;
#N canvas 520 75 432 493 mylink.list 0;
#X obj 12 13 r \$0.from;
#X obj 31 123 until;
#X obj 31 143 f;
#X obj 31 163 t a a;
#X obj 74 157 + 1;
#X msg 74 127 0;
#X obj 12 53 t b b b;
#X obj 31 379 list trim;
#X obj 12 426 s \$0.to;
#X obj 12 33 routeOSC /refresh/mylinks;
#X obj 31 83 text size \$0.connections;
#X obj 31 186 text get \$0.connections;
#X obj 31 359 list prepend /mylinks;
#X msg 12 398 /mylinks/end;
#X msg 114 398 /mylinks/begin;
#X obj 214 251 r \$0.client;
#X obj 31 206 t a a a;
#X msg 31 231 \$1 \$2;
#X obj 31 251 unpack f f;
#X obj 31 281 sel;
#X obj 31 301 f;
#X obj 97 251 unpack f f;
#X obj 97 281 sel;
#X obj 97 301 f;
#X msg 97 231 \$2 \$1;
#X msg 321 248 \$3;
#X obj 31 328 pack f f, f 48;
#X obj 31 103 t a b;
#X connect 0 0 9 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 11 0;
#X connect 3 1 4 0;
#X connect 4 0 2 1;
#X connect 5 0 2 1;
#X connect 6 0 13 0;
#X connect 6 1 10 0;
#X connect 6 2 14 0;
#X connect 7 0 8 0;
#X connect 9 0 6 0;
#X connect 10 0 27 0;
#X connect 11 0 16 0;
#X connect 12 0 7 0;
#X connect 13 0 8 0;
#X connect 14 0 8 0;
#X connect 15 0 22 1;
#X connect 15 0 19 1;
#X connect 16 0 17 0;
#X connect 16 1 24 0;
#X connect 16 2 25 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 18 1 20 1;
#X connect 19 0 20 0;
#X connect 20 0 26 0;
#X connect 21 0 22 0;
#X connect 21 1 23 1;
#X connect 22 0 23 0;
#X connect 23 0 26 0;
#X connect 24 0 21 0;
#X connect 25 0 26 1;
#X connect 26 0 12 0;
#X connect 27 0 1 0;
#X connect 27 1 5 0;
#X restore 13 208 pd mylink.list;
#X obj 13 51 text define \$0.params;
#N canvas 101 124 599 378 params 0;
#X obj 12 13 r \$0.from;
#X obj 12 33 routeOSC /params;
#X obj 12 53 routeOSC /end /begin;
#X msg 70 75 1;
#X msg 39 93 0;
#X obj 12 73 t b b;
#X obj 129 129 spigot;
#X obj 12 239 s \$0.broadcast;
#X msg 12 214 /updated/params;
#X obj 351 18 r \$0.from;
#X obj 351 40 routeOSC /refresh/params;
#X obj 351 61 b;
#X obj 351 81 text size \$0.params;
#X obj 351 101 t b a b;
#X obj 370 125 t a b;
#X obj 370 145 until;
#X obj 370 165 f;
#X msg 410 145 0;
#X obj 370 215 text get \$0.params;
#X obj 370 239 list prepend /params;
#X obj 370 259 list trim;
#X msg 389 296 /params/begin;
#X msg 351 320 /params/end;
#X obj 351 353 s \$0.to;
#X obj 370 185 t a a;
#X obj 421 178 + 1;
#N canvas 173 124 359 338 update.params 0;
#X obj 17 287 text set \$0.params;
#X obj 17 264 list;
#X obj 52 242 loadbang;
#X msg 52 262 8e+06;
#X obj 17 17 inlet;
#X obj 17 100 text search \$0.params 0;
#X obj 17 58 t a a;
#X obj 17 37 list;
#X obj 17 80 list split 1;
#X obj 17 121 sel -1;
#X obj 50 222 text set \$0.params;
#X obj 120 181 loadbang;
#X msg 120 201 1;
#X obj 50 144 t b a;
#X obj 50 164 list append;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 0 1;
#X connect 4 0 7 0;
#X connect 5 0 9 0;
#X connect 6 0 8 0;
#X connect 6 1 1 1;
#X connect 7 0 6 0;
#X connect 8 0 5 0;
#X connect 8 1 14 1;
#X connect 9 0 1 0;
#X connect 9 1 13 0;
#X connect 11 0 12 0;
#X connect 12 0 10 2;
#X connect 13 0 14 0;
#X connect 13 1 10 1;
#X connect 14 0 10 0;
#X restore 129 172 pd update.params;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 2 1 3 0;
#X connect 2 2 6 0;
#X connect 3 0 6 1;
#X connect 4 0 6 1;
#X connect 5 0 8 0;
#X connect 5 1 4 0;
#X connect 6 0 26 0;