[PD] osc objects

Martin Peach martinrp at vax2.concordia.ca
Fri Apr 28 18:00:44 CEST 2006


Frank Barknecht wrote:
> Hallo,
> Thomas Grill hat gesagt: // Thomas Grill wrote:
> 
> 
>>Hi Martin,
>>
>>
>>>The other libraries (e.g. liblo) for OSC seem to be in c++ which is 
>>>harder to integrate with pd's c code.
>>
>>this is news to me. My version of liblo is written in C and has a C 
>>api. I once ported it to Windows so that it's ready to use with PD.
> 
> 
> liblo is plain C. 

Um yes, I was mixed up again...liblo seems to be about the only other c 
implementation of OSC.
I didn't use it because it's tied to the transport layer, so you have 
another process than pd itself operating sockets in its own way which 
seems to go against the design philosophy of pd.
In [packOSC] and [unpackOSC] I rearranged OSCx to separate the OSC layer 
from the transport layer which is handled by [tcpreceive], [tcpsend], 
[udpreceive] and [udpsend], which are adapted from pd's internal 
[netsend] and [netreceive] objects.
I don't see how one could easily do that with liblo. Also I don't think 
it will be a major undertaking to add timetags to [packOSC] and 
[unpackOSC], just that I don't see the use of absolute time. It makes 
more sense to have any performance or installation start at zero time.
Either way timetags are 64-bit numbers so there needs to be some way of 
handling them in pd, maybe as a list of floats: (year month day hour 
minute second millisecond)? Then we'll need objects to manipulate (add, 
subtract, compare etc) timestamps.

Martin


Martin

> 
> Ciao





More information about the Pd-list mailing list