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

Initial state of button LEDs sometimes not reported to keyboard #1

Open
mkuron opened this issue Dec 28, 2021 · 3 comments
Open

Initial state of button LEDs sometimes not reported to keyboard #1

mkuron opened this issue Dec 28, 2021 · 3 comments

Comments

@mkuron
Copy link
Owner

mkuron commented Dec 28, 2021

Reproduction:

  1. Launch Mainstage
  2. Select Keyboard quick-start
  3. Switch to the Classic D6 patch

Expected results:
The fourth button should light up, the other seven should be off.

Actual result:
Sometimes no buttons light up.

@mkuron
Copy link
Owner Author

mkuron commented Dec 30, 2021

The same is also happening for the drum pad colors. Restarting MainStage typically fixes both problems. The debug log shows the out messages, but MIDI Monitor only shows the SysEx messages getting sent while the CCs (and notes for the drum pads) are not sent.

@mkuron
Copy link
Owner Author

mkuron commented Jan 2, 2022

I suspect this is a macOS 12 bug. I have not been able to reproduce it on macOS 10.15.7.

To find out whether this was hardware-specific, I tried a Behringer BCF2000. This one works fine on macOS 10.15.7 with MainStage, but with macOS 12.1, it doesn't respond to any MIDI output. Curiously, even sendmidi dev "BCF2000" cc 51h 127 doesn't move the BCF2000's first fader on macOS 12.1, but does on 10.15.7. It does show up in MIDI Monitor though.

With the BCF2000 on macOS 12.1, MainStage seems to reliably send the CCs however (even if the unit doesn't respond to them). So maybe there is something in my Lua script that triggers the underlying bug.

@mkuron
Copy link
Owner Author

mkuron commented Jan 4, 2022

When the first application that uses MIDI is launched, the MIDIServer background process is started. When the last such application is quit, the background process is terminated after a few seconds. The issue of the missing CCs reproducibly happens when MainStage is launched for the first time on the same MIDIServer. When MainStage is quit and relaunched sufficiently quickly, it reproducibly does not happen.

Removing all sysex messages (anything that starts with 0xF0) from controller_select_patch and controller_midi_out makes the problem go away completely. Now I need to figure out how to send the sysex messages without breaking things.

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

1 participant