The uber-hip Monome controller is some of the new hotness to grow out of OpenSoundControl support. Photo: George P. Macklin, aka Granular Matter.

You hear plenty of chatter about the powers of OpenSoundControl, the open, high-res, network-savvy control protocol for music and visuals. But standards are no good without implementation — and some implementations just aren’t very good. Now, users, you can go have a sandwich or whatever, but developers, pay attention. (And users, enjoy that sandwich in the knowledge that someone somewhere is giving you better toys to play with soon!)

Our friend Ray, co-developer of live visual app VDMX, has put up a Cocoa, Mac-based framework for OSC. While it’s all in Objective-C (natch), it wouldn’t be too hard to port a similar framework to other open-source languages and platforms. Ray is working on a kind of best-practices OSC implementation. Worth a peek — and if you’re a Cocoa dev, of course, even better.

Described thusly:

VVOSC is an Objective-c framework for assembling, sending, and receiving OSC (Open Sound Control) messages on OS X. A
simple sample application which sends and receives OSC messages is also included.

more information on OSC:

VVOSC is licensed under a Creative Commons Attribution-Noncommercial-Share Alike license:

vvosc [Code+Examples]

Cocoa fans, they’ve also whipped up an Objective-C framework for MIDI:

VMIDI is an Objective-c framework which simplifies working with MIDI in OS X. A sample application capable of sending and receiving MIDI built from the framework is included.


(Insert here: “Daddy? Tell me more stories about MIDI and how you used to use values from 0 to 127 back in the day!”)

“vvosc” is likely to cause confusion with the Windows-only vvvv — which is also visual, also wonderful, and also supports OSC — but hopefully you can sort that out.

Now that I have your attention, developers, I’m curious: got questions about OSC? Challenges with implementation on different operating systems and in different frameworks? What are the best implementations you’ve seen in common environments like C++, Java, and Python?