aboutsummaryrefslogtreecommitdiff
path: root/doc/pddp
diff options
context:
space:
mode:
authorN.N. <dave_sabine@users.sourceforge.net>2003-09-12 19:24:08 +0000
committerN.N. <dave_sabine@users.sourceforge.net>2003-09-12 19:24:08 +0000
commit29e4cd906c1da010a02103b9eb4ece410de013c5 (patch)
treea57a79f24a913c98e6b664bfeaeb7a76b08458f0 /doc/pddp
parentf270f0356bfd9d6b327b1ffafa5f8561eba1385d (diff)
updated these documents to conform to new PDDP layout...also includes new abstractions etc. to explain locality and special send/receive objects.
svn path=/trunk/; revision=950
Diffstat (limited to 'doc/pddp')
-rw-r--r--doc/pddp/help-receive.pd158
-rw-r--r--doc/pddp/help-send.pd331
2 files changed, 279 insertions, 210 deletions
diff --git a/doc/pddp/help-receive.pd b/doc/pddp/help-receive.pd
index 4e241c29..a78b6897 100644
--- a/doc/pddp/help-receive.pd
+++ b/doc/pddp/help-receive.pd
@@ -1,11 +1,147 @@
-#N canvas 62 40 511 244 10;
-#X obj 27 10 receive;
-#X text 79 12 - receive messages without patch cords.;
-#X text 22 63 See;
-#X obj 48 63 send;
-#X text 79 63 for documentation regarding this object.;
-#X text 25 36 This object can be abbreviated as;
-#X obj 233 36 r;
-#X text 21 95 This document was updated for PD version 0.35 by Dave
-Sabine as part of a project called pddp proposed by Krzysztof Czaja
-to build comprehensive documentation for PD.;
+#N canvas 1 2 636 634 12;
+#X obj 117 554 pddp;
+#X obj 8 3 cnv 15 90 578 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 37 44 INLETS:;
+#X text 29 170 OUTLETS:;
+#X text 14 115 ARGUMENTS:;
+#X text 19 213 EXAMPLES:;
+#X text 23 369 SEE ALSO:;
+#N canvas 109 3 415 264 Related_Objects 0;
+#X text 25 11 Native PD Objects;
+#X text 22 148 Externals and other object libraries;
+#X obj 25 53 receive~;
+#X obj 109 54 send~;
+#X obj 171 54 send;
+#X obj 220 54 throw~;
+#X obj 285 54 catch~;
+#X obj 21 103 tabreceive~;
+#X obj 129 103 tabsend~;
+#X obj 211 103 netsend;
+#X obj 287 103 netreceive;
+#X text 28 175 [streamin~];
+#X text 29 197 [receivelocal];
+#X text 29 219 [shoutamp~];
+#X text 188 177 [receive13~];
+#X text 189 199 [dist];
+#X text 191 221 [netdist];
+#X text 309 177 [remote];
+#X text 287 200 [receiveOSC];
+#X obj 350 54 value;
+#X restore 117 499 pd Related_Objects;
+#N canvas 57 0 649 630 More_Info 0;
+#X obj 44 576 all_about_send_n_receive;
+#X text 25 18 MESSAGES AND DATA TYPES;
+#X text 40 41 PD's [send] and [receive] objects can communicate any
+data type that is supported by PD: floats \, anythings \, lists \,
+symbols \, and bangs. However \, you will need to plan ahead in your
+patch to ensure that a symbol doesn't accidently arrive at a [float]
+object \, or that a list doesn't arrive at a [symbol] object. Consider
+the following I have been very careful to keep [send] and [receive]
+groups isolated to specific data types - and in the last case \, I
+have incorporated a [route] object to properly receive the various
+data types at a single [receive] object.;
+#X floatatom 32 221 5 0 0 0 - - -;
+#X floatatom 73 332 5 0 0 0 - - -;
+#X obj 74 278 s a_float;
+#X obj 73 306 r a_float;
+#X obj 74 249 s whatever;
+#X obj 263 248 s whatever;
+#X obj 264 277 s a_symbol;
+#X obj 264 311 r a_symbol;
+#X symbolatom 197 220 10 0 0 0 - - -;
+#X text 75 220 click-n-drag;
+#X text 282 220 type something;
+#X text 473 217 click this;
+#X obj 475 324 s whatever;
+#X obj 452 294 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 476 353 s a_bang;
+#X text 494 296 click this too;
+#X obj 476 387 r a_bang;
+#X obj 476 415 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 153 345 r whatever;
+#X floatatom 153 481 5 0 0 0 - - -;
+#X symbolatom 207 459 10 0 0 0 - - -;
+#X obj 269 416 print;
+#X obj 317 398 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X symbolatom 264 340 10 0 0 0 - - -;
+#X obj 262 439 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 27 511 There is a lot of information available about [send]
+and [receive] \, but that means there's lots to know! Open the abstraction
+below to learn more...;
+#X msg 450 234 \; whatever 1 2 3 4 \;;
+#X obj 153 370 route float symbol list bang;
+#X connect 3 0 5 0;
+#X connect 3 0 7 0;
+#X connect 6 0 4 0;
+#X connect 10 0 26 0;
+#X connect 11 0 9 0;
+#X connect 11 0 8 0;
+#X connect 16 0 15 0;
+#X connect 16 0 17 0;
+#X connect 19 0 20 0;
+#X connect 21 0 30 0;
+#X connect 30 0 22 0;
+#X connect 30 1 23 0;
+#X connect 30 2 24 0;
+#X connect 30 2 27 0;
+#X connect 30 3 25 0;
+#X restore 117 528 pd More_Info;
+#X obj 30 18 receive;
+#X obj 551 18 r;
+#X obj 116 250 s;
+#X floatatom 116 226 5 0 0 0 - - -;
+#X floatatom 218 255 5 0 0 0 - - -;
+#X obj 218 226 r;
+#X floatatom 273 255 5 0 0 0 - - -;
+#X obj 273 226 r;
+#X floatatom 324 255 5 0 0 0 - - -;
+#X obj 324 226 r;
+#X floatatom 120 309 5 0 0 0 - - -;
+#X floatatom 375 335 5 0 0 0 - - -;
+#X floatatom 446 335 5 0 0 0 - - -;
+#X floatatom 521 335 5 0 0 0 - - -;
+#X text 119 289 with creation argument;
+#X obj 120 333 s dave;
+#X obj 375 306 r dave;
+#X obj 446 306 r dave;
+#X text 105 115 One - [receive] accepts a single argument (text \,
+not numbers) which is a 'name'. All [receive]s of the same name correspond
+to a [send] object of that name.;
+#X floatatom 220 310 5 0 0 0 - - -;
+#X text 107 171 One - outputs the message(s) that are sent from a corresponding
+[send] of the same name.;
+#X text 109 18 - RECEIVE MESSAGES WITHOUT PATCH CORDS - abbreviation:
+;
+#X text 104 45 None. Data can be inputted to the [receive] object using
+the [send] object or by creating a PD 'send' command in a message box.
+The [receive] object accepts any atom type as input.;
+#X floatatom 442 235 5 0 0 0 - - -;
+#X msg 442 258 \; dave \$1;
+#X floatatom 520 233 5 0 0 0 - - -;
+#X msg 520 258 \; hans \$1;
+#X obj 521 306 r hans;
+#X obj 220 334 s hans;
+#X text 114 386 doc/1.manual/x5.htm;
+#X text 114 369 doc/1.manual/x2.htm;
+#X text 114 403 doc/2.control.examples/09.send_receive.pd;
+#X text 114 419 doc/2.control.examples/10.more.messages.pd;
+#X text 115 435 doc/2.control.examples/11.review.pd;
+#X text 115 452 doc/2.control.examples/13.locality.pd;
+#X text 115 470 doc/5.reference/help-message.pd;
+#X text 161 555 - Dave Sabine \, September 9 \, 2003;
+#X connect 12 0 11 0;
+#X connect 14 0 13 0;
+#X connect 16 0 15 0;
+#X connect 18 0 17 0;
+#X connect 19 0 24 0;
+#X connect 25 0 20 0;
+#X connect 26 0 21 0;
+#X connect 28 0 37 0;
+#X connect 32 0 33 0;
+#X connect 34 0 35 0;
+#X connect 36 0 22 0;
diff --git a/doc/pddp/help-send.pd b/doc/pddp/help-send.pd
index f8d8bc92..e7cfefdc 100644
--- a/doc/pddp/help-send.pd
+++ b/doc/pddp/help-send.pd
@@ -1,199 +1,132 @@
-#N canvas -7 -1 1011 660 10;
-#X obj 25 11 send;
-#X text 58 12 - sends messages without patch cords.;
-#X text 481 26 At this point \, it is necessary to explain 'locality'
-and 'scope'. When creating a [send] and/or [receive] object it is helpful
-to determine whether or not the messages you pass through those objects
-will be used by only ONE patch \, or throughout all open patches.;
-#X obj 229 34 s;
-#X text 23 35 This object can be abbreviated as;
-#X text 23 158 Send and recevie objects are given a name to tell them
-who to connect to. Here is a simple example of how these objects work
-together:;
-#X text 25 60 The [send] object \, and its counterpart \, [receive]
-\, 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 floatatom 246 223 5 0 0;
-#X floatatom 26 205 5 0 0;
-#X text 67 205 Click-n-drag this number box.;
-#X obj 26 222 send this_number;
-#X obj 246 204 receive this_number;
-#X obj 26 293 send this_symbol;
-#X obj 245 279 receive this_symbol;
-#X symbolatom 245 297 15 0 0;
-#X msg 26 252 symbol dog;
-#X msg 40 272 symbol cat;
-#X text 101 253 Click these messages.;
-#X text 23 323 Also note that you can send messages to a receive object
-by providing the name of the receive object and your message in a message
-box \, like below: (watch the receive object ABOVE);
-#X msg 27 385 \; this_number 20 \; this_symbol symbol foo \;;
-#X msg 230 384 \; this_number 4000 \; this_symbol symbol hello_world
-\;;
-#X msg 27 435 \; this_number 42 \;;
-#X msg 230 434 \; this_symbol symbol Jupiter \;;
-#X obj 436 5 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 436 581 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X text 473 10 IMPORTANT;
-#N canvas 0 0 248 163 example_a 0;
-#X obj 18 9 r foo;
-#X floatatom 18 34 5 0 0;
-#X obj 24 96 r a-foo;
-#X floatatom 24 116 5 0 0;
-#X connect 0 0 1 0;
-#X connect 2 0 3 0;
-#X restore 561 139 pd example_a;
-#N canvas 2 238 250 157 example_b 0;
-#X obj 12 9 r foo;
-#X floatatom 12 28 5 0 0;
-#X obj 15 74 r b-foo;
-#X floatatom 15 93 5 0 0;
-#X connect 0 0 1 0;
-#X connect 2 0 3 0;
-#X restore 642 140 pd example_b;
-#N canvas -1 473 225 163 example_c 0;
-#X obj 12 8 r foo;
-#X floatatom 12 30 5 0 0;
-#X obj 12 65 r c-foo;
-#X floatatom 12 86 5 0 0;
-#X connect 0 0 1 0;
-#X connect 2 0 3 0;
-#X restore 724 140 pd example_c;
-#X obj 480 240 s foo;
-#X floatatom 480 224 5 0 0;
-#X text 478 196 Click-n-drag these number boxes and notice the appropriate
-receive objects in each open sub-patch.;
-#X floatatom 525 224 5 0 0;
-#X floatatom 581 225 5 0 0;
-#X floatatom 639 225 5 0 0;
-#X obj 525 240 s a-foo;
-#X obj 581 241 s b-foo;
-#X obj 639 241 s c-foo;
-#X text 475 166 TO SEND MESSAGES TO ALL RECEIVES OF THE SAME NAME IN
-ALL OPEN PATCHES - global scope.;
-#X text 482 95 To observe these features \, click on the following
-sub-patches to open each one on your screen. Move them all so that
-you can see each one clearly and also see this main patch.;
-#X text 470 397 TO SEND MESSAGES TO RECEIVE OBJECTS WITHIN A SINGLE
-PATCH - local scope.;
-#X text 480 426 There are many cases where you may want messages to
-be sent within a single patch. For example \, you might have designed
-many modules with a receive object called [r number] but you want that
-'number' to be passed to only the objects within a single module so
-that they don't effect the performance of the other modules.;
-#X text 481 506 In these cases \, you should use "local variables"
-to name your send and receive objects. Local variables are assigned
-using dollar signs and numbers. There is more documentation about this
-in 2.control.examples/locality.pd;
-#X text 23 550 RELATED OBJECTS;
-#X obj 86 574 send~;
-#X obj 123 574 receive~;
-#X obj 179 574 netsend;
-#X obj 228 574 netreceive;
-#X obj 24 574 receive;
-#X obj 23 596 tabsend~;
-#X text 477 262 Send objects simply post their information to the cyberspace
-within your computer (that's one way to look at it!) Receive objects
-simply keep their ears open for all messages floating through that
-cyberspace from send objects of the same name! Hence \, if you name
-a [send] something like "foo" \, then all [receive] objects in open
-patches named "foo" will 'hear' those messages. Also note that the
-term 'open patches' includes all sub-patches \, abstractions and patches
-that are currently open in PD - they don't have to be VISIBLE...they
-only have to be active.;
-#X text 481 585 This document was updated for PD version 0.35 by Dave
-Sabine as part of a project called pddp proposed by Krzysztof Czaja
-to build comprehensive documentation for PD.;
-#X text 21 478 SPECIAL OBJECTS AND THEIR PROPERTIES;
-#X text 27 492 Some objects in PD contain their own internal send and
-receive functionality. Open the following sub-patch for more information:
-;
-#N canvas 129 123 768 452 special-send-and-receives 0;
-#X text 26 18 SPECIAL OBJECTS;
-#X obj 28 41 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 28 66 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 28 91 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 28 117 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 0 1;
-#X obj 21 368 hdl 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 -1
-0;
-#X obj 159 129 vdl 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 -1
-0;
-#X obj 24 343 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 79 208 vu 15 120 empty empty -1 -8 0 8 -66577 -1 1 0;
-#X obj 192 31 cnv 15 100 60 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 54 41 bng;
-#X text 51 66 toggle;
-#X text 93 90 number 2;
-#X text 48 168 Vertical Slider;
-#X text 185 167 Vertical Dial;
-#X text 164 344 Horizontal Slider;
-#X text 154 368 Horizontal Dial;
-#X text 136 261 VU Meter;
-#X text 225 55 canvas;
-#X text 331 28 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 328 101 EXAMPLE;
-#X text 333 117 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 text 328 161 THE OL'FASHION WAY;
-#X floatatom 330 182 5 0 0;
-#X floatatom 375 200 5 0 0;
-#X obj 330 199 s a;
-#X obj 375 181 r a;
-#X text 330 222 USING THESE OBJECTS' INTERNAL SEND AND RECEIVE FUNCTIONALITY
-;
-#X text 422 181 As you see here \, these number boxes are linked together
-with send and receives objects.;
-#X obj 332 244 nbx 5 14 -1e+037 1e+037 0 0 b empty empty 0 -6 128 10
--262144 -1 -1 0 256;
-#X obj 394 244 nbx 5 14 -1e+037 1e+037 0 0 empty b empty 0 -6 64 10
--262144 -1 -1 0 256;
-#X text 334 262 These number boxes are linked together via their 'send'
-or 'receive' property.;
-#X connect 23 0 25 0;
-#X connect 26 0 24 0;
-#X restore 136 523 pd special-send-and-receives;
-#N canvas 0 0 439 206 related_objects_from_other_libraries 0;
-#X text 17 52 These objects are offered in PD only if you have downloaded
-and properly installed the appropriate library. These objects may or
-may not exist in a single library.;
-#X text 16 101 The best places to find information about PD's libraries
-is:;
-#X text 13 123 www.pure-data.org and click on "Downloads" then "Software"
-;
-#X text 15 138 or;
-#X text 15 153 iem.kug.ac.at/pdb/;
-#X obj 16 22 streamout~;
-#X obj 82 22 sendlocal;
-#X obj 144 22 system;
-#X obj 186 22 shoutcast~;
-#X obj 254 22 sendOSC;
-#X obj 304 22 send13~;
-#X restore 172 596 pd related_objects_from_other_libraries;
-#X obj 76 596 throw~;
-#X obj 118 596 catch~;
-#X obj 297 574 value;
-#X connect 8 0 10 0;
-#X connect 11 0 7 0;
-#X connect 13 0 14 0;
-#X connect 15 0 12 0;
-#X connect 16 0 12 0;
-#X connect 23 0 24 0;
-#X connect 30 0 29 0;
-#X connect 32 0 35 0;
-#X connect 33 0 36 0;
-#X connect 34 0 37 0;
+#N canvas 1 2 640 638 12;
+#X obj 117 554 pddp;
+#X obj 8 3 cnv 15 90 578 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 37 44 INLETS:;
+#X text 29 170 OUTLETS:;
+#X text 14 115 ARGUMENTS:;
+#X text 19 213 EXAMPLES:;
+#X text 23 369 SEE ALSO:;
+#N canvas 109 3 419 268 Related_Objects 0;
+#X text 25 11 Native PD Objects;
+#X text 22 148 Externals and other object libraries;
+#X obj 11 53 receive~;
+#X obj 95 54 send~;
+#X obj 220 54 throw~;
+#X obj 285 54 catch~;
+#X obj 21 103 tabreceive~;
+#X obj 129 103 tabsend~;
+#X obj 211 103 netsend;
+#X obj 287 103 netreceive;
+#X text 189 199 [dist];
+#X text 191 221 [netdist];
+#X text 309 177 [remote];
+#X obj 350 54 value;
+#X obj 150 53 receive;
+#X text 28 175 [streamout~];
+#X text 29 197 [sendlocal];
+#X text 290 227 [system];
+#X text 29 219 [shoutcast~];
+#X text 287 200 [sendOSC];
+#X text 188 177 [send13~];
+#X restore 117 499 pd Related_Objects;
+#N canvas 90 1 655 636 More_Info 0;
+#X obj 44 576 all_about_send_n_receive;
+#X text 27 511 There is a lot of information available about [send]
+and [receive] \, but that means there's lots to know! Open the abstraction
+below to learn more...;
+#X text 34 18 SEND USING [SEND] OR MESSAGE? DYNAMIC SEND?;
+#X text 42 52 Consider this:;
+#X floatatom 172 53 5 0 0 0 - - -;
+#X floatatom 237 53 5 0 0 0 - - -;
+#X obj 172 79 s dave;
+#X obj 237 79 s hans;
+#X obj 371 57 r dave;
+#X obj 447 56 r hans;
+#X floatatom 371 84 5 0 0 0 - - -;
+#X floatatom 447 85 5 0 0 0 - - -;
+#X text 41 136 Now consider this:;
+#X floatatom 200 138 5 0 0 0 - - -;
+#X floatatom 269 139 5 0 0 0 - - -;
+#X msg 200 166 \; dave \$1;
+#X msg 269 166 \; hans \$1;
+#X text 43 278 And to complicate things a little more \, and offer
+some interesting functionality \, consider the following:;
+#X obj 371 107 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 447 107 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 64 322 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 188 321 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 64 346 symbol dave;
+#X obj 188 345 symbol hans;
+#X msg 67 394 \; \$1 42;
+#X text 143 384 In this example \, I have created a single routine
+which acts as a 'dynamic' send object. The variable ($1) in this message
+box is replaced by the incoming 'symbol'.;
+#X text 135 213 In this example \, the message box contains a PD command
+which effectively sends the value of the variable ($1) to either 'dave'
+or 'hans'.;
+#X connect 4 0 6 0;
+#X connect 5 0 7 0;
+#X connect 8 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 18 0;
+#X connect 11 0 19 0;
+#X connect 13 0 15 0;
+#X connect 14 0 16 0;
+#X connect 20 0 22 0;
+#X connect 21 0 23 0;
+#X connect 22 0 24 0;
+#X connect 23 0 24 0;
+#X restore 117 528 pd More_Info;
+#X obj 116 250 s;
+#X floatatom 116 226 5 0 0 0 - - -;
+#X floatatom 218 255 5 0 0 0 - - -;
+#X obj 218 226 r;
+#X floatatom 273 255 5 0 0 0 - - -;
+#X obj 273 226 r;
+#X floatatom 324 255 5 0 0 0 - - -;
+#X obj 324 226 r;
+#X floatatom 120 309 5 0 0 0 - - -;
+#X floatatom 375 335 5 0 0 0 - - -;
+#X floatatom 446 335 5 0 0 0 - - -;
+#X floatatom 521 335 5 0 0 0 - - -;
+#X text 119 289 with creation argument;
+#X obj 120 333 s dave;
+#X obj 375 306 r dave;
+#X obj 446 306 r dave;
+#X floatatom 220 310 5 0 0 0 - - -;
+#X text 104 45 None. Data can be inputted to the [receive] object using
+the [send] object or by creating a PD 'send' command in a message box.
+The [receive] object accepts any atom type as input.;
+#X obj 521 306 r hans;
+#X obj 220 334 s hans;
+#X text 114 386 doc/1.manual/x5.htm;
+#X text 114 369 doc/1.manual/x2.htm;
+#X text 114 403 doc/2.control.examples/09.send_receive.pd;
+#X text 114 419 doc/2.control.examples/10.more.messages.pd;
+#X text 115 435 doc/2.control.examples/11.review.pd;
+#X text 115 452 doc/2.control.examples/13.locality.pd;
+#X text 115 470 doc/5.reference/help-message.pd;
+#X obj 56 18 send;
+#X text 109 18 - SEND MESSAGES WITHOUT PATCH CORDS - abbreviation:
+;
+#X obj 551 18 s;
+#X text 107 171 None - sends messages to a corresponding [receive]
+of the same name.;
+#X text 105 115 One - [send] accepts a single argument (text \, not
+numbers) which is a 'name'. A [send] object corresponds to all [receive]
+objects of the same name.;
+#X text 161 555 - Dave Sabine \, September 12 \, 2003;
+#X connect 10 0 9 0;
+#X connect 12 0 11 0;
+#X connect 14 0 13 0;
+#X connect 16 0 15 0;
+#X connect 17 0 22 0;
+#X connect 23 0 18 0;
+#X connect 24 0 19 0;
+#X connect 25 0 28 0;
+#X connect 27 0 20 0;