#N canvas 25 25 751 521 10; #X obj 0 0 cnv 15 750 17 empty empty Send-N-Receive 10 9 0 16 -233017 -66577 0; #X obj 305 18 cnv 15 440 15 empty empty Getting_your_message_across 10 7 0 12 -217069 -33289 0; #X floatatom 58 50 5 0 0 0 - - -; #X floatatom 152 70 5 0 0 0 - - -; #X symbolatom 155 147 0 0 0 0 - - -; #X text 323 42 The [send] and [receive] objects are useful for linking objects and subroutines together in a single canvas or throughout multiple patches. Understanding these objects will help 'clean up' your patches and allow you to communicate messages between various modules that you build or between objects where patch cords are not possible.; #X text 321 127 In the [send] and [receive] help files \, you will see message sent within a single patch - from a [send] object to a [receive] object in the same patch. But the functionality of these objects goes far beyond the scope of a single patch.; #X obj 20 292 r one_send; #X obj 23 224 hsl 67 15 0 127 0 0 empty empty empty -2 -6 0 8 -228989 -1 -1 0 0; #X obj 97 242 s one_send; #X obj 178 224 hsl 67 15 0 127 0 0 empty empty empty -2 -6 0 8 -228989 -1 -1 0 0; #X obj 23 313 hsl 67 15 0 127 0 0 empty empty empty -2 -6 0 8 -228989 -1 -1 0 1; #X obj 97 292 r one_send; #X obj 178 313 hsl 67 15 0 127 0 0 empty empty empty -2 -6 0 8 -228989 -1 -1 0 1; #X text 320 260 A [send] object is a little like a radio station...it broadcasts information throughout Pd \, for all the [receives] to hear! A [receive] object is a little like your own AM/FM tuner...it will receive messages from all the [send] objects that it is 'tuned' to. Hence \, naming your [send] and [receive] objects becomes very important. A [receive] object named "dave" (as in [receive dave]) will pick up all messages from [send dave] \, regardless of which patch it is in. In this manner \, you can get messages across multiple patches \, or into abstractions or subpatches -- without patch cords.; #X obj 35 148 send aSymbol; #X obj 155 119 receive aSymbol; #X obj 58 67 send aNum; #X obj 152 49 receive aNum; #X msg 15 100 symbol hello; #X msg 34 119 symbol world!; #X obj 20 243 s one_send; #X obj 305 230 cnv 15 440 15 empty empty Broadcasting_with_sends_and_receives 10 7 0 12 -217069 -33289 0; #X obj 175 242 send one_send; #X obj 175 292 receive one_send; #X msg 38 437 \; one_send \$1; #X obj 57 414 hsl 67 15 0 127 0 0 empty empty empty -2 -6 0 8 -228989 -1 -1 0 1; #X obj 305 18 cnv 5 5 500 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 0 500 cnv 15 750 20 bs br PDDP_2005 10 10 0 14 -217069 -1 0 ; #N canvas 0 22 454 304 META 0; #X restore 90 502 pd META; #N canvas 696 168 480 360 PAGES 0; #X text 19 9 Put your pages here: (They must be named [pd PAGE1] [pd PAGE2]... (PAGE0 is the main patch).; #X obj 12 143 pddp_page 3; #X text 9 109 Don't forget to set the number of pages \, including the main page.; #N canvas 25 25 751 521 PAGE3 0; #X obj 0 0 cnv 15 750 17 empty empty Send-N-Receive 10 9 0 16 -233017 -66577 0; #X obj 6 328 cnv 15 300 15 empty empty Related_Objects 10 7 0 12 -217069 -33289 0; #X obj 0 500 cnv 15 750 20 bs br PDDP_2005 10 10 0 14 -217069 -1 0 ; #X obj 624 503 bng 15 250 50 0 pddpNextPage \$0- Previous -60 8 0 12 -262144 -1 -1; #X obj 644 503 cnv 15 15 15 empty empty 1 0 8 0 12 -217069 -1 0; #X obj 660 503 cnv 15 15 15 empty empty of 0 8 0 12 -217069 -1 0; #X obj 676 503 cnv 15 25 15 empty pddpNumPages 3 4 8 0 12 -217069 -1 0; #X obj 692 503 bng 15 250 50 0 pddpNextPage \$0- Next 20 8 0 12 -262144 -1 -1; #X obj 745 0 cnv 5 5 500 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 0 0 cnv 5 5 500 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 305 16 cnv 5 5 485 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 38 388 LINK: universal-help.pd; #X obj 18 361 cnv 15 100 17 empty empty cyclone 3 9 0 12 -233017 -1 0; #X text 39 447 LINK: send13-help.pd; #X text 39 467 LINK: receive13-help.pd; #X obj 18 421 cnv 15 100 17 empty empty ext13 3 9 0 12 -233017 -1 0 ; #X obj 305 378 cnv 15 440 15 empty empty More_Info 10 7 0 12 -217069 -33289 0; #X text 345 401 LINK: spiffy example; #X text 345 416 LINK: Scope and Locality; #X text 345 432 LINK: pd-msg docs; #X obj 305 18 cnv 15 440 15 empty empty Sending_And_Receiving_from_Pd_itself 10 7 0 12 -217069 -33289 0; #X text 358 70 blah blah blah \, no text here yet.; #X text 35 163 some pd-msg example goes here; #X restore 80 55 pd PAGE3; #N canvas 25 25 751 521 PAGE2 0; #X obj 40 39 bng 15 250 50 0 empty \$0-receive_all empty 0 -6 0 8 -262144 -1 -1; #X obj 40 64 tgl 15 0 \$0-send_all \$0-receive_all empty 0 -6 0 8 -262144 -1 -1 0 -115; #X obj 40 89 nbx 5 14 -1e+37 1e+37 0 0 \$0-send_all \$0-receive_all empty 0 -6 0 10 -262144 -1 -1 0 256; #X obj 101 117 vsl 15 128 0 127 0 0 \$0-send_all \$0-receive_all empty 0 -8 0 8 -262144 -1 -1 0 1; #X obj 140 308 hdl 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 -1 0; #X obj 64 270 vdl 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 -1 0; #X obj 154 131 hsl 128 15 0 127 0 0 \$0-send_all \$0-receive_all empty -2 -6 0 8 -262144 -1 -1 0 1; #X obj 28 119 vu 15 120 vu-receive empty -1 -8 0 8 -66577 -1 1 0; #X obj 168 37 cnv 15 100 60 empty cnv -115-num 20 12 0 14 -233017 -66577 0; #X text 58 38 bng; #X text 58 63 toggle; #X text 97 87 number 2; #X text 118 228 Vertical Slider; #X text 83 374 Vertical Dial; #X text 162 148 Horizontal Slider; #X text 147 325 Horizontal Dial; #X text 16 245 VU Meter; #X text 193 22 canvas; #X text 321 75 The objects in this patch \, and likely many more which I have not included \, include their own send and receive functionality. This functionality can be accessed by right-clicking on the object and choosing "Properties" from the menu that appears.; #X text 321 146 In other words \, these objects can send and/or receive messages without attaching a separate [send] or [receive] object to them with a patch cord.; #X floatatom 464 258 5 0 0 0 - - -; #X floatatom 518 285 5 0 0 0 - - -; #X obj 464 282 s a; #X obj 518 257 r a; #X text 320 223 As you see here \, these number boxes are linked together with send and receives objects.; #X obj 454 337 nbx 5 14 -1e+37 1e+37 0 0 \$0-send_all \$0-receive_all empty 0 -6 0 10 -262144 -1 -1 0 256; #X obj 516 337 nbx 5 14 -1e+37 1e+37 0 0 \$0-send_all \$0-receive_all empty 0 -6 0 10 -262144 -1 -1 0 256; #X text 322 39 Some objects in Pd contain their own internal send and receive functionality.; #X obj 0 0 cnv 15 750 17 empty empty Send-N-Receive 10 9 0 16 -233017 -66577 0; #X obj 305 18 cnv 15 440 15 empty empty Internal_sends_and_receives 10 7 0 12 -217069 -33289 0; #X obj 305 18 cnv 5 5 500 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 0 500 cnv 15 750 20 bs br PDDP_2005 10 10 0 14 -217069 -1 0 ; #X obj 624 503 bng 15 250 50 0 pddpNextPage \$0- Previous -60 8 0 12 -262144 -1 -1; #X obj 644 503 cnv 15 15 15 empty empty 1 0 8 0 12 -217069 -1 0; #X obj 660 503 cnv 15 15 15 empty empty of 0 8 0 12 -217069 -1 0; #X obj 676 503 cnv 15 25 15 empty pddpNumPages 3 4 8 0 12 -217069 -1 0; #X obj 692 503 bng 15 250 50 0 pddpNextPage \$0- Next 20 8 0 12 -262144 -1 -1; #X obj 745 0 cnv 5 5 500 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 0 0 cnv 5 5 500 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 319 303 You can use the built-in send and receive capability of a many of the GUI objects:; #X obj 128 400 r \$0-send_all; #X msg 186 427 set \$1; #X obj 186 447 s \$0-receive_all; #X msg 84 428 \; vu-receive \$1; #X msg 10 460 \; cnv label \$1-num; #X obj 305 200 cnv 15 440 15 empty empty Explicit_vs_hidden 10 7 0 12 -217069 -33289 0; #X text 320 361 These number boxes are linked together via their 'send' or 'receive' property. With the little patch and the bottom left \, all of theses GUI objects are connected together.; #X text 320 406 To visually mark that an internal send and/or receive is being used \, the inlets and outlets disappear \, the inlet marker disappears when the internal receive is in use \, and the outlet disappears when the internet send is in use.; #X obj 440 477 nbx 5 14 -1e+37 1e+37 0 0 \$0-send_all empty no_outlet 0 -9 0 10 -262144 -1 -1 0 256; #X obj 539 476 nbx 5 14 -1e+37 1e+37 0 0 empty \$0-receive_all no_inlet 0 -9 0 10 -262144 -1 -1 0 256; #X obj 638 476 nbx 5 14 -1e+37 1e+37 0 0 \$0-send_all \$0-receive_all neither 0 -9 0 10 -262144 -1 -1 0 256; #X obj 345 478 nbx 5 14 -1e+37 1e+37 0 0 empty empty both 0 -9 0 10 -262144 -1 -1 0 256; #X connect 20 0 22 0; #X connect 23 0 21 0; #X connect 40 0 41 0; #X connect 40 0 43 0; #X connect 40 0 44 0; #X connect 41 0 42 0; #X restore 14 54 pd PAGE2; #X coords 0 0 1.01598e-05 1.58148e-05 96 15 0; #X restore 147 502 pd PAGES; #X obj 624 503 bng 15 250 50 0 pddpNextPage \$0- Previous -60 8 0 12 -262144 -1 -1; #X obj 644 503 cnv 15 15 15 empty empty 1 0 8 0 12 -217069 -1 0; #X obj 660 503 cnv 15 15 15 empty empty of 0 8 0 12 -217069 -1 0; #X obj 676 503 cnv 15 25 15 empty pddpNumPages 3 4 8 0 12 -217069 -1 0; #X obj 692 503 bng 15 250 50 0 pddpNextPage \$0- Next 20 8 0 12 -262144 -1 -1; #X obj 745 0 cnv 5 5 500 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 0 0 cnv 5 5 500 empty empty empty 20 12 0 14 -233017 -66577 0; #X msg 151 433 \; aSymbol symbol \$1; #X msg 151 412 symbol down_below; #X floatatom 14 414 5 0 0 0 - - -; #X floatatom 98 314 5 0 0 0 - - -; #X floatatom 97 224 5 0 0 0 - - -; #X text 8 381 (look above at previous examples):; #X text 10 368 You can make message boxes into sends; #X text 13 272 received by [receive]s of the same name.; #X text 8 203 Multiple [send]s with the same name; #X connect 2 0 17 0; #X connect 7 0 11 0; #X connect 8 0 21 0; #X connect 10 0 23 0; #X connect 12 0 41 0; #X connect 16 0 4 0; #X connect 18 0 3 0; #X connect 19 0 15 0; #X connect 20 0 15 0; #X connect 24 0 13 0; #X connect 26 0 25 0; #X connect 39 0 38 0; #X connect 40 0 25 0; #X connect 42 0 9 0;