From 0ed2f6db0e86b653d4385c59aa441c04cec8fb52 Mon Sep 17 00:00:00 2001 From: Frank Barknecht Date: Tue, 22 Feb 2011 12:11:22 +0000 Subject: Improved loadbang docs with explanation of loadbangs in abstractions svn path=/trunk/; revision=14947 --- .../pd-msg/1.msg_and_patch/5.loadbang.pd | 52 +++++++++++++++++----- doc/additional/pd-msg/1.msg_and_patch/lb-abs.pd | 6 +++ 2 files changed, 47 insertions(+), 11 deletions(-) create mode 100644 doc/additional/pd-msg/1.msg_and_patch/lb-abs.pd (limited to 'doc/additional') diff --git a/doc/additional/pd-msg/1.msg_and_patch/5.loadbang.pd b/doc/additional/pd-msg/1.msg_and_patch/5.loadbang.pd index 68d79b6a..5ce77550 100644 --- a/doc/additional/pd-msg/1.msg_and_patch/5.loadbang.pd +++ b/doc/additional/pd-msg/1.msg_and_patch/5.loadbang.pd @@ -1,16 +1,46 @@ -#N canvas 619 324 275 289 10; -#X msg 39 236 loadbang; -#X obj 62 122 loadbang; -#X msg 62 148 1; -#X floatatom 62 174 0 0 0; -#X obj 29 93 random 127; -#X msg 29 68 bang; -#X text 26 13 The loadbang message; -#X text 81 68 <= click here first; -#X text 118 234 <= then click here; -#X obj 39 262 s pd-5.loadbang.pd; +#N canvas 304 209 845 545 10; +#X msg 39 266 loadbang; +#X obj 62 152 loadbang; +#X msg 62 178 1; +#X floatatom 62 204 0 0 0 0 - - -; +#X obj 29 123 random 127; +#X msg 29 98 bang; +#X text 23 12 The loadbang message; +#X text 81 98 <= click here first; +#X text 118 264 <= then click here; +#X obj 39 292 s pd-5.loadbang.pd; +#X msg 375 442 loadbang; +#X msg 450 442 clear; +#N canvas 448 72 536 411 \$0-dynamic 0; +#X restore 642 443 pd \$0-dynamic; +#X obj 328 479 s pd-\$0-dynamic; +#X text 23 37 Sending a message "loadbang" to a subpatch or abstraction +receiver will fire all loadbangs in that (sub-)patch.; +#X msg 328 302 clear \, obj 131 117 lb-abs \, msg 131 153 10 \, obj +113 178 + \, obj 113 65 loadbang \, msg 113 88 10 \, floatatom 113 +209 5 0 0 0 - - - \, msg 245 154 10 \, obj 227 179 + \, msg 227 89 +10 \, floatatom 227 210 5 0 0 0 - - - \, obj 227 66 lb-abs \, obj 245 +118 loadbang \, connect 0 0 1 0 \, connect 1 0 2 1 \, connect 2 0 5 +0 \, connect 3 0 4 0 \, connect 4 0 2 0 \, connect 6 0 7 1 \, connect +7 0 9 0 \, connect 8 0 7 0 \, connect 10 0 8 0 \, connect 11 0 6 0 +; +#X text 325 87 A "loadbang" message is important \, if you create instances +of abstractions dynamically \, that have loadbangs inside. These loadbangs +DO NOT FIRE AUTOMATICALLY in dynamically created abstractions!; +#X text 324 148 Loadbangs in abstractions normally fire before loadbangs +in the surrounding patch and their loadbangs may propagate to the abstraction's +outlet. But with dynamic patching \, outlets are not yet connected +when the object has been created \, which would make such loadbangs +useless.; +#X text 327 222 So in the case of dynamic patching \, you're supposed +to know when you're finished "instantiating" \, and then call "loadbang" +by yourself by sending a "loadbang" message at the appropriate time. +; #X connect 0 0 9 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 4 0 3 0; #X connect 5 0 4 0; +#X connect 10 0 13 0; +#X connect 11 0 13 0; +#X connect 15 0 13 0; diff --git a/doc/additional/pd-msg/1.msg_and_patch/lb-abs.pd b/doc/additional/pd-msg/1.msg_and_patch/lb-abs.pd new file mode 100644 index 00000000..674d1a56 --- /dev/null +++ b/doc/additional/pd-msg/1.msg_and_patch/lb-abs.pd @@ -0,0 +1,6 @@ +#N canvas 0 0 450 300 10; +#X obj 160 102 loadbang; +#X obj 160 137 outlet; +#X obj 232 136 print \$0-lb-abs; +#X connect 0 0 1 0; +#X connect 0 0 2 0; -- cgit v1.2.1