Ableton releases full MIDI and display spec for Push 2
In an unprecedented move from the Berlin based giant Ableton, today sees the publication of the Ableton Push 2 MIDI and Display Interface Manual.
Previously, manufacturers like Novation have gained credibility by producing Programmers Reference Documents for their controllers like the LaunchPad PRO and synths like the Circuit. The intent has been to enable the more creative/geeky elements of the marketplace to get deep into the firmware of their product and re-appropriate the usage to other programs beyond the main staples of Live and Logic. An example of this would be Gridlock from Sigabort that enables the user to create their own mappings for use in virtually any software that accepts a MIDI input.
The benefits to the manufacturer are obvious — research and development budgets only stretch so far when it comes to building compatibility for different software packages. The obvious choices are usually taken care of, but if you don’t like the way they’ve been implemented, you get given the keys to the pandoras box to open the hardware up and make it behave like a new person. Who knows… the more savvy customer may even buy a unit based on what they might be able to do with it following a little bit of effort.
So what’s the story here then? Well Ableton have for years been open to users getting inside their software, the Live API was originally published and gave birth to a community of hackers. With the release of Maxforlive marking the official starting point of enacting with Live under the hood, developers like myself started to find new ways to use old controllers. But as with all new developments, people continually asked for more. And with each subsequent release, a new element would be exposed but nothing generally that exciting.
PARADIGM SHIFTING ABLETON PUSH 2
That all changed when Push 2 landed. A new version of Simpler came with it as well, but no details of how to control the Push 2 in anything other than Live. It works as a standard MIDI Controller outside of Live (and a very damned sexy one at that), but within it the integration is second to none bringing amongst other improvements a solid sampling workflow to the DAW as demonstrated ably here by the excellent Ski Oakenfull of Point Blank.
Using MaxforLive with a control surface such as Push 2 remains to this day undocumented. It’s probably (and don’t quote me) a result of the continual development with each new beta refining or adding new features to Ableton’s flagship controller. Who in their right mind would sit down and document everything in the knowledge that in a month everything might have changed? And whilst we wait for the day that we see something published in this regard (which might signal the end of future development, so be careful what you wish for), today’s publication of the Push 2 Manual is a welcome step in the openness that Ableton are famed for.
The manual itself has been published on Github which would suggest that there could be more to come and its purpose is best summed up by the Ableton development team themselves…
The most common way to use Push 2 is with Ableton Live. When Live sees the device, it automatically starts the “Push 2 script”, which provides all the well-known functions of Push 2. Some users don’t want to limit their use of Push 2 to these standard functions, though. They want to develop their own extensions or applications. These communicate with the Push 2 device either from within Live (for example, from Max for Live) or from external applications, which either run in parallel to Live or standalone.
This document is intended to give the necessary information into the hands of technically skilled people who want to build such customized applications. The described interfaces allow to control the Push 2 LEDs and the display as well as to receive events from the controls like buttons, pads, encoders etc. Also, commands suitable to modify the default settings of the device are documented, for example to set color table entries, pad curves etc.
Some parts of the interface are not intended for public use and are therefore not documented. This mainly concerns things that could damage the device, like hacked firmware updates, or that could destroy calibration data gathered by measurements in the factory and saved in the Push 2 flash memory. There are some diagnostic features which are not documented, because they might be changed by Ableton whenever needed, are not tested as thoroughly as the documented functions and usually put an extra burden on the device that could compromise some of the regular functions. Please, don’t try to program the Push 2 MIDI interface yourself if you can’t make sure that undocumented or reserved commands and arguments are avoided.
Being able to control the LEDs is one of the first things to learn, but the publication of how to interact with that gorgeous screen is going to see people come up with some superb advancements for this controller like having your Session View represented on it or even watching films on it (in severe letterbox view with the sound off of course). I’m sure someone is going to come up with a Launchpad-like Light show equivalent for it pretty soon!
This probably isn’t for everyone, but it is a very welcome step that I wish all manufacturers would take when releasing gear. No singular R&D department can exhaust every use case, so why not make it easy for the community to come up with the rest?
So now the doors been pushed open (I see what you did there… Ed), what would you want to do with this controller? Is it suited for Traktor, or are you going to come up with a Serato DJ Mapping to die for?