FMMT666 / launchpad.py

Novation Launchpad (and Midi Fighter) control suite for Python
Other
355 stars 63 forks source link

Any plans for supporting MidiFighter launchpads? #53

Closed danperks closed 4 years ago

FMMT666 commented 4 years ago

(googles MIDI Fighter) 500 Euro? Lel ...

If it isn't too much work and I can get my hands on one for a fraction of this, yes.

(500 bucks. Lol.)

danperks commented 4 years ago

The MIDI format is available online and if you want, I can send you some example inputs of all the buttons and motion (yes it sends MIDI based on its orientation). I already have most of it mapped out, but using rtmidi and mido including both receiving notes and sending colours. It's basic but could be useful for you if you want I can get the code uploaded.

FMMT666 commented 4 years ago

So, I ordered one ...

itbetterbegood :)

danperks commented 4 years ago

Ayy sounds good! Let me know if you need anything testing or working on, can test on both Windows and Linux if needed :+1:

FMMT666 commented 4 years ago

I added a MidiFighter64 class. Currently nothing in there, except for ButtonStateRaw()

If you have one of the small ones, that should work too, but maybe you could post the button numbers for this one.
Just either execute the new buttons_raw.py or midi_events.py demo.

Didn't check under macOS or Linux yet. In Windoze, the Midi fighter 64 appears as

Available MIDI devices:
 1 (b'MMSystem', b'Midi Fighter 64', 1, 0, 0)
 3 (b'MMSystem', b'Midi Fighter 64', 0, 1, 0)
danperks commented 4 years ago

So I did a lot of the manual labour on this already, the two different device entries are for input and output.

For controlling the lights, you send MIDI notes to the input device with a different note for which button to light up and a different velocity for the colours. The other one is the MIDI output of the buttons.

I have added a bunch of useful files that I made when playing with the MidiFighter 3D This is a mix of useful, potentially useful and absolutely useless code that you can use Those can be found here (be warned, it's messy code): https://github.com/danperks/MidiFighter3D-Mapping

debugRead.py can be used to get the raw data for each keypress set-colours-demos.py has some demos for setting the colours of each button too

Unfortunately, I'm in between laptops at the moment, so have no means of doing any real coding for at least a week but if you need anything clarifying, let me know.

FMMT666 commented 4 years ago

Added some more things, see the doc.

I would be interested in the MIDI names (see above), as they often differ in many OSs.

FMMT666 commented 4 years ago

Done. At least for the 64. Now with full button, LED and character/string scrolling support. Some limitations bc that thing doesn't support RGB and a "black color", aka off.

Maybe going to add some more devices, but only and definitely if I get them for half the price.

500 bucks. Lol.