Hi everyone - What's the recommended way to parse OSC packets in pd? I have chunks of 18 bytes that I want to send from another computer into PD, and OSC seems like a natural way to do it. But I'm coming up against 2 problems:
as a datatype
(I'm using the "dumpOSC" object to receive the data) thanks, David Merrill
David Merrill wrote:
Hi everyone - What's the recommended way to parse OSC packets in pd? I have chunks of 18 bytes that I want to send from another computer into PD, and OSC seems like a natural way to do it. But I'm coming up against 2 problems:
- have to back them into integers, since OSC doesn't seem to have byte
as a datatype
- how to parse a block of 18 integers once I have it in PD?
OSCroute or unpack?
The recommended way to transfer 18 bytes in OSC would be to prefix each with an identifying 'path' and use OSCroute to route them to their destinations. Unpack might work for a list of 18 bytes sent to the same 'path', but I haven't tried it.
Martin
Martin Peach wrote:
David Merrill wrote:
Hi everyone - What's the recommended way to parse OSC packets in pd? I have chunks of 18 bytes that I want to send from another computer into PD, and OSC seems like a natural way to do it. But I'm coming up against 2 problems:
- have to back them into integers, since OSC doesn't seem to have
byte as a datatype
- how to parse a block of 18 integers once I have it in PD?
OSCroute or unpack?
The recommended way to transfer 18 bytes in OSC would be to prefix each with an identifying 'path' and use OSCroute to route them to their destinations. Unpack might work for a list of 18 bytes sent to the same 'path', but I haven't tried it.
Aah - so the best thing to do is to send each of the 18 separately then? Ok - I've done that now and it works - turning each into an int.. It just seems wasteful, spending an entire packet on each one of the 18 bytes when I could just as easily pack themall into a single packet.. -David
Martin
David Merrill wrote:
Aah - so the best thing to do is to send each of the 18 separately then? Ok - I've done that now and it works - turning each into an int.. It just seems wasteful, spending an entire packet on each one of the 18 bytes when I could just as easily pack themall into a single packet..
That would be where the bundle part of OSC comes in: You send a bunch of OSC messages in one bundle, which is transmitted over the network as one packet.
Martin