This year has been a most fortunate year.  Live 9 was released, and Max For Live was included with Suite.  Then, at the end of April, I received an iPad on loan.  Of course, the first thing that came to mind was “touch screen controller,” and to my delight, JazzMutant’s Lemur had been ported to the iPad by Liine.  I bought the app and got to work.

The Lemur comes standard with the ability to send data to the rest of the world with two protocols, MIDI and OSC.  After spending some time going through everything, I concluded MIDI would use too many channels, have too low of precision, and worse of all, require the user to map the controller with every project.  ew.  Enter OSC.  OSC, as it turns out, is a handy protocol that transmits data via UDP between networked devices.  It follows a neat /tree/branch/twig addressing system, and handles data types seemingly normally.

So we set up our Lemur project to send out OSC and we’re ready for a whole new dimension in Live.  right?  well no.  Ableton has not incorporated an interface for this protocol, so no matter how neat the messages look, Live doesn’t understand them.  Enter Max For Live and the Live Object Model.  With these two things, Ableton has given us the ability to get past the UI and interface with Live in a completely immerse way.  I had never used a Max plugin, let alone programmed one, so it was time to hit the books.

The internet was able to provide me with a series of videos by Loudon Stearns of Berklee as well as a couple videos relating to UDP data transfers.  The rest of the knowledge I gathered came directly from the Max objects’ help files.

And so I designed, patched, coded, and debugged until I came up with Mixer, an interface with the sole purpose of taking the mixing out of the box and into the users’ hands, rich with feedback information and smooth control over his/her Live project.


Mixer allows the user to control all the standard mixing duties, enables set up of channel routings and channel monitoring states, provides visual feedback of a channel’s name, output level, and track type (purple outline means it’s a group track and white outline means it’s a MIDI track), and allows for transport control.

This is version 1.0, so there are some improvements mapped out for the future.  These are as follows:

  1. Pop up menu for mixer segment selection (currently, the user can only tab left or right)
  2. Master mixer segment with return channels
  3. Greater than 32 item support for menus
  4. Focusing Live’s selected channel to channel being controlled on the Lemur
  5. IP/Port DB to “set and forget”
  6. Ability to fold/unfold group tracks

As it stands, Mixer is available to everyone that has Ableton Live 9, Max For Live, and Liine’s Lemur for the iPad.  As I am not Ableton, Cycling ’74, or Liine, don’t expect timely support, if any.  You should use the “Pixel” skin on Lemur; others will work, but this one looks the best.  Lastly, Mixer hasn’t been tested in prior versions of Live or Max.

So without further ado – Mixer_1.0.zip

//notes as of 6/30/13: download has been updated to correct a bug where the send pot would stop functioning properly under certain circumstances.

To get up and running, follow these steps:

  1. Connect the iPad to your Workstation via a LAN and set your Workstation’s IP address under OSC 0 in the OSC Targets area. (more info at http://liine.net/en/support/lemur)
  2. Load Mixer.jzml into Lemur
  3. Create a MIDI channel and load Mixer.amxd into it
  4. Enter your iPad’s IP address and port number into the Max For Live effect and hit “Connect”

Presto!  Your Lemur should now resemble your Live project.

If you find this tool useful, please consider sending a donation via PayPal.


4 thoughts on “Mixer

  1. Hi Mat, thank you very much for sharing this great creation…. I have tried every one of your instructions, and it still does not work… could you please help me? is there a tutorial? maybe I am doing something wrong… thank you!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s