March 1st, 2011

Control 1.2 available in App Store

I’m going to post a longer change list in the forum, but the big new feature is the ability to define custom handlers for OSC addresses (and MIDI messages) in interfaces. This means Control can respond to arbitrary OSC/MIDI messages in any way you see fit; previously it could only update the values of widgets.

Basically you define a delegate object with a single method, either processOSC or processMIDI. Then set the assign this object to the delegate property of the oscManager in javascript. Here’s a simple example that defines OSC addresses for changing the page of an interface:

oscManager.delegate = {
    processOSC : function(oscAddress, typetags, args) {
        switch(oscAddress) {
            case "/nextPage":
            case "/previousPage":
            case "/changeToPage":

MIDI works the same way except you get midiType (cc, noteon etc) channel, number and value instead of the address, typetags and arguments. This should enable the creation of much more dynamic interfaces… OSC messages can now add widgets, delete widgets, change many values at once etc.


  1. Hi! I’m having trouble tracking down the monome 128 interface. Where is it on the site?

    Comment by Dan — March 1, 2011 @ 9:23 pm
  2. It’s in the interfaces folder…

    But I’ve heard it’s apparently backwards horizontally… it works but looks a little odd. I’ll try to post a fix soon. – Charlie

    Comment by charlie — March 1, 2011 @ 9:25 pm
  3. OK, I fixed the interface above and also updated the 40h interface:

    Comment by charlie — March 1, 2011 @ 10:42 pm
  4. Hi Charlie,
    I am having trouble scrolling the interface selection screen. I can’t reach the bottom entries as I add more.

    Comment by Foster — March 8, 2011 @ 9:48 pm
  5. Hmmm… it works for me but in general those scrolling menus are flaky. Trying force quitting the app and restarting it. I’m working on using a new menu system which will hopefully resolve problems like this.

    – Charlie

    Comment by charlie — March 8, 2011 @ 9:53 pm

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

This work is licensed under GPL - 2009 | Powered by Wordpress using a heavily modified version of the theme aav1