Novation Launchpad Mk2 Rust API
2017-01-15For 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!
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:
- Some kind of Notification Board for things like public transit, weather
- Basic grid based boards, such as:
- Game of Life
- Battleship
- Minesweeper
If you have a launchpad, and would like to contribute, please feel free to get in touch!