On 11/19/2015 07:02 PM, Martin Peach wrote:
> Thanks for that. It also works up to a point but it's causing trouble as in
> the attached patch. The original message gets scrambled if its payload is
> not of the same type as the intervening message.
>

afaict this is a problem of [unpackOSC] not allowing reentrancy either.

at least if i replace [unpackOSC] with an abstraction build with
[oscparse] (see attachments) this problem goes away.

> 
> Also I find that bundles don't actually work. If you try to add another
> message to a bundle it fails:

indeed.

> 
> packOSC: According to the type tag (i) I expected more arguments.
> packOSC: Problem writing address.
> packOSC: According to the type tag I expected an argument of a different
> type.
> * Expected s, string now in
> 
> packOSC: According to the type tag I expected an argument of a different
> type.
> * Expected s, string now in
> 
> packOSC: usage error, write-msg failed.
> packOSC: According to the type tag (i) I expected more arguments.
> packOSC: Problem closing bundle.
> 
> 
> I'm not sure this ever worked or if got broken at some point. Bundles with
> one message are fine.

i was pretty sure that i have been able to send bundles with multiple
messages in the past.
but then:
"[, send /bar bar, send /foo foo foo, ]" works fine, wheras if i switch
the messages "[, send /foo foo foo, send /bar bar, ]" it fails.

with the power of git bisect i tried finding out when this behaviour was
introduced, only to find that it has always been there! (that is: since
revision 5629, when "osc" was added to the repository)

mgfasr
IOhannes
#N canvas 6 49 450 300 10;
#X obj 87 47 inlet;
#X obj 230 44 zexy;
#X obj 87 69 t a a;
#X obj 87 91 list split 1;
#X obj 187 91 list split 1;
#X obj 187 113 symbol2list /;
#X obj 187 135 list prepend set;
#X obj 187 157 list trim;
#X obj 127 212 outlet;
#X obj 292 217 outlet dummy;
#X obj 127 190 oscformat;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 3 1 10 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 10 0 8 0;
#N canvas 5 49 450 300 10;
#X obj 104 64 inlet;
#X obj 104 99 oscparse;
#X obj 104 121 t a a;
#X obj 229 61 zexy;
#X obj 104 171 list2symbol /;
#X obj 104 213 list append;
#X obj 104 235 list trim;
#X obj 104 257 outlet;
#X obj 104 143 list split \$1;
#X obj 311 42 loadbang;
#X obj 311 64 i \$1;
#X obj 311 86 select 0;
#X msg 311 108 3;
#X msg 104 193 /\$1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 8 0;
#X connect 4 0 13 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 8 0 4 0;
#X connect 8 1 5 1;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 8 1;
#X connect 13 0 5 0;

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Pd-dev mailing list
[email protected]
http://lists.puredata.info/listinfo/pd-dev

Reply via email to