openAVproductions / openAV-Luppp

Luppp is a live performance tool, created by OpenAV productions.
http://openavproductions.com/luppp
GNU General Public License v3.0
257 stars 45 forks source link

Launchpad X support #309

Open wvengen opened 4 years ago

wvengen commented 4 years ago

It would be great if the Launchpad X (manual, programmer's reference manual) would be supported out of the box.

One part would be a ctlr file.

But there's something else: when pressing the Session key (in Live mode), nothing seems to happen. It looks like the Launchpad X expects something to be sent back before it enters the Session mode.

Related: #19, #79.

wvengen commented 4 years ago

image

wvengen commented 4 years ago

After manually sending the SysEx command, one can use the following ctrl file. Mixer mode doesn't work yet, (I wonder if it needs a daemon to switch to it, or if my SysEx is wrong): launchpad_x.ctlr.txt (and a script to generate it).

wvengen commented 4 years ago

I created Luppp patches (in this repo) to:

launchpad_x.ctlr.txt (controller file) gen_launchpad_x.py.txt (python script to generate the controller file) daemon.py.txt (daemon to handle fader mode)

harryhaaren commented 4 years ago

Hi @wvengen - awesome work - thanks for the PRs! I've merge the Ninja build version fix - so Travis should provide good results now. Re-running the "Add MIDI Connect" PR travis gives some errors on missing includes (jack_port_t undeclared). After a quick review - I'd be happy to merge once Travis etc are happy. Regards, -Harry

wvengen commented 4 years ago

Thanks @harryhaaren! Looking forward to your review - if you agree with the approach, I'll polish them up (like making echo work for more actions, rebase for CI fix).

wvengen commented 4 years ago

To use the four mixers on the Launchpad X, you can use https://github.com/wvengen/lpx-controller Together with #310 and this ctlr it allows one to control Luppp volume/pan/sends.

With this program, #311 isn't needed, but #311 is still useful for using the Launchpad X without another program to run in the background.