tpf-management-service.pd 13.3 KB
Newer Older
1
#N canvas 719 43 298 254 10;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#N canvas 821 348 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;
83
#X restore 13 92 pd tpf.communication;
84
#N canvas 902 132 375 575 register/name 0;
85
#X obj 130 371 s \$0.to;
86
87
#X obj 7 11 r \$0.from;
#X obj 7 31 routeOSC /register/name;
88
#X msg 49 350 /register/done;
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#X obj 7 52 list prepend;
#X obj 87 52 r \$0.client;
#N canvas 0 43 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;
131
132
133
#X obj 91 271 loadbang;
#X obj 54 312 text set \$0.clients;
#X msg 91 291 1e+06;
134
135
136
#X obj 7 493 s \$0.add.connection;
#X obj 7 472 f;
#X msg 22 453 \$1;
137
138
139
140
#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;
141
142
143
#X msg 45 409 /updated/clients;
#X obj 45 429 s \$0.broadcast;
#X obj 22 330 t b b;
144
145
146
147
148
149
150
151
152
153
154
#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;
155
#X connect 10 0 17 0;
Roman Haefeli's avatar
Roman Haefeli committed
156
157
#X connect 11 0 13 0;
#X connect 13 0 12 1;
158
159
160
#X connect 15 0 14 0;
#X connect 16 0 15 1;
#X connect 17 0 15 0;
161
#X connect 17 1 23 0;
162
163
164
165
166
167
#X connect 17 2 16 0;
#X connect 17 3 18 0;
#X connect 17 4 19 0;
#X connect 18 0 12 0;
#X connect 19 0 20 0;
#X connect 20 0 18 1;
168
169
170
#X connect 21 0 22 0;
#X connect 23 0 21 0;
#X connect 23 1 3 0;
171
#X restore 13 132 pd register/name;
172
173
174
175
176
177
178
179
#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;
180
#X restore 13 112 pd protol/version;
181
#X obj 13 10 text define \$0.clients;
182
#N canvas 740 527 494 446 unregister/name 0;
183
184
185
186
187
188
189
190
#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;
191
#X obj 99 272 text delete \$0.clients;
Roman Haefeli's avatar
Roman Haefeli committed
192
#X obj 15 228 sel -1;
193
#X obj 14 71 route num_of_clients socket;
Roman Haefeli's avatar
Roman Haefeli committed
194
195
#X obj 15 202 text search \$0.clients 0;
#X obj 15 183 t a a;
196
197
198
199
200
201
202
203
204
205
#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;
206
207
208
209
210
#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;
211
#X connect 6 0 11 0;
212
#X connect 8 1 21 0;
213
214
215
#X connect 9 0 2 0;
#X connect 9 1 6 1;
#X connect 10 0 8 0;
216
217
218
#X connect 11 0 10 0;
#X connect 11 1 12 1;
#X connect 12 0 13 0;
219
220
221
222
223
224
225
226
227
228
#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;
229
#X restore 13 151 pd unregister/name;
230
#X obj 13 31 text define \$0.connections;
231
#N canvas 764 216 666 598 manage.connections 0;
Roman Haefeli's avatar
Roman Haefeli committed
232
#X obj 25 21 r \$0.add.connection;
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
#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;
Roman Haefeli's avatar
Roman Haefeli committed
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
#N canvas 719 632 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;
299
300
301
302
303
304
305
#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;
306
307
308
#X msg 25 510 /updated/mylinks;
#X obj 25 530 s \$0.broadcast;
#X connect 0 0 42 0;
309
310
#X connect 1 0 15 0;
#X connect 2 0 3 0;
Roman Haefeli's avatar
Roman Haefeli committed
311
#X connect 3 0 4 0;
312
313
314
315
316
317
318
#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;
Roman Haefeli's avatar
Roman Haefeli committed
319
#X connect 9 0 10 0;
320
#X connect 9 1 14 0;
Roman Haefeli's avatar
Roman Haefeli committed
321
322
#X connect 10 0 11 0;
#X connect 11 0 12 0;
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
#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;
357
358
359
360
#X connect 40 0 43 0;
#X connect 41 0 44 0;
#X connect 42 0 44 0;
#X connect 42 1 7 0;
361
#X connect 43 0 41 0;
362
363
#X connect 43 1 20 0;
#X connect 44 0 45 0;
364
#X restore 13 170 pd manage.connections;
365
#N canvas 520 75 483 394 client.list 0;
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
#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;
401
#X restore 13 189 pd client.list;
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
#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;
Roman Haefeli's avatar
Roman Haefeli committed
456
#X connect 19 0 20 0;
457
458
459
#X connect 20 0 26 0;
#X connect 21 0 22 0;
#X connect 21 1 23 1;
Roman Haefeli's avatar
Roman Haefeli committed
460
#X connect 22 0 23 0;
461
462
463
464
465
466
#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;
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
#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;
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
#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;
530
531
532
533
534
535
536
#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;
537
#X connect 5 0 8 0;
538
#X connect 5 1 4 0;
539
#X connect 6 0 26 0;
540
541
#X connect 8 0 7 0;
#X connect 9 0 10 0;
542
543
544
545
546
547
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 22 0;
#X connect 13 1 14 0;
#X connect 13 2 21 0;
548
#X connect 14 0 15 0;
549
#X connect 14 1 17 0;
550
#X connect 15 0 16 0;
551
552
#X connect 16 0 24 0;
#X connect 17 0 16 1;
553
554
#X connect 18 0 19 0;
#X connect 19 0 20 0;
555
556
#X connect 20 0 23 0;
#X connect 21 0 23 0;
557
#X connect 22 0 23 0;
558
559
560
#X connect 24 0 18 0;
#X connect 24 1 25 0;
#X connect 25 0 16 1;
561
#X restore 13 227 pd params;