Oct 15, 2010 - 17 Comments - Interactive systems, Music -

Macbook trackpad as controller for Ableton Live (with Max for Live) (Updated)

I was travelling in Colombia with just my laptop, and at some point I wanted to arrange some tracks in Live. I didn’t bring my Xio synth and didn’t have any control source around. I could use map the keys in my Macbook for triggering loops, but I also wanted to control continuous device parameters. Since I have a bluetooth mouse, I could use the trackpad of the Macbook to achieve it…

UPDATE: new version here.

The tools:

  • Tongseng: It’s a very simple and useful program which reads multiple touches (I believe glass trackpads in current Macbooks can track up to 11 fingers) and converts that into TUIO messages. You can select the destination address and port for the messages.
  • Max for Live
  • OSC patches for Max/MSP, from CNMAT, should be previously installed
  • Live (of course)

I programmed this Max for Live patch, which can be inserted in a MIDI channel. It listens to port 3333 for TUIO messages, and convert them into MIDI CC control data. It allows you to use the trackpad as either a group of 4 sliders (all of them can be used simultaneously), or 2 different x-y pads. The switch to select any of these functions can be assigned to a key, so it’s not necessary to use the mouse to do it. Max for Live always sends through MIDI channel 1, so I needed to use different continuous controllers, and to have some flexibility, I wanted to have 8 pages of controllers (first page uses MIDI CCs 1 to 4 for the faders, 5 and 6 for the first x-y pad and 7 and 8 for the second x-y pad; second page uses MIDI CCs 9 to 12 for the faders, 13 and 14 for the first x-y pad and 15 and 16 for the second x-y pad and so on). First, I wanted to use a max.tab to display the page, but this patch allows to map only one key to it. When you press the key it will switch to the next value. I wanted direct access to every page using keys 1-8, so I had to use max.button patches instead, and the max.tab for displaying. The trick is that first you should map the keys to the buttons…

… and then hide-on-lock the buttons (Command+K) and leave only the max.tab patch in the vissible area of the Max for Live plugin.

This way the interface works and looks pretty neat. Next step is to assign the MIDI controlls in the usual way. I included a “Send X” switch for every x-y pad in order to make the mapping easier, because sometimes is difficult to transmit only one CC if both x and y are active.

Don’t forget to deactivate the touchpad using the Universal Access preference pane, which can be found in the System Settings:

You might want to edit the patch to fit your needs (for example, to add more pages, change the controller number ranges, etc.). It would be nice if you share any cool modifications you make!

Update: A max for live patch sends MIDI data internally to Live, so I’m using the IAC driver to resend the data to Live. You have to activate at least one IAC port, and activate it as a remote control source in Preferencies/MIDI-Sync (if you are reading this I suppose you know how to it), and then route the output of the MIDI channel where you inserted the Max for Live patch:

That’s it.

Feel free to contact me or comment here if you have any questions.

Thanks for reading!

17 Responses to Macbook trackpad as controller for Ableton Live (with Max for Live) (Updated)

  1. Ableton Support » Macbook trackpad as controller for Ableton Live (with Max for Live …

    […] Visit link: Macbook trackpad as controller for Ableton Live (with Max for Live … […]

    21 Sep 2010 - Reply
  2. Darren E Cowley

    Hi Mate,

    Great work, cant get it working yet but i will…

    Workround for the mapping issue you have with hide on lock…

    For the Live.Tab object right click it and send to back, you might want to select the option ignore on click as well….

    Then on the live.buttons enter the colour properties of all of them and move the fourth slider all the way to the left for each colour making them invisible, then you can size them and place them over the individual tabs and voila you have what seems to be an individually mappable live.tab

    Cheers
    D

    darrenecowley at sky dot com

    21 Sep 2010 - Reply
    • JP

      Great idea!
      I’ll include it in a forthcoming version of the patch.
      Thanks!

      JP

      22 Sep 2010 -
  3. soolee

    cool ideas.
    thank you.

    23 Sep 2010 - Reply
    • JP

      Thank you for reading!

      2 Oct 2010 -
  4. lisport

    I’m dying to get this to work but i must be doing something wrong. tonseng is running but it doesn’t seem like i’m receiving midi from the touchpad. i have reaktor after the patch in the chain with skrewell ensemble and xy variables in cc 5 and 6. i selected the first layer so that the 1st xypad corresponds to those cc’s but nada. couldnt get the send x to work either, guess I must be missing something obvious. any suggestions?

    24 Sep 2010 - Reply
    • JP

      Hi.
      I updated my post. I think the solution could be there now.
      Hope it helps!

      25 Sep 2010 -
  5. Zac

    JP,

    I have followed the directions as closely as I can, but I can’t get Ableton to recognize any MIDI input. Do you have a step by step process to get this to work correctly? I have activated IAC bus on my Mac, but I’m not exactly sure what to do in Ableton to get it to work correctly. I can provide you with screenshots if you want. My email address is zacingraham@gmail.com – I would really love to get this working.

    30 Sep 2010 - Reply
    • JP

      It might be the case that you have not installed the CNMAT patches, which are necessary (or at least important) for working with OSC in Max/MSP. You can download them from here:
      http://cnmat.berkeley.edu/patch/4029
      (I also updated the post with this information)

      JP

      2 Oct 2010 -
  6. zarbeat

    Hi there JP I cant seem to figure this onw out 🙁 I have already downloaded the CNMAT pack ,Tongseng and create the IAC driver followed everything step by step and nothing
    🙁 I just cant seem to find the folder where M4L stores the Search Path ? Im trying to add the CNMAT package but I simply cant do it 🙁 any help would be appreciate it 😉

    21 Oct 2010 - Reply
  7. julien

    sometimes, udpreceive + udpsend native objects are very enough.
    I tested that in some cases, cnmat stuff is requires, in other cases not!

    did you try without TUIO interface and directly with an hi object?

    all the best,
    julien

    27 Oct 2010 - Reply
    • JP

      You are right about updsend/receive. I’ll tweak the next version of the controller to just use those. I don’t think (or have not yet found) a HID driver for touchpads which supports multitouch. That’s why I decided to use Tongseng. Besides that, Tongseng is free and open source, and doesn’t use much system resources.

      Thanks for commenting!

      JP

      2 Nov 2010 -
  8. Touchpad controller updated and enhanced! | JP Carrascal

    […] still requires an unibody Macbook. I suggest you to read my original post for installation […]

    17 Jan 2011 - Reply
  9. Lukács Áron

    where is the donate button?

    19 Jan 2011 - Reply
  10. Le trackpad de votre Macbook contrôle Ableton Live | DUALLOOP

    […] ce que vous pouvez faire avec ce petit patch est expliqué en anglais, mais aussi en images, sur le blog de Carrascal, ainsi que les liens pour télécharger Tongseng et le patch. Vous pouvez même éditer le patch […]

    4 Feb 2011 - Reply
  11. Josh Grzech

    So is there anyway to use an external trackpad i.e. a drawing tablet?

    16 May 2016 - Reply
    • JP

      Not really. It might work with the magic trackpad, but I haven’t tested it yet. However there is another solution you might use. Check out Osculator (www.osculator.net). It supports several devices, including some Wacom tablets.
      I hope this helps!

      JP

      16 May 2016 -

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.