Button problems with Launchpad Mini Mk2

Discuss your workplace, instruments, amps, and any other gear.

Moderators: MattKingUSA, khz

Post Reply
1987cp
Established Member
Posts: 9
Joined: Tue Mar 12, 2024 3:05 pm
Has thanked: 1 time

Button problems with Launchpad Mini Mk2

Post by 1987cp »

Some quick background: my only use for computer music at this time is as a virtual pipe organ, used for live performance only. I have had good success so far using GrandOrgue on Win7, Debian 12, and Debian 11, and found what controllers I use easy to configure. Mainly so far I have used a Keystation 49 (to which I have now added a used KeyStudio 49 to control a second manual), and a simple keypad (https://www.amazon.com/gp/product/B09CH3BJ77/)to configure shortcuts for registration presets. I have had success mapping the extra buttons on the Keystation MkIII to anything I like, however I like, and have managed to do the same with the sustain pedal.

I want to use my new Launchpad Mini Mk2 to control individual organ stops and couplers, which means I need all the buttons to function as toggle controls - push it once and the control comes on, and push it again to turn it off. I have had no trouble mapping buttons to virtual controls using the "complex MIDI setup" routine where you first show the program the action you want in order to turn something on, and then what you want to do to turn it off. However, only the top row of round buttons is willing to actually work as toggles! Every other button I have tried wants to be a simple on/off - so pressing it turns an organ stop or coupler ON, and releasing it immediately turns it back OFF. So I effectively have only eight buttons.

I've found lots online about using Launchpads with proprietary software, and one video showing how to use secret menus on the device (that I can't seem to find right now), and found it mostly just confusing. I'm not ambitious enough right now to worry about having buttons light up at all (which they currently don't), but I do need them all to work as toggles, and if I can do that without having to monkey with other software packages that'd be great. Anyone know how to do this?

User avatar
sysrqer
Established Member
Posts: 2543
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 328 times
Been thanked: 155 times
Contact:

Re: Button problems with Launchpad Mini Mk2

Post by sysrqer »

I think you should be able to do this with https://github.com/mididings/mididings

I did something similar with my Mk2.

1987cp
Established Member
Posts: 9
Joined: Tue Mar 12, 2024 3:05 pm
Has thanked: 1 time

Re: Button problems with Launchpad Mini Mk2

Post by 1987cp »

Ooh, I have really bad luck installing stuff that's not a Debian package.

Installed pip, ran:

Code: Select all

 pip install mididings

It says:

Code: Select all

Collecting mididings
  Downloading mididings-20230114.tar.gz (176 kB)
     |████████████████████████████████| 176 kB 1.4 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmptce15kea_in_process.py get_requires_for_build_wheel /tmp/tmp20wh_jfa
       cwd: /tmp/pip-install-k2kd7lev/mididings_433d7205d5ba438bbfb4ec359b438ec8
  Complete output (1 lines):
  couldn't find package 'alsa'
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/5f/c4/c4e9f83076557968106a9217d832be90244e3f91111c4b5d32e963ec9a43/mididings-20230114.tar.gz#sha256=b63fa2ec380075f89da72747d83c3e130e4202e545442da44e249b79b751f29a (from https://pypi.org/simple/mididings/) (requires-python:>=3.7). Command errored out with exit status 1: /usr/bin/python3 /tmp/tmptce15kea_in_process.py get_requires_for_build_wheel /tmp/tmp20wh_jfa Check the logs for full command output.
  Downloading mididings-20230111.tar.gz (176 kB)
     |████████████████████████████████| 176 kB 1.5 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmpytgv_m3l_in_process.py get_requires_for_build_wheel /tmp/tmpfc5k9f38
       cwd: /tmp/pip-install-k2kd7lev/mididings_42ca5908000b4253a4e4a850a215cbb4
  Complete output (1 lines):
  couldn't find package 'alsa'
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/df/af/6219ce8ac4573a0b5c8b35b89ff3801879b5bb8a931453121c41e7b148d1/mididings-20230111.tar.gz#sha256=1c12d8c8d78e759c30487ecc360a86f45f1f8240c8255551ac3482da42061b3a (from https://pypi.org/simple/mididings/) (requires-python:>=3.7). Command errored out with exit status 1: /usr/bin/python3 /tmp/tmpytgv_m3l_in_process.py get_requires_for_build_wheel /tmp/tmpfc5k9f38 Check the logs for full command output.
  Downloading mididings-20221230.tar.gz (161 kB)
     |████████████████████████████████| 161 kB 1.5 MB/s 
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-k2kd7lev/mididings_d85e46ef07af46268402514d84e39bb8/setup.py'"'"'; __file__='"'"'/tmp/pip-install-k2kd7lev/mididings_d85e46ef07af46268402514d84e39bb8/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-9qj_8y52
         cwd: /tmp/pip-install-k2kd7lev/mididings_d85e46ef07af46268402514d84e39bb8/
    Complete output (1 lines):
    couldn't find package 'alsa'
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/72/bd/e8776eb910fc056905ee9634df90dc32c146e59dcf08bb9fca2f7d018707/mididings-20221230.tar.gz#sha256=1d27a325d52be75b24611aac28de7975eb29a5e0a85a5b64e2ec357b812c62d5 (from https://pypi.org/simple/mididings/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement mididings
ERROR: No matching distribution found for mididings

Also tried after installing python-2, same result or near enough that I can't tell the difference.

GrandOrgue uses Alsa, so it must be on the system ... I can also get minimal information by running "alsamixer" (which was how I once discovered my left interface channel had been turned way down).

