helgoboss / helgobox

Helgobox: ReaLearn & Playtime
https://www.helgoboss.org/projects/helgobox
GNU General Public License v3.0
204 stars 20 forks source link

Playtime doesn't auto-detect Novation Launchpad Pro with family ID "00 FF" #939

Closed ndbroadbent closed 1 month ago

ndbroadbent commented 1 month ago

Hello! I've bought a license for Playtime 2 and I would love to use my Novation Launchpad Pro MK2 to control it. I'm struggling to figure out how to get it working.

The ReaLearn => Controllers page is blank in the settings:

Screenshot 2024-07-22 at 4 52 06 PM

I found the "Launchpad Pro mk2 - Live mode" controller preset in the Helgobox / ReaLearn plugin settings, but this doesn't seem to do anything:

Screenshot 2024-07-22 at 4 54 17 PM

Is there a way to get the buttons and LED lights on my Launchpad Pro MK2 in sync with Playtime 2? Thanks!

Is my controller supposed to show up automatically in the ReaLearn => Controllers page?

Here's a screenshot of my MIDI hardware settings in REAPER:

Screenshot 2024-07-22 at 5 03 11 PM
helgoboss commented 1 month ago

Hi, this controller should be detected by Playtime 2 automatically. For this to work, you need to do this:

  1. Set input back to FX input and output to None (the auto detection is only used if you don't already use the controller explicitly in ReaLearn). On this occasion, you can also set the controller preset and main preset to None.
  2. Disconnect the controller for a few secs
  3. Connect it again (the auto detection currently only reacts to newly connected controllers)

I'm closing this now but feel free to comment to this ticket if this doesn't work for you!

That the "Controllers" panel is completely empty if no controller is set up yet, is bug #940.

ndbroadbent commented 1 month ago

Hi @helgoboss, thanks for your help! Unfortunately these steps didn't work for me.

I've tried unplugging the USB cable for a few seconds and plugging it back in. I also tried turning it off and then turning it back on, then selecting "Live" mode.

I'm using a Apple MacBook M2 Pro. I can also confirm that the launchpad works fine normally and can be used to trigger MIDI events for Battery 4 drum kits, etc. I'm not sure if this is relevant, but I've connected the launchpad via a 4-port USB hub, and it's not directly plugged into the laptop's USB-C port.

ndbroadbent commented 1 month ago

I was taking a look at the available controller options in Ableton Live Lite, and I'm a bit confused about the "MK2" -

Screenshot 2024-07-23 at 12 39 53 PM

I think I might just have a "Launchpad Pro" (not a "Launchpad MK2"). Thanks!

helgoboss commented 1 month ago

I think you have the correct Launchpad, I might have named it wrong (as there is no Launchpad Pro Mk1).

Okay, now we need to do some analysis. Could you please do the following:

  1. Quit REAPER
  2. Disconnect your Launchpad
  3. Open the macOS Terminal app
  4. Enter the following command line: HELGOBOX_LOG=debug /Applications/REAPER.app/Contents/MacOS/REAPER > $HOME/Downloads/helgobox.log (this should start REAPER)
  5. Start Playtime within REAPER
  6. Connect your Launchpad and wait a few seconds
  7. Quit REAPER
  8. Reply within this issue, attaching the file "helgobox.log" in your Downloads directory (alternatively, you can also send it to info@helgoboss.org)

Thanks!

ndbroadbent commented 1 month ago

Thanks for the instructions! Here's the log file:

helgobox.log

I think I might have found the relevant lines:


  2024-07-23T13:00:10.860161Z  INFO helgobox::infrastructure::plugin::backbone_shell: msg: "Input not yet used. Finding matching controller preset...", out_port_name: Focusrite A.E. Ltd - Launchpad Pro 16 - Live Port
    at main/src/infrastructure/plugin/backbone_shell.rs:2665

  2024-07-23T13:00:10.860171Z  WARN helgobox::infrastructure::plugin::backbone_shell: msg: "Couldn't automatically create controller for device", out_dev_id: 7, error: no controller preset matching device
    at main/src/infrastructure/plugin/backbone_shell.rs:2977
helgoboss commented 1 month ago

Thanks. It looks the "identity reply" of your device (as a response to ReaLearn's MIDI device inquiry) is a bit different from my Launchpad Pro:

F0 7E 00 06 02 00 20 29 51 00 0F 00 00 01 05 04 F7 // reply from your device F0 7E 00 06 02 00 20 29 51 00 00 00 * F7 // expected pattern

The difference is in the device family member code, indicating that your device might be a different one. The Launchpad Pro Programmers Reference Guide page 19 has "00 00" as family code, not "0F 00". I'm referring to this product: https://downloads.novationmusic.com/novation/launchpad-mk2/launchpad-pro

Novation also has this pretty cool web-based tool Components https://novationmusic.com/components, it should show the name of your device when it's connected. Could you try that?

ndbroadbent commented 1 month ago

Hi @helgoboss, ah it looks like I have an older Launchpad Pro (MK1) that is not supported by the Components tool.

SCR-20240724-kkcq

I also downloaded the updater tool and updated the firmware from 154 to 182:

image

I ran the instructions above again with the updated firmware (182), and have attached the new log file: helgobox.log

ndbroadbent commented 1 month ago

I tried plugging the launchpad pro directly into my laptop (instead of via a USB hub), but that didn't change the identity reply:


  2024-07-23T23:36:15.468110Z DEBUG helgobox::domain::audio_hook: msg: "Sending MIDI device inquiry...", output_dev_id: MidiOutputDeviceId(7)
    at main/src/domain/audio_hook.rs:440

  2024-07-23T23:36:15.479719Z DEBUG helgobox::domain::audio_hook: msg: "Received MIDI device identity reply", reply: RequestMidiDeviceIdentityReply { input_device_id: MidiInputDeviceId(8), device_inquiry_reply: MidiDeviceInquiryReply { message: [240, 126, 0, 6, 2, 0, 32, 41, 81, 0, 15, 0, 0, 1, 8, 2, 247] } }
    at main/src/domain/audio_hook.rs:620

  2024-07-23T23:36:15.487069Z DEBUG helgobox::infrastructure::plugin::backbone_shell: msg: "Resetting MIDI output and input devices to previous state..."
    at main/src/infrastructure/plugin/backbone_shell.rs:2633

  2024-07-23T23:36:15.487487Z  INFO helgobox::infrastructure::plugin::backbone_shell: msg: "Received identity reply from MIDI device", out_dev_id: 7, in_dev_id: 8, reply: F0 7E 00 06 02 00 20 29 51 00 0F 00 00 01 08 02 F7
    at main/src/infrastructure/plugin/backbone_shell.rs:2640

  2024-07-23T23:36:15.487515Z DEBUG helgobox::infrastructure::plugin::backbone_shell: msg: "Check if input used already used by existing controller..."
    at main/src/infrastructure/plugin/backbone_shell.rs:2647

  2024-07-23T23:36:15.487522Z  INFO helgobox::infrastructure::plugin::backbone_shell: msg: "Input not yet used. Finding matching controller preset...", out_port_name: Focusrite A.E. Ltd - Launchpad Pro 16 - Live Port
    at main/src/infrastructure/plugin/backbone_shell.rs:2665

  2024-07-23T23:36:15.487531Z  WARN helgobox::infrastructure::plugin::backbone_shell: msg: "Couldn't automatically create controller for device", out_dev_id: 7, error: no controller preset matching device
    at main/src/infrastructure/plugin/backbone_shell.rs:2977

I'm in New Zealand, so maybe they use "00 0F" for devices sold in Australia / NZ? Not sure what else might be different about my model.

helgoboss commented 1 month ago

I just tried my own Launchpad Pro with Components and it gives the same screen as you and is named "Launchpad Pro [MK1]". A bit confusing because the first Launchpad Pro is listed under the "Launchpad MK2" category on the Novation website: https://downloads.novationmusic.com/novation/launchpad-mk2

Mysterious how the family ID is different. However, the devices look the same, have the same name, so I guess my official preset would work with your device. Could you try this in your Playtime project (it's the most manual way to use the presets):

  1. Open the plug-in
  2. Set both input and output to the Launchpad Pro Live Port
  3. Go to the controller compartment and choose preset "Launchpad Pro mk2 - Live mode"
  4. Go to the main compartment and choose preset "Launchpad Pro mk2 - Playtime"

That should make things work for this particular project. If you confirm it works, I will adjust the MIDI identity pattern for the next version so that it covers your family ID as well. Then it should be auto-detected in the next version.

ndbroadbent commented 1 month ago

Awesome, it's working perfectly now! Thanks very much!

helgoboss commented 1 month ago

Okay, then I will relax the detection so that your device is included automatically in the future.