launchpad-life


In a wanton disregard for productivity, I decided I wanted to interface with my old launchpad mk2. Once I had figured out the (rather basic) MIDI protocol the launchpad uses (including for pad color control), I had to figure out what I wanted to do with it.

"You should run Game of Life on that thing", said my roommate.

"There goes the better part of an evening", said I.


MIDI

The launchpad series of MIDI controllers use USB MIDI (shocking) to communicate.

Interesting, however, is the ability to control each touchpad's RGB LED via MIDI directly. One would assume the use of SysEx messages or soemthing to implement this behavior, but the launchpad uses standard NOTE_ON messages (on channel 16), and the VELOCITY byte dictates color (or "off"). I assume this is to ease in the making of "light shows" for the launchpad in stanard DAWs?

The mapping of velocity byte value to color honestly makes no sense to me. As confirmed by @The6P4C, there is a hardcoded lookup table for byte to RGB value.

So, armed with some brute-forced color constants and a stateful button implementation, it was off to the races.


Life

I set off to build the very simple B2/S23 life ruels first.