#N canvas 449 83 559 439 10;
#X obj 4 283 cnv 3 550 3 empty empty inlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 3 343 cnv 3 550 3 empty empty outlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 3 374 cnv 3 550 3 empty empty arguments 8 12 0 13 #dcdcdc #000000 0;
#X obj 105 296 cnv 17 3 40 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X msg 110 206 send bar;
#X msg 95 183 send foo;
#X obj 266 206 receive foo;
#X obj 363 206 receive bar;
#X obj 110 252 cyclone/forward foo;
#X text 210 295 -;
#X text 152 295 anything;
#X obj 2 411 cnv 15 552 21 empty empty empty 20 12 0 14 #e0e0e0 #202020 0;
#X obj 187 214 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #dcdcdc #000000 #000000 0 256;
#X text 225 295 any message to be sent forward, f 32;
#X text 122 316 send <symbol>;
#X text 210 316 - sets an address to send to;
#X text 145 388 1) symbol;
#X obj 266 238 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #dcdcdc #000000 #000000 0 256;
#X obj 363 238 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #dcdcdc #000000 #000000 0 256;
#X text 164 352 (none);
#N canvas 554 112 787 603 examples 0;
#N canvas 0 22 450 278 (subpatch) 0;
#X array array 10 float 2;
#X coords 0 1 10 -1 200 140 1 0 0;
#X restore 483 420 graph;
#X obj 554 257 forward pd;
#X obj 75 161 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #dcdcdc #000000 #000000 0 256;
#X obj 98 456 receive here;
#X obj 98 498 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #dcdcdc #000000 #000000 0 256;
#X obj 210 498 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #dcdcdc #000000 #000000 0 256;
#X obj 201 176 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #dcdcdc #000000 #000000 0 256;
#X obj 201 269 cyclone/forward;
#X obj 88 320 unpack;
#X msg 201 213 send here \, \$1 \, send there \, \$1, f 17;
#X obj 212 388 cyclone/forward;
#X msg 212 332 send here \, \$1 \, send there \, \$2, f 17;
#X obj 210 456 receive there;
#X obj 102 222 send here;
#X obj 75 257 send there;
#X obj 75 189 t f f;
#X msg 88 293 1 2;
#X obj 109 369 send here;
#X obj 88 393 send there;
#X obj 88 343 swap;
#X msg 212 304 3 4;
#X text 32 68 A big difference from [send] is that a single [forward] object can easily send a message to different destinations and also control the sending order. And if you want to send elements from a list \, you can also chose/swap the element;
#X text 88 436 received first;
#X text 210 435 received last;
#X msg 554 220 dsp 1;
#X msg 603 220 dsp 0;
#X msg 581 101 \; here \$1 \; there \$1;
#X msg 581 66 5 6;
#X text 492 191 Send messages to Pd:;
#X obj 518 303 hsl 128 15 -1 1 0 0 empty empty empty -2 -8 0 10 #dcdcdc #000000 #000000 0 1;
#X msg 515 333 4 \$1;
#X obj 515 371 forward array;
#X text 424 27 But in Pd/Max you can also do all that with semicolons in messages:;
#X connect 2 0 15 0;
#X connect 3 0 4 0;
#X connect 6 0 9 0;
#X connect 8 0 19 0;
#X connect 8 1 19 1;
#X connect 9 0 7 0;
#X connect 11 0 10 0;
#X connect 12 0 5 0;
#X connect 15 0 14 0;
#X connect 15 1 13 0;
#X connect 16 0 8 0;
#X connect 19 0 18 0;
#X connect 19 1 17 0;
#X connect 20 0 11 0;
#X connect 24 0 1 0;
#X connect 25 0 1 0;
#X connect 27 0 26 0;
#X connect 29 0 30 0;
#X connect 30 0 31 0;
#X restore 474 248 pd examples;
#X text 30 161 sets receive object:;
#X text 210 388 - initially set destination;
#X text 83 90 [forward] is similar to [send] \, but the destination can change with each message (like a semicolon in a message in Pd/Max) - it also sends to anything that a [send] does (like to an array \, to "pd" \, etc..).;
#X obj 4 3 ./header forward;
#X text 25 63 Send remote messages;
#X connect 4 0 8 0;
#X connect 5 0 8 0;
#X connect 6 0 17 0;
#X connect 7 0 18 0;
#X connect 12 0 8 0;
