Morgan Sutherland: PLSS hacking

Date: August 12, 2011 12:18:04 PM EDT

What I meant to say is that it might be easier to roll your own OSC "library" since making a basic OSC message without timestamps, bundles and wildcards does not require a library to do – it's just a int/float with a string identifier and type tag appended. Like:

oscPacket = sprintf("/path/to, i, %c", number);
ethernet.udpSend(oscPacket);

I referred you to OSCuino because the functions sendOSCfloats and sendOSCthings will show you how to construct a proper OSC message w/ AVR C. So if the ethernet library is stable, no need to bother with a half-working OSC library on top of it just to do some string formatting!

For future maintenance, I'm of the opinion the things should be kept simple in terms of implementation so that people in the future can figure them out easily rather than simple of interface (which more often then not means complex implementation).

I had a look at the Arduino ethernet library and to my surprise it doesn't support UDP (only TCP). Somebody has written here a modified version that uses UDP: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1231346812 (not sure if you found this already). You can give it a try, but some people have compile errors. The other option would be to find a TCP object fro Pd. Or rather than using Pd, you could write a little Python/Ruby/C script that receives the data and broadcasts it on localhost for Pd or Max to pick up.

All that said, if you can get the OSC library working, then by all means use it. Just trying to make suggestions to make your life easier!

Thanks Michal.