heronarts / LX

Core library for 3D LED lighting engines
https://chromatik.co/
Other
41 stars 25 forks source link

DJM900nxs2 midi surface #21

Closed jkbelcher closed 5 years ago

jkbelcher commented 5 years ago

Pioneer DJM900-NXS2 midi surface, first attempt. All MIDI controls values are identified but only EQ, color levels, and basic faders are mapped to parameters.

mcslee commented 5 years ago

Sorry took me a minute to get to this. Looks good, FYI I'll change a few things after I accept it and shoot you a pointer to what I've done. The parameters shouldn't be CompoundParameter because nothing else should be modulating these... they should always be raw values used to modulate other stuff (it's not really a problem for them to be compound, just a matter of semantics).

Also gonna introduce an enum for the channel numbers because the 1-5 for loops and channel-1 stuff makes me feel a touch icky.

Thx for mapping this all out!

mcslee commented 5 years ago

FYI - changes. I haven't tested since I don't have a DJM900. Huge apologies if I broke anything here. But I think this should be a little more robust to indexing-bugs with the Channel thing spelling out more explicitly what's a 1-4 "user-facing" number and what's an array index. https://github.com/heronarts/LX/commit/c2b73b334ab9930514580474ffd3f9aaf99028ce

jkbelcher commented 5 years ago

Excellent.