mixxx-launchpad
mixxx-launchpad copied to clipboard
Launchpad Pro MK3?
Hi! I've a Launchpad Pro MK3 and I'm looking to use it with Mixxx, and I'm up for helping with the process of getting this working, debugging and making PRs, though I'm not a programmer, just a scripter ;) My dream would be somehow to get 16 hotcues, but I realise that's something for further down the road. I've seen #13 and I'll begin the process of grokking the project as a side project.
- PDF: Launchpad Pro MK3 User Guide
- PDF: Launchpad Pro MK3 Programmer’s reference manual
- (PDF: MK2 Programmers / layout)
SysEx header:
- Hex Version: F0h 00h 20h 29h 02h 0Eh
- Decimal Version: 240 0 32 41 2 14
Selecting layouts:
- Hex Version: F0h 00h 20h 29h 02h 0Eh 00h <layout> <page> 00h F7h
- Decimal Version: 240 0 32 41 2 14 0 <layout> <page> 0 247
- Hex: 11h / Decimal: 17 --- Programmer Mode
Programmer Mode:
- Hex Version: F0h 00h 20h 29h 02h 0Eh 00h <layout> <page> 00h F7h
- Decimal Version: 240 0 32 41 2 14 0 <layout> <page> 0 247
Request the current layout:
- Hex Version: F0h 00h 20h 29h 02h 0Eh 00h F7h
- Decimal Version: 240 0 32 41 2 14 0 247
LED change:
- Ch. 1, Static Colour
- Notes
- Hex: 90h
- Decimal: 144
- CC
- Hex: B0h
- Decimal: 176
- Notes
- Ch. 2, Flashing Colour
- Notes
- Hex: 91h
- Decimal: 145
- CC
- Hex: B1h
- Decimal: 177
- Notes
- Ch. 3, Pulsing Colour
- Notes
- Hex: 92h
- Decimal: 146
- CC
- Hex: B2h
- Decimal: 178
- Notes
Lighting the lower left pad static red:
- Note On, Channel 1, Note number 0Bh (11), with Velocity 05h (5)
- Hex: 90h 0Bh 05h
- Dec: 144 11 5
Flashing the upper left pad green:
- Note On, Channel 2, Note number 51h (81), with Velocity 13h (19)
- Hex: 91h 51h 13h
- Dec: 145 81 19
Pulsing the lower right pad blue:
- Note On, Channel 3, Note number 12h (18), with Velocity 2Dh (45)
- Hex: 92h 12h 2Dh
- Dec: 146 18 45
Turning a colour off:
- Note Off (Note On with Velocity of zero), Channel 1, Note number 12h (18), with Velocity 00h (0)
- Hex: 90h 12h 00h
- Dec: 144 18 0 or
- Hex: 80h 12h 00h
- Dec: 128 18 0
LED lighting SysEx message
- Hex Version: F0h 00h 20h 29h 02h 0Eh 03h <Colour Spec> [ <Colour Spec> [_] ] F7h
- Decimal Version: 240 0 32 41 2 14 3 <Colour Spec> [ <Colour Spec> [_] ] 247
<Colour Spec> is structured as follows:
- Lighting type (1 byte)
- LED index (1 byte)
- Lighting data (1 – 3 bytes)
- Hex: 00h / Decimal: 0 --- Static colour from palette, Lighting data is 1 byte specifying palette entry.
- Hex: 01h / Decimal: 1 --- Flashing colour, Lighting data is 2 bytes specifying Colour B and Colour A.
- Hex: 02h / Decimal: 2 --- Pulsing colour, Lighting data is 1 byte specifying palette entry.
- Hex: 03h / Decimal: 3 --- RGB colour, Lighting data is 3 bytes for Red, Green and Blue (127: Max, 0: Min)
May contain up to 106 <Colour Spec> entries, e.g.;
- Hex: F0h 00h 20h 29h 02h 0Eh 03h 00h 0Bh 0Dh 01h 0Ch 15h 17h 02h 0Dh 25h F7h
- Dec: 240 0 32 41 2 14 3 0 11 13 1 12 21 23 2 13 37 247
It looks similar to Launchpad Mini MK3, just with more buttons. I would start by adapting the mini mk3 code. I think the main chunk of work here is to figure out what to do with the additional buttons. One idea from the top of my head is to use some of them to lay out effect units on the grid. I'm opinionated to support only button controls, but these could be button parameters / effect selectors, etc. E.g. we could have an effectSelector similar that is similar to the current channelSelector. We could make this customizable, on a Pro, that has enough buttons for both, both channels and effects could be laid out on the main grid (e.g top row: channel selector, left column: effect selector). For smaller controller, the user could customize to use the top row to any of these. Just one idea. The bottom rows could be used for UI controls for example.