For years, the criticism of laptops has been about their displays – blue light on your face and that sense that a performer is checking email. But what if the problem isn’t the display, but the location of the display? Because being able to output video to your hardware, while you turn knobs and hit pads, could prove pretty darned useful.

Push 2 video output

And so that makes this latest hack really cool. 60 fps(!) video can now stream over a USB cable to Ableton’s Push 2 hardware. You’ll need some way of creating that video texture, but that’s there in Max for Live’s Jitter objects.

David Butler’s imp.push object, out last week, makes short work of this.

The ingredients that made this possible:
1. Ableton’s API documentation for Push 2, available now on GitHub thanks to Ableton and a lot of hard work by Ralf Suckow.

2. libusb

Learn more at this blog post:
imp.push Beta Released

Get the latest version (or collaborate) at GitHub

Next up on his to-do list – what to do with those RGB pads.

Here’s an impressive video from Cycling ’74 — scooped us on this story last week, hat tip to them.

Thanks to Bjorn Vayner for the tip!


Push 2 mappings

And while you’re finding cool stuff to do to expand your Push 2 capabilities, don’t miss this free set of scripts.

Ubermap is a free and open source script for Push 2 designed to let you map VST and AU plug-ins to your Push controller. What’s great about this is that there’s no middle man – nothing like Komplete Kontrol running between you and your plug-in, just direct mapping of parameters. It’s not as powerful or extensive as the Isotonik tool we covered last week, and it’s limited to Push 2 (with some Push 1 support), so you’ll still want to go that route if you fancy using other controller hardware. But the two can be viewed as complementary, particularly as all of this is possible because of Ableton’s API documentation.

You can find the scripts on the Ableton forum:

Ubermap for Push 2 (VST/AU parameter remapping)

There are links there to more documentation and tips on configuration of various plug-ins. Or to grab everything directly, head to GitHub:

Now, let’s hope this paves the way for more native support in future releases of Live, and some sort of interface for doing this in the software without custom scripts. But there’s no reason to wait – these solutions do work now.


Ableton just released every last detail of how Push 2 works

You can now access the Push 2 display from Max

Ableton hacks: map anything, even Kontakt and Reaktor

  • When I read the lead paragraph I thought you were going to announce a head-up display hack. Miniprojectors beam nodes onto a panoramic plexiglass face shield. The audience see the performers face mapped in neon hieroglyphics, you snatch at luminous funky phantoms like an escaped mental patient wrestling with demons.

  • James

    There’s a community-consensus mapping which can be installed for all native devices without Ubermap. However, I thought ableton revisited this with the release of push 2, no? the instant mapping is more pragmatically hands-on, and with dynamic parameter banks, I’m not even sure if changing the will sum it up. (Now if more m4l developers put some consideration into the order of the identifiers for their parameters that would solve itself as well.)

  • Bwax

    Love Ableton and Push 2, but I’ll never understand why they continually drop the ball five yards from the goal line and leave it to third parties to score the touchdown on things like this. Did they really think those static and generic Bank 1, Bank 2, etc. would be enough for users? Frustrating.

  • Tom Duncalf

    Thanks for mentioning my Ubermap script. I’ve got quite a few ideas for improvements, both in terms of ease of use and functionality, which I’ll hopefully get to implementing in the next few weeks – keep an eye on the thread, Github or I’ve created a Twitter account,, for updates. Cheers and hope you enjoy!

  • PaulDavisTheFirst

    For whatever it’s worth, Ableton’s impressive documentation job has allowed us to recently add Push 2 support to Ardour (& Mixbus). You’ll probably see it in the next release. For the video display, we draw what we want using Cairo (a C/C++ 2D drawing library) and then blit to the device via libusb. It’s super spiffy. We are only rendering at 25fps right now, but that could trivially change if we found a reason to do so.