Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Launchpad Pro MK3? #85

Open
mxmilkiib opened this issue Feb 14, 2024 · 2 comments
Open

Launchpad Pro MK3? #85

mxmilkiib opened this issue Feb 14, 2024 · 2 comments

Comments

@mxmilkiib
Copy link

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.

@mxmilkiib
Copy link
Author

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

image

image
image

LED change:

  • Ch. 1, Static Colour
    • Notes
      • Hex: 90h
      • Decimal: 144
    • CC
      • Hex: B0h
      • Decimal: 176
  • Ch. 2, Flashing Colour
    • Notes
      • Hex: 91h
      • Decimal: 145
    • CC
      • Hex: B1h
      • Decimal: 177
  • Ch. 3, Pulsing Colour
    • Notes
      • Hex: 92h
      • Decimal: 146
    • CC
      • Hex: B2h
      • Decimal: 178

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

@dszakallas
Copy link
Owner

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants