
Just picked up a novation launchpad the other day (the cheap massproduced monome-esque midi controller), after getting totally hooked on using it in ableton live i decided do decode the messages, this is my findings…
Receiving data from the device
The device sends standard midi events (and does not in any way require the automap software to enable it to use other software than ableton live), and it’s 100% computer controlled, no magic control logic is in the device
the device sends note-on for most of the buttons pressed except for the top row which sends controller messages for some reason.
the uppermost row (up down left right session user1 user2 mixer) sends values over
controller 104 to 111, value 127 for button down and value 0 for button up
the eight cells below and the rightmost column (ninth column) are accessed thru noteon/noteoff events by adressing the cells by note-values. row 0 starts at note 0, row 0 starts at note 16 and so forth, so adressing the cells are quite easy.
note = (row * 16) + column.

Controlling the pixels
To set the colors of the pixels, just send a color value as a velocity to a note-on event, or if you want to control the uppermost row, by sending controller values to the controllers on that row.
The color value is calculated like this:
colorvalue = (green *
+ red;
where green is a value between 0 and 7, and red is a value between 0 and 3, which makes up a total of 32 different color combinations, but it looks more like 16
happy hacking!
more info on the monome clone: ableton, engadget, audiomidiblog, createdigitalmusic
and of course novation already released a programmers reference, because i typed this up… available at the
launchpad support site

