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