So I updated packOSC in svn to detect reentrancy and post a message. It seems too complicated to allow it. Here's a patch that does what I believe you want using the preferred method of bundles.
Martin On Fri, Nov 6, 2015 at 4:53 AM, Roman Haefeli <[email protected]> wrote: > On Thu, 2015-11-05 at 16:23 -0500, Martin Peach wrote: > > As I see it, the only way that [packOSC] can receive a message before > > it has completed the previous message is if its own output triggers > > another message to its input. It may be possible to detect that > > special case and either let it happen or not, but it's tricky because > > the buffer for the list is deallocated as soon as the list is output, > > and the new message arrives while that is taking place. Possibly using > > a fixed buffer would work better, and also speed up the code. The > > function then might just exit before it is called again, avoiding the > > error. > > If you're trying a fix, I'm happy to test it (Sorry for not being > helpful, my C skills... ) > > Roman > > > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > >
#N canvas 488 112 548 365 10; #X declare -stdpath osc -stdpath mrpeach; #X obj 50 208 packOSC; #X obj 50 230 unpackOSC; #X msg 50 28 /trigger/osc/message now; #X obj 291 72 declare -stdpath osc -stdpath mrpeach; #X obj 292 94 import mrpeach; #X msg 124 93 [; #X msg 50 93 ]; #X msg 105 128 /i/am/not/reentrant here; #X msg 68 160 /i/am/not/reentrant either; #X obj 50 252 print unpacked; #X obj 50 62 t b b a b b; #X text 289 53 one or the other of these may be needed:; #X text 50 8 send multiple messages at the same time:; #X connect 0 0 1 0; #X connect 1 0 9 0; #X connect 2 0 10 0; #X connect 5 0 0 0; #X connect 6 0 0 0; #X connect 7 0 0 0; #X connect 8 0 0 0; #X connect 10 0 6 0; #X connect 10 1 8 0; #X connect 10 2 0 0; #X connect 10 3 7 0; #X connect 10 4 5 0;
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
