#N canvas 543 64 535 541 12;
#X floatatom 318 395 5 0 0 0 - - - 0;
#X obj 34 236 sig~ 50;
#X obj 318 365 snapshot~;
#X text 179 21 - one-to-many nonlocal signal connections;
#X obj 318 316 metro 200;
#X obj 34 314 sig~ 25;
#X obj 278 474 tabsend~;
#X obj 115 46 s~;
#X obj 146 46 r~;
#X text 41 509 see also:;
#X obj 173 510 send;
#X obj 117 510 throw~;
#X text 179 45 - abbreviation;
#X obj 318 284 loadbang;
#X obj 420 231 tgl 19 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000 0 1;
#X msg 420 259 \; pd dsp \$1;
#X text 443 230 on/off;
#X floatatom 34 212 5 0 0 0 - - - 0;
#X floatatom 410 395 5 0 0 0 - - - 0;
#X obj 410 365 snapshot~;
#X obj 410 332 r~ signal1;
#X obj 35 20 send~ x;
#X obj 95 21 receive~ x;
#X obj 34 259 send~ \$0-signal;
#X obj 34 340 send~ signal;
#X msg 178 296 set signal;
#X msg 166 269 set \$1-signal;
#X obj 166 245 f \$0;
#X obj 166 220 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X floatatom 34 289 5 0 0 0 - - - 0;
#N canvas 525 216 510 156 execution-order 0;
#X obj 115 95 ../3.audio.examples/G05.execution.order;
#X text 46 30 You have to get the send~ sorted before the receive~ or else you'll never get less than a block's delay. You can use the strategy given in the example below to control this.;
#X restore 73 387 pd execution-order;
#X obj 166 324 receive~ \$0-signal;
#N canvas 697 108 571 432 reference 0;
#X obj 8 53 cnv 5 550 5 empty empty INLET: 8 18 0 13 #202020 #000000 0;
#X obj 8 97 cnv 2 550 2 empty empty OUTLETS: 8 12 0 13 #202020 #000000 0;
#X obj 8 134 cnv 2 550 2 empty empty ARGUMENT: 8 12 0 13 #202020 #000000 0;
#X obj 7 175 cnv 5 550 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X obj 8 321 cnv 2 550 2 empty empty OUTLET: 8 12 0 13 #202020 #000000 0;
#X obj 8 366 cnv 2 550 2 empty empty ARGUMENT: 8 12 0 13 #202020 #000000 0;
#X obj 7 403 cnv 5 550 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X text 146 107 NONE;
#X obj 28 15 send~ y;
#X obj 24 245 receive~ y;
#X text 89 15 - send signal to one or more receive~ objects.;
#X obj 8 281 cnv 5 550 5 empty empty INLET: 8 18 0 13 #202020 #000000 0;
#X text 109 294 set <name> - set receive name.;
#X text 139 67 signal - signal to send to matching receive~ object(s).;
#X text 107 244 - receive signal from a send~ object.;
#X text 138 332 signal - outputs signal from a matching send~ object.;
#X text 124 142 1) symbol - send symbol name (default: empty symbol).;
#X text 106 376 1) symbol - receive name symbol (default: empty symbol).;
#X restore 335 52 pd reference;
#X text 432 53 <= click;
#X obj 14 87 cnv 1 510 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X obj 14 429 cnv 1 510 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 205 224 \$0 needs to be expanded from objects., f 23;
#X text 45 96 A [send~] object copies its input to a local buffer which all [receive~] objects of the same name read from. They may be in different windows or even different patches. Any number of [receive~] may be associated with one [send~] \, but it is an error to have two [send~] objects of the same name. [receive~] takes "set" messages to switch between different [send~] objects., f 62;
#X text 48 449 [send~]/[receive~] only work for the default block size (64). for FFT applications see also:, f 62;
#X text 317 509 updated for Pd version 0.33;
#X connect 1 0 23 0;
#X connect 2 0 0 0;
#X connect 4 0 2 0;
#X connect 4 0 19 0;
#X connect 5 0 24 0;
#X connect 13 0 4 0;
#X connect 14 0 15 0;
#X connect 17 0 1 0;
#X connect 19 0 18 0;
#X connect 20 0 19 0;
#X connect 25 0 31 0;
#X connect 26 0 31 0;
#X connect 27 0 26 0;
#X connect 28 0 27 0;
#X connect 29 0 5 0;
#X connect 31 0 2 0;