I also tried something called novalpdrv, which seemed to install but did not give the prescribed behavior (/dev/nlp0 appears when device plugged in).

User avatar
sysrqer
Established Member
Posts: 2543
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 328 times
Been thanked: 155 times
Contact:

Re: Button problems with Launchpad Mini Mk2

Post by sysrqer »

Unless anyone here knows, I would post on the issue page of github, the developer was quick to respond and friendly from what I remember.

1987cp
Established Member
Posts: 9
Joined: Tue Mar 12, 2024 3:05 pm
Has thanked: 1 time

Re: Button problems with Launchpad Mini Mk2

Post by 1987cp »

I'll try to find out how to do that. Though in all honesty, I have trouble installing most programs on Linux.

Interesting: I spent some time with this device on a Windows computer, and can't seem to make any headway either. There are a couple of packages people have put out there that don't seem to want to run on the computer I have access to. I even tried launching Ableton Lite, and couldn't do anything with it other than the initial configuration thingy.

I did discover the concept of something called a MIDI translator. That sounds promising - if I'm stuck with the device sending the wrong kinds of signals, but I can get the right kind of signals into the program, that might work!

User avatar
sysrqer
Established Member
Posts: 2543
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 328 times
Been thanked: 155 times
Contact:

Re: Button problems with Launchpad Mini Mk2

Post by sysrqer »

1987cp wrote: Fri May 03, 2024 11:12 pm

I'll try to find out how to do that.

https://github.com/mididings/mididings/issues/new
Create an account if you don't have one and post there.

1987cp wrote: Fri May 03, 2024 11:12 pm

I did discover the concept of something called a MIDI translator. That sounds promising - if I'm stuck with the device sending the wrong kinds of signals, but I can get the right kind of signals into the program, that might work!

That's exactly what mididings is (amongst other things).

User avatar
sysrqer
Established Member
Posts: 2543
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 328 times
Been thanked: 155 times
Contact:

Re: Button problems with Launchpad Mini Mk2

Post by sysrqer »

Have you tried this? https://github.com/agraef/midizap
I think this is what I actually meant to link to rather than mididings :oops:

1987cp
Established Member
Posts: 9
Joined: Tue Mar 12, 2024 3:05 pm
Has thanked: 1 time

Re: Button problems with Launchpad Mini Mk2

Post by 1987cp »

Not sure if this is progress or not ... I seem to have managed to install midimonster, just not sure yet how to identify what needs to be included in the configuration file they speak of on the midimonster website. Same with a2jmidid, if that's useful, and that shows up on the Qjackctl graph. I also found I can link the Launchpad to itself in Qjackctl, with the result that the keys light up when pressed. Not useful by itself, but interesting.

I'll have another go with mididings and also read about midizap. I assume it's another alternative to do something similar, and one works for some people and others need the other one?

Meanwhile, FWIW, aconnect -l produces:

Code: Select all

client 0: 'System' [type=kernel]
    0 'Timer           '
    1 'Announce        '
client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
	Connecting To: 14:0, 20:0
	Connected From: 20:0, 14:0
client 20: 'Launchpad Mini' [type=kernel,card=1]
    0 'Launchpad Mini MIDI 1'
	Connecting To: 20:0, 14:0
	Connected From: 20:0, 14:0
1987cp
Established Member
Posts: 9
Joined: Tue Mar 12, 2024 3:05 pm
Has thanked: 1 time

Re: Button problems with Launchpad Mini Mk2

Post by 1987cp »

Okay, I have Midizap, and it appears in Qjackctl.

User avatar
noedig
Established Member
Posts: 240
Joined: Wed Feb 12, 2014 4:39 am
Location: South Africa
Has thanked: 9 times
Been thanked: 54 times

Re: Button problems with Launchpad Mini Mk2

Post by noedig »

QMidiRoute provides a simple GUI for filtering and modifying MIDI events. Maybe you can block noteoff events (assuming that's why buttons toggle on and off when pressed).

You could try this Mididings fork, I tried to fix some compilation issues due to the original project being out of date with newer Python versions.
https://github.com/noedigcode/mididings
(You'd have to compile it yourself though, but it is pretty straight forward.)

Konfyt provides scripting to modify MIDI events. You could set it up with a single patch with a MIDI output port connected to GrandOrgue, and edit the output port's MIDI script to block noteoffs, or whatever is required to make the MIDI messages compatible with GrandOrgue.
https://github.com/noedigcode/konfyt

1987cp
Established Member
Posts: 9
Joined: Tue Mar 12, 2024 3:05 pm
Has thanked: 1 time

Re: Button problems with Launchpad Mini Mk2

Post by 1987cp »

Well! Between Qjackctl's Graph view and QMidiRoute, I seem to have gotten it working!

Oddly, it worked immediately on my desktop computer (Debian 12) when I just told QMR to convert "Note" to "Controller".

With my laptop I use for playing (Debian 11), for some reason I had to fiddle with it a good bit, try different inputs/outputs, but it worked. For some reason when I first got it working I had set the QMR "Controller" output values to "1" and "1", then made the assignment in GrandOrgue, and then had to change the output values to "0", "1". But after setting a few it started just working.

One slight oddness, a few random buttons aren't behaving like the rest and don't register anything during the "Complex MIDI setup" routine in GrandOrgue - but with 64 to choose from it doesn't really matter much at this point! :-)

I think I've successfully saved the QMidiRoute configuration, but do I have to do anything to save my configuration from Qjackctl? For now I'm taking some screenshots in case I have to replicate everything, and assuming I may have to manually start QMR and QJC before starting GrandOrgue.

Post Reply