MC8 Long press only triggering on release for "Bank jump"

I just observed an inexplicable behavior while setting up long press actions, where for the type “bank jump”, the action is only triggered on release:

I have an MC8 running 3.8.7. I’m setting up a single action (Msg1) as a Long press, to jump from bank 1 to bank 2:


When I long press this switch for 600ms and longer, nothing happens. The bank jump is only executed on release of the switch.

Switching the type to another type - e.g. “bank change mode”, or “midi note” - makes this work as expected, i.e. the action is triggered after 600ms while the switch is still pressed.

Any ideas what could cause this? I tried this both on a controller switch and aux switch, same behavior

Steps to reproduce:

  1. Start a new preset
  2. Add a single “Long press action” of type “bank jump”
  3. (Save)
  4. Press the switch associated with this preset and hold for 600ms (do not release)

Expected behavior: bank jump executed after holding switch for 600ms
Observed behavior: no action happening until switch is released

1 Like

Yes, this is by design. Bank jump will execute only at the end so if you have a Long Press programmed with a Bank Jump, it will only execute after the switch is released.

You cant execute message midway, change banks, and then execute the rest of the messages in a different bank.

Hi James,

Thanks for the explanation.

I see the use case, but we already have an action that only triggers on release, “Long Press Release”.

To me, the inconsistency and lack of visual feedback is what bugs me the most. I have two switches next to one another, one does “Change Bank Mode” on long press - which gives me visual feedback after 600ms, and the other is “Bank jump” - which looks as if no action was triggered. Two switches, same configuration, different user interface.

I don’t quite understand why I can’t do this. Why would for example sending a MIDI CC, switching banks, and sending another MIDI CC not work? Or select Preset A (Clean sound) in my bank 1 (Amp), switch to bank two (FX), and select Preset A (Chorus on) there?

It’s just the way it is designed. Everything within the same preset will be executed together, not some in one bank and the remaining in another bank.

It’s just specific to the Bank Jump action. No matter the action, it will only execute once the last release action is completed.
https://morningstarengineering.atlassian.net/wiki/spaces/MMS/pages/181698784/MIDI+Type+Glossary#Bank-Jump

Ok, that makes sense! And I see now that you need to delay the bank jump in case “long press release” has other messages for the current bank.

Would it be possible to check the “Long Press Released” events lists, and trigger the bank jump after 600ms if it is empty?

1 Like

Sorry, can you elaborate more on this? A Long Press event will trigger a Long Press Release event when the switch is released.
If you have programmed a Bank Jump message with a Long Press event, the Bank Jump will not trigger until you have released the switch, which means that the Long Press Release messages will trigger first, and then the Bank Jump will execute.

Sure, happy to explain. As a background, my goal is to make feel that all “Long press” actions should execute after 600ms if at all possible, to make it consistent with other “Long Press” events. If you feel strongly about keeping the current behavior, feel free to let me know, and we can stop the discussion and I’ll try to find another solution.

From your former message, I understood that the “Long press” “Bank Jump” is always executed on switch release, because other (non-“bank jump”) messages could potentially be programmed at the same time. My proposal is to reverse the logic: execute it after 600ms, unless there are other messages to be executed.

In my setup, I have multiple switches that have the following configuration: multiple actions on “Released”, and a single “Bank Jump” action on “Long Press”. As such, in case of the “Long press”, it will always be the only message to be executed, and there is no reason to convert the “Long press” to a “Long press release”.

Without knowing the code, it’s obviously hard to tell, but I assume you must have code handling that special case where you’re changing the “bank jump” on “long press” to a “Long Press Release” (and moving it to the very end of the queue). So if you could check at that point whether there are in fact any other messages, and keep the default behavior if there’s no others, that should address it. I believe that could all be done during configuration time.

Looking forward to hearing your thoughts!

I would also find it useful if Bank Jumps could be executed by a Long Press, that is of course if there’s nothing programed for Long Press Release or Release All.

I guess I just need the display to show the new bank number and name when the long press is held down. The actual changing of banks can happen at the end. I’ll explore this.

3 Likes