I’m sending messages via udpsend and receiving them in Processing. Here are some examples of how the messages arrive:
(hello) => "hello***,***";
(hello world) => "hello***,s***world***";
(list hello world) => "list****,ss*hello***world***";
(list "hello, world") => "list****,s**hello, world*";
(list hello, world) => "list****,s**hello***" followed by "world***,***";
Where * = null byte.
I think I’ve figured out what’s happening here.* But does anybody know where this is actually documented?
*For the curious: Seems to be a series of c strings, each padded out to a multiple of 4 bytes. The first string is the "message name", the second is a comma followed by one letter for each arg (s, i, or f). The rest are the args. In the last example, the comma causes two separate messages to be sent.
Apparently the messages are sent in OSC format as documented here
for a network binding that wouldn’t use OSC, I’d encourage you to check out the set of network objects (UDP/TCP Sender/Receiver) from my library ( http://www.sadam.hu/software ). These objects will send and receive pure binary streams without any additional encoding.
Hope that helps,
Or, use OSC in processing:
C74 RSS Feed | © Copyright Cycling '74