[PD] Floats and negative numbers over OSC

Georg Werner georg at fricklr.de
Mon Feb 1 13:42:48 CET 2010


hi,

thanks a lot - that made it clear to me.
g.

IOhannes m zmoelnig schrieb:
> Georg Werner wrote:
>> Hi,
>>
>> i tried your patch on winxp just with udpsend and had the same problems:
>> error: udpsend_send: item 0 (-1.000000) is not between 0 and 255
>> error: udpsend_send: item 0 (1.100000) is not an integer
>> so maybe the problem is not OSC but UDP? as it seems to handle only
>> single bytes.
>> So my question how to send a -1.1 over UDP?
>> g.
> 
> haven't looked at the patch, but there are two possible reasons for this:
> - somebody (the patch?) is injecting non-byte-values into the data to
> udpsend. udpsend takes a list of bytes, not a Pd message. this means:
> you cannot just send the message "/test -1" to udpsend, you need an
> object inbetween that translates the message "/test -1" into a binary
> format. [packOSC] is one such object which will translate the given
> message into a list of bytes "47 116 101 115 116 0 0 0 44 105 0 0 255
> 255 255 255" (all atoms are floats and the values are integer and
> between [0, 255]).
>  [udpsend] is NOT a drop-in replacement for [netsend 1]!
> 
> - very old(!) versions of [udpsend] (or was it [udpreceive]?) had a
> problem with signed/unsignedness, resulting in "255" (binary 11111111 in
> unsigned)  being interpreted as "-1" (binary 11111111 in signed). if
> this is the case, you have to upgrade udpsend/receive (e.g. install a
> newer stable release of Pd-extended)
> 
> 
> gfmasdr
> IOhannes




More information about the Pd-list mailing list