diff options
author | N.N. <dave_sabine@users.sourceforge.net> | 2003-09-12 19:24:08 +0000 |
---|---|---|
committer | N.N. <dave_sabine@users.sourceforge.net> | 2003-09-12 19:24:08 +0000 |
commit | 29e4cd906c1da010a02103b9eb4ece410de013c5 (patch) | |
tree | a57a79f24a913c98e6b664bfeaeb7a76b08458f0 | |
parent | f270f0356bfd9d6b327b1ffafa5f8561eba1385d (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
-rw-r--r-- | doc/pddp/help-receive.pd | 158 | ||||
-rw-r--r-- | doc/pddp/help-send.pd | 331 |
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; |