Here’s a little utility, i built. I use this for controlling vdmx with the multiball module of the lemur app. The lemur app on iOS is great for all sorts of controlling things, but one thing it does, is output the value of it’s multiball module as a chunk of OSC messages. If you only use one ball, you have a 2D controller. But if you want to have multiple balls, vdmx, which i use for vjing can’t allocate the whole block to different, various controls within vdmx.

This is what you get, if you directly feed 3 multiballs into vdmx: — float 0.123456 /Multiball/x           <- the x of the first ball float 0.123456                                  <- the x of the second ball float 0.123456                                  <- the x of the third ball float 0.123456 /Multiball/y          <- the y of the first ball float 0.123456                                   … float 0.123456 — yet what you need to be able to control something in vdmx, is explicitly named controls, to e.g get something more like: — float 0.123456 /Ball0/x float 0.123456 /Ball1/x float 0.123456 /Ball1/y float 0.123456 /Ball0/x float 0.123456 /Ball2/x — This means, whenever you move a ball, the x and y value needs to come in separately. What i did here, was to receive the multiball values in max 6, unpack and transform them and to send them on locally to vdmx. In the zip, you get the example lemur template, the max6 patch and a vdmx template. You need:

  • Lemur app on iOS (and editor)
  • Max6 (full or runtime) (nothing fancy here, should work in max5 as well)
  • Installed OSCroute external for max6, if you don’t have it already. Get it from the Berkely University CNMAT here:
  • An app to receive the unpacked ball values (such as vdmx, which i use to demonstrate)
  • Some knowledge of how to set up OSC between lemur and your computer


  1. load the Lemur template into Lemur for iOS, via the Lemur editor or directly via iTunes on your host computer
  2. open the max patch “Multiballunpacker for Lemur_0.1.maxpat”
  3. open the vdmx template “multiballreceiver_tester4vdmx.vdmx5”
  4. on iOS in Lemur, go to settings and under OSC Targets, on OSC0, make sure, the ip adress for your host is correct and note your port. i use 9000 for now.
  5. go to the max patch. enter the port (e.g. 9000) for incoming messages
  6. the speedlimit limits the frequnecy of the output, since the raw value can be a bit much for the receiving app.
  7. see the output port of the max patch. (here: 9090)
  8. go to the vdmx settings. for input ports, add 9090.

done! download here:

Enter your name and email address to download

Name: Email:

Date posted: October 2, 2013 | Author:

Categories: blog