Yo, I can confirm it with a day-or-two-old Pd-Extended autobuild.
I did some playing with this, and if you cut and paste the [pd 1-subsub] object it will start receiving messages like normal. So, it seems that dynamically created subpatches don't get a receiver...
A possible workaround for this would be to do a dynamic-cut-and-paste as described in the pd-msg reference, to possibly force a proper creation, but that is a pretty massive hack (and I didn't try it).
Also, the use of dynamically created subpatches as a way around the no-dynamic-delete issue is great, I hadn't thought of it. Too bad it is broken : (. As a member of the Church of Dynamic Patching I think it should be added to the reference as an Offical Technique.
Cheers Luke
On Sat, May 31, 2008 at 10:00 AM, Enrique Erne enrique@netpd.org wrote:
i can open netpd, log in, chat... but as soon as i open creator i get error: pd-cr.singletons: no such object and a empty windows pops up: pd cr.singletons (no dash) netloading a netpd patch doens't work
now i got it to. just tried it with: Pd-0.40.3-extended-20080531-macosx105-i386
it seems that some dynamic patching tricks are broken. attached example isn't working anymore :(. it creates the container subpatches but can't create the abstraction inside. could somebody confirm that?
eni
#N canvas 386 22 527 592 10; #N canvas 17 28 355 263 sub 0; #N canvas 0 22 450 300 1-subsub 0; #X restore 10 20 pd 1-subsub; #N canvas 0 22 450 300 2-subsub 0; #X restore 10 40 pd 2-subsub; #N canvas 0 22 450 300 3-subsub 0; #X restore 10 60 pd 3-subsub; #N canvas 0 22 450 300 11-subsub 0; #X restore 10 220 pd 11-subsub; #N canvas 0 22 450 300 15-subsub 0; #X restore 10 300 pd 15-subsub; #N canvas 0 22 450 300 19-subsub 0; #X restore 10 380 pd 19-subsub; #N canvas 0 22 450 300 24-subsub 0; #X restore 10 480 pd 24-subsub; #N canvas 0 22 450 300 25-subsub 0; #X restore 10 500 pd 25-subsub; #N canvas 0 22 450 300 29-subsub 0; #X restore 10 580 pd 29-subsub; #N canvas 0 22 450 300 32-subsub 0; #X restore 10 640 pd 32-subsub; #N canvas 0 22 450 300 33-subsub 0; #X restore 10 660 pd 33-subsub; #N canvas 0 22 450 300 34-subsub 0; #X restore 10 680 pd 34-subsub; #N canvas 0 22 450 300 40-subsub 0; #X restore 10 800 pd 40-subsub; #N canvas 0 22 450 300 51-subsub 0; #X restore 10 1020 pd 51-subsub; #N canvas 0 22 450 300 1-subsub 0; #X restore 10 20 pd 1-subsub; #X restore 21 22 pd sub; #X msg 24 392 ; pd-sub clear; #X msg 24 233 ; pd-sub loadbang; #X floatatom 24 79 5 0 0 0 - - -; #X obj 52 136 * 20; #X obj 24 96 t f f f; #X obj 24 116 makefilename pd-%d-subsub; #X obj 24 156 pack s f f; #X obj 24 325 makefilename pd-%d-subsub; #X msg 24 347 ; $1 clear; #X floatatom 24 306 5 0 0 0 - - -; #X text 79 22 add and remove abstractions; #X msg 21 53 1; #X msg 61 53 2; #X msg 97 53 3; #X text 149 53 a) create some subsubpatches and abstractions; #X text 148 237 b) if your abstractions use loadbang you have to do that manually; #X msg 24 283 1; #X msg 64 283 2; #X msg 100 283 3; #X text 142 398 (clear pd-sub before saving this patch); #X text 145 282 c) clear subsubpatch where your abstractions are; #X text 23 506 e) if your abstraction does signal processing you need to rebuild the dsptree. you could do so by either turn off/on [pd dsp 0 , pd dsp 1( or dynamically create an other ~-object in a subpatch and clear it again.; #X text 25 439 d) if your abstraction has a gui inside that you want to open sepparately , use either namecanvas or put the gui in an subpatch [pd $1-something] and use an arguemnt as id to refenrence the subpatch. ; #X msg 24 176 ; pd-sub obj 10 $2 pd $3-subsub ; $1 obj 10 10 my-abstraction $3; #X connect 3 0 5 0; #X connect 4 0 7 1; #X connect 5 0 6 0; #X connect 5 1 4 0; #X connect 5 2 7 2; #X connect 6 0 7 0; #X connect 7 0 24 0; #X connect 8 0 9 0; #X connect 10 0 8 0; #X connect 12 0 3 0; #X connect 13 0 3 0; #X connect 14 0 3 0; #X connect 17 0 10 0; #X connect 18 0 10 0; #X connect 19 0 10 0;
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list