Novation Launchpad Mk2 Rust API


For Christmas, my lovely wife got me a Novation Launchpad Mk2. These are billed as the "iconic grid performance instrument", and some day I hope to actually make some music with it. Until then, its a really cool 9x9 button grid with RGB LEDs. Pefect for playing around with!

Launchpad Mk2

Luckily for me, this thing is basically perfect for hacking on. It uses MIDI to read button presses and control the lighting, so there is already low level driver support for both OSX and Linux. On top of that, they provide an API (pdf) document showing you how to do everything!

I chose the portmidi-rs bindings, because PortMidi is multiplatform. Unfortunately, there was a missing library call I needed to send more complex commands, but no worries, after a quick pull request, we were in business!

So far I've implemented a basic set of commands from the API document, as well as a demo that can be used to check that everything is working. So far I've tested it on OSX and Linux (x86 and on a Raspberry Pi).

Check it out on Github, read the documentation, or just watch the video:

I have a few ideas on how to build on this, including:

If you have a launchpad, and would like to contribute, please feel free to get in touch!