launchpad.py icon indicating copy to clipboard operation
launchpad.py copied to clipboard

Must use "Pro Mk3" name to open connection to Launchpad Pro Mk3 on Raspberry Pi OS Buster

Open thre-z opened this issue 3 years ago • 3 comments

As a heads up, you must include the "Pro Mk3" name when checking or opening the Launchpad Pro Mk3 on Raspberry Pi OS Buster. This is with the default installation of Python 3.7.3 and Pygame 1.9.4 and using local launchpad.py (current 0.9.1). It's a fresh installation with nothing but an apt update && upgrade run.

Using the default check and open methods (such as in the hello.py example), the Launchpad is recognized only as a Pro and not a Pro Mk3. This results in no LED methods functioning properly, but button events fire properly with pressure.

This is the output from information.py:

Running...
 - OS      : posix
 - Platform: Linux
 - Release : 5.10.17-v7l+
 - Arch    : 32bit
 - struct  : 32
 - Python  : 3.7.3
 - PyGame  : 1.9.4.post1

Available MIDI devices:
 0 (b'ALSA', b'Midi Through Port-0', 0, 1, 0)
 1 (b'ALSA', b'Midi Through Port-0', 1, 0, 0)
 2 (b'ALSA', b'Launchpad Pro MK3 MIDI 1', 0, 1, 0)
 3 (b'ALSA', b'Launchpad Pro MK3 MIDI 1', 1, 0, 0)
 4 (b'ALSA', b'Launchpad Pro MK3 MIDI 2', 0, 1, 0)
 5 (b'ALSA', b'Launchpad Pro MK3 MIDI 2', 1, 0, 0)
 6 (b'ALSA', b'Launchpad Pro MK3 MIDI 3', 0, 1, 0)
 7 (b'ALSA', b'Launchpad Pro MK3 MIDI 3', 1, 0, 0)
cat /etc/os-release

PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Output from various methods:

print( launchpad.LaunchpadProMk3().Check( 0 ) ) #False
print( launchpad.LaunchpadPro().Check( 0 ) ) #True
print( launchpad.Launchpad().Check( 0 ) ) #True
print( launchpad.LaunchpadProMk3().Check( 0, "Pro Mk3") ) #True

lp = launchpad.LaunchpadProMk3()
print( lp.Check() ) #False
print( lp.Open() ) #False
print( lp.Check( 0 , "Pro Mk3" ) ) #True
print( lp.Open( 0, "Pro Mk3" ) ) #True

Using the Open(0, "Pro Mk3") does seem to work and my initial testing hasn't found any issues. I'll update if I come across anything.

thre-z avatar Jun 10 '21 15:06 thre-z

Confirmed that this is necessary but works on both the Raspberry Pi 4 Model B, and the Raspberry Pi Zero W.

thre-z avatar Jun 10 '21 16:06 thre-z

I know that my "documentation" sucks, because it's just onegiantbigfilemess, hehe, but that's written in there and also in the examples for the Pro Mk3:

Opening it with "0" will not work, yes. This shall be "1", because it comes with three MIDI-devices per Launchpad and we need the second one.

FMMT666 avatar Jul 10 '21 13:07 FMMT666

Hi. The same is needed with the Mini MK3; it has to be opened using name Mini MK3 (notice the capital 'K') instead of the default. Tested with a Raspberry Pi 3 the latest (as of december 2021) Raspbian.

MSmeets94 avatar Dec 22 '21 16:12 MSmeets94