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 mini mk3 recognized as generic/"Launchpad Mk1/S/Mini" #75

Open
jonathanhirz opened this issue Nov 12, 2021 · 3 comments
Open

Comments

@jonathanhirz
Copy link

jonathanhirz commented Nov 12, 2021

Hello. I have my launchpad mini mk3 hooked up to a raspberry pi zero w. Just trying to get a little light show going. When I run hello.py, it recognizes as "Launchpad Mk1/S/Mini", and only the top three buttons respond (Drums/Keys/User). I saw the note about compiling pygame from source, I tried that but it failed to build because of dependencies. If this is the solution, I will keep trying that, but if there's something else I am missing, and can just use pygame from apt, I would love the help. Thanks.

I tried changing some basic scripts around, here's the output from ListAll():

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 Mini MK3 MIDI 1', 0, 1, 0)
3 (b'ALSA', b'Launchpad Mini MK3 MIDI 1', 1, 0, 0)
4 (b'ALSA', b'Launchpad Mini MK3 MIDI 2', 0, 1, 0)
5 (b'ALSA', b'Launchpad Mini MK3 MIDI 2', 1, 0, 0)

Also tried launchpad_rgb.py, and that failed too. Output was:

Running...

  • Python 3.9.2
  • PyGame 1.9.6
  • No Launchpad available

So, something is weird and my launchpad isn't being recognized.

I'm trying to make a little 8x8 pixel animation led panel with parts I had lying around, and this seems like the perfect project to get that done, so thanks for making it!

@MSmeets94
Copy link

Hi,

We had the same issue. When checking and opening the port it checks for the name MiniMK3 which works correctly under Windows.

We however noticed it reports as Mini MK3 under linux. Quick and dirty fix / workaround is to use the following;

Instead of this :

elif launchpad.LaunchpadMiniMk3().Check( 1 ):
		lp = launchpad.LaunchpadMiniMk3()
		if lp.Open( 1 ):
			print("Launchpad Mini Mk3")
			mode = "Pro"

Extend the check to :

elif launchpad.LaunchpadMiniMk3().Check( 1 ) or launchpad.LaunchpadMiniMk3().Check( 1, "Mini MK3" ) :
		lp = launchpad.LaunchpadMiniMk3()
		if lp.Open( 1 ) or lp.Open( 1 , "Mini MK3"): 
			print("Launchpad Mini Mk3")
			mode = "Pro"

After which the MiniMK3 is correctly recognized.

@jonathanhirz
Copy link
Author

I haven't had a chance to check this out yet, but thank you for the help!

@FMMT666
Copy link
Owner

FMMT666 commented Jan 28, 2022

Sì, that's the "official" way to do this, as the names are different on every platform and distribution.

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

3 participants