#N canvas 335 23 886 675 12;
#X obj 33 15 send;
#X obj 123 174 send help-send1;
#X obj 298 175 send help-send1;
#X obj 123 214 receive help-send1;
#X obj 298 214 receive help-send2;
#X floatatom 123 149 5 0 0 0 - - - 0;
#X floatatom 298 152 5 0 0 0 - - - 0;
#X floatatom 124 285 5 0 0 0 - - - 0;
#X floatatom 123 238 5 0 0 0 - - - 0;
#X floatatom 298 240 5 0 0 0 - - - 0;
#X floatatom 298 319 5 0 0 0 - - - 0;
#X obj 374 14 s;
#X msg 255 428 symbol help-send1;
#X msg 268 457 symbol help-send2;
#X floatatom 173 436 5 0 0 0 - - - 0;
#X symbolatom 255 489 12 0 0 0 - - - 0;
#X text 29 640 see also:;
#X text 72 14 - send messages without patch cords;
#X text 406 13 - abbreviation;
#X obj 105 639 send~;
#X obj 375 40 r;
#X obj 32 41 receive;
#X text 90 40 - receive messages without patch cords;
#X text 407 39 - abbreviation;
#X obj 155 639 receive~;
#X text 651 639 updated for Pd version 0.52;
#N canvas 452 151 914 439 Dealing_with_"\$0" 0;
#X obj 171 164 send \$0-x;
#X obj 294 120 receive \$0-x;
#X floatatom 294 161 5 0 0 0 - - - 0;
#X floatatom 171 122 5 0 0 0 - - - 0;
#X obj 126 381 send;
#X symbolatom 171 368 10 0 0 0 - - - 0;
#X floatatom 83 330 5 0 0 0 - - - 0;
#X obj 151 331 symbol \$0-y;
#X msg 281 370 \; \$1-y 80;
#X floatatom 387 365 5 0 0 0 - - - 0;
#X obj 387 324 receive \$0-y;
#X obj 281 320 float \$0;
#X text 61 216 Since "\$0" only works inside objects \, if you need to set a send name with it \, you need to use something like a symbol object. It's also common to pass "\$0" from a float object to a message that works as a send. Click on the bangs below.;
#X floatatom 291 345 5 0 0 0 - - - 0;
#X obj 590 237 float 1.5;
#X msg 590 199 send \$1-x;
#X obj 590 167 f \$0;
#X obj 590 139 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 718 183 value \$0-x;
#X floatatom 718 218 5 0 0 0 - - - 0;
#X obj 606 343 send \$0-array;
#X msg 606 311 sinesum 512 1;
#X floatatom 820 183 5 0 0 0 - \$0-x - 0;
#X text 559 24 Note that "\$0" is also used in send/receive names in GUIs \, array names and as well as variable names in value objects. In order to use the 'send' method from [float] \, [int] and [list store] objects \, you also need to pass the "\$0" value to the message., f 45;
#X obj 718 154 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 281 292 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 151 301 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X text 36 33 '\$0' - the patch ID number used to force locality in Pd - is widely used in send and receive names \, especially in abstractions so each copy has local connections instead of global., f 67;
#X obj 731 299 cnv 19 126 76 empty empty empty 20 12 0 12 #e0e0e0 #404040 0;
#N canvas 0 22 450 278 (subpatch) 0;
#X array \$0-array 515 float 0;
#X coords 0 1 514 -1 127 78 1 0 0;
#X restore 731 298 graph;
#X connect 1 0 2 0;
#X connect 3 0 0 0;
#X connect 6 0 4 0;
#X connect 7 0 5 0;
#X connect 7 0 4 1;
#X connect 10 0 9 0;
#X connect 11 0 13 0;
#X connect 11 0 8 0;
#X connect 15 0 14 0;
#X connect 16 0 15 0;
#X connect 17 0 16 0;
#X connect 18 0 19 0;
#X connect 21 0 20 0;
#X connect 24 0 18 0;
#X connect 25 0 11 0;
#X connect 26 0 7 0;
#X restore 596 159 pd Dealing_with_"\$0";
#X msg 223 639 message;
#X obj 285 639 pd-messages;
#N canvas 725 70 573 568 reference 0;
#X obj 8 53 cnv 5 550 5 empty empty INLETS: 8 18 0 13 #202020 #000000 0;
#X obj 8 86 cnv 1 550 1 empty empty 1st: 8 12 0 13 #9f9f9f #000000 0;
#X obj 8 235 cnv 2 550 2 empty empty OUTLETS: 8 12 0 13 #202020 #000000 0;
#X obj 8 272 cnv 2 550 2 empty empty ARGUMENT: 8 12 0 13 #202020 #000000 0;
#X obj 7 319 cnv 5 550 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X obj 8 166 cnv 1 550 1 empty empty 2nd: 8 12 0 13 #7c7c7c #000000 0;
#X obj 47 17 send;
#X obj 13 17 s;
#X text 86 16 - send messages without patch cords;
#X obj 15 375 r;
#X obj 49 375 receive;
#X text 107 374 - receive messages without patch cords;
#X obj 8 412 cnv 5 550 5 empty empty INLETS: 8 18 0 13 #202020 #000000 0;
#X obj 8 451 cnv 2 550 2 empty empty OUTLET: 8 12 0 13 #202020 #000000 0;
#X obj 8 501 cnv 2 550 2 empty empty ARGUMENT: 8 12 0 13 #202020 #000000 0;
#X obj 7 538 cnv 5 550 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X text 66 95 any message -;
#X text 168 95 sends to the corresponding receive object \, or any named object which name corresponds to the stored symbol. e.g: array \, value \, iemguis \, directly to a named patch \, etc..., f 50;
#X text 163 245 NONE, f 49;
#X text 131 280 symbol -;
#X text 163 424 NONE, f 49;
#X text 82 466 any message -;
#X text 121 204 symbol - sets the send name.;
#X text 179 466 outputs the messages destined to its receive name., f 51;
#X text 46 170 (if created without arguments);
#X text 106 511 1) symbol -;
#X text 189 511 receive name symbol (default: empty symbol).;
#X text 193 280 send symbol (if given \, 2nd inlet is suppressed \, default: empty symbol)., f 35;
#X restore 681 33 pd reference;
#X text 778 34 <= click;
#X obj 8 77 cnv 1 870 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 40 97 [send] sends messages to [receive] objects with the same name (set by the argument). They work across windows too., f 62;
#X text 34 367 If invoked without an argument \, [send] is assigned to an empty symbol and creates an inlet to let you set the target via a "symbol" message:, f 62;
#X obj 548 469 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 548 436 r pd-dsp-started;
#X obj 173 478 s;
#X obj 124 319 s help-send2;
#X obj 298 285 r help-send2;
#X obj 709 334 s pd;
#X msg 709 302 dsp \$1;
#X obj 709 273 tgl 19 0 empty empty empty 0 -10 0 12 #dfdfdf #000000 #000000 0 1;
#X obj 694 468 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 694 435 r pd-dsp-stopped;
#X text 590 112 Open subpatch below to see how to deal with '\$0', f 27;
#N canvas 614 47 487 653 Interaction_with_other_objects 0;
#X msg 294 62 \; help-send1 34 \; help-send2 67;
#X obj 148 224 value y;
#X obj 74 241 send y;
#X floatatom 74 213 5 0 0 0 - - - 0;
#X obj 148 193 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X floatatom 148 253 5 0 0 0 - - - 0;
#X obj 31 422 list store 1 2 3;
#X obj 177 440 float 1.5;
#X obj 265 440 int 10;
#X msg 31 394 send x;
#X obj 353 367 receive x;
#X listbox 353 401 10 0 0 0 - - - 0;
#X msg 177 380 send x;
#X msg 265 379 send x;
#X floatatom 127 593 5 0 0 0 - x z 0;
#X obj 225 251 send array;
#X msg 225 205 0 -1 0 1 0 -1 0 1, f 9;
#X text 38 481 Note that GUIs have built in send and receive names you can set via properties (right click and check it)., f 40;
#X msg 188 410 send y;
#X msg 275 410 send y;
#X floatatom 358 497 5 0 0 0 - - - 0;
#X obj 358 469 value y;
#X text 39 581 "receive x";
#X text 225 544 "send x";
#X text 174 587 send in GUIs can also send to value objects., f 22;
#X text 45 599 "send z";
#X floatatom 373 597 5 0 0 0 - - - 0;
#X obj 373 568 value z;
#X text 35 24 Interaction with other objects (check their help files):;
#X msg 385 437 send x;
#X obj 373 541 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X obj 358 436 bng 19 250 50 0 empty empty empty 17 7 0 10 #dfdfdf #000000 #000000;
#X text 35 137 The [value] object receives floats from [send] objects with the same name as its variable name. You can also use [send] to send messages to arrays with the same name.;
#X text 28 289 The [receive] object can also get messages from [value] and the other objects below via their "send" messages. Note that [value] can also get these values from these objects (except [list store] because [value] can't deal with lists).;
#X obj 52 544 hsl 162 19 0 127 0 0 empty empty empty -2 -10 0 12 #dfdfdf #000000 #000000 0 1;
#X text 50 68 Message boxes also send messages if it starts with a semicolon:, f 32;
#X obj 323 214 cnv 19 98 48 empty empty empty 20 12 0 12 #e0e0e0 #404040 0;
#N canvas 0 22 450 278 (subpatch) 0;
#X array array 7 float 2;
#X coords 0 1.1 7 -1.1 100 50 1 0 0;
#X restore 322 213 graph;
#X connect 1 0 5 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 9 0 6 0;
#X connect 10 0 11 0;
#X connect 12 0 7 0;
#X connect 13 0 8 0;
#X connect 16 0 15 0;
#X connect 18 0 7 0;
#X connect 19 0 8 0;
#X connect 21 0 20 0;
#X connect 27 0 26 0;
#X connect 29 0 21 0;
#X connect 30 0 27 0;
#X connect 31 0 21 0;
#X restore 124 586 pd Interaction_with_other_objects;
#X text 48 533 The [send] and [receive] objects do interact with other objects in Pd. Open the subpatch below for details.;
#X obj 8 627 cnv 1 870 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 530 216 Note you can also use [send] and [receive] to communicate with Pd itself., f 43;
#X text 471 525 For reference \, check "pd-messages" in the "see also" section below \, where such messages to Pd are documented (you'll also find documentation on how to communicate to a named patch window or a patch file in there)., f 55;
#X text 541 290 A commonly used Pd messages is to turn DSP on and off!, f 21;
#X text 516 381 The [receive] objects below respond to change in the DSP status., f 45;
#X connect 3 0 8 0;
#X connect 4 0 9 0;
#X connect 5 0 1 0;
#X connect 6 0 2 0;
#X connect 7 0 37 0;
#X connect 12 0 15 0;
#X connect 13 0 15 0;
#X connect 14 0 36 0;
#X connect 15 0 36 1;
#X connect 35 0 34 0;
#X connect 38 0 10 0;
#X connect 40 0 39 0;
#X connect 41 0 40 0;
#X connect 43 0 42 0;
