How do I set up a single button to flip through three positions but always return to Position 1 on first engage and on disengage?

Hey everyone!

I recently got a Morningstar MC6 Pro, and I’m having a little trouble setting it up to do what I want. I think I’m close, but my programming might be riddled with redundancies, and I thought someone may have already successfully achieved what I’m trying to do.

I’m essentially trying to get three sounds out of one switch, utilizing Position 1, Position 2, and Shift.

An example would be something like this:

Say I want Button A to be my Clean, Boosted, and Chorused sounds. I want to press the button once to get Clean, press again to get Boost, and use Long Press Release to get Chorus. I also want to be able to press once from the Shift (Chorus) position to go back to Position 1 (Clean).

  • Position 1 = Clean
  • Position 2 = Boost
  • Shift = Chorus

A few other things I’d like to happen:

  • When pressing the button for the first time, it always loads Position 1 (Clean).
  • When leaving the Shift position, I want it to go back to Position 1 (Clean).
  • When I leave Button A entirely for another button, it reverts to Position 1 (Clean).

I think that’s it!

I’m unsure if this is an intuitive way to utilize the MC6 Pro, but if it’s possible, it would be great! Thanks so much to anyone who takes the time to help out!

I’ll need to clarify what you mean by press the switch “for the first time”. Do you mean the first time upon powering up the controller, when you enter the bank, or for the first time after you’ve pressed another switch?

It sounds like the Preset Message Scroll feature will serve you better in this case, but before I offer a solution, I need to confirm the above.

Hey Benjamin!

By “for the first time,” I mean that whenever I press Button A after pressing any other button, it should load Position 1. I’m not too concerned with what happens when powering up the controller or entering the bank for the first time. I just want to make sure that pressing Button A always produces Position 1 first.

I’ve found that sometimes, when I have Toggle Mode on and jump to another button and back, it goes straight to Position 2 — and I don’t want this behavior. I want the button to always start on Position 1, and then I’d have to press again (or long press release) to reach the alternative sounds/positions.

Hope this makes sense, and thanks so much for helping!

Each preset is going to send midi to my ML10X, UAFX OX Stomp, and H90 pedals. I don’t know if that has any barring on how things should be programmed, but I thought I’d mention incase it does.

After reviewing your use case, the best method would be to use a Release action to toggle between positions 1 and 2 for clean and boost, and Long Press to engage your chorus and set the preset back to position 1, ready to engage clean again. This will achieve what you want.

I’ve created a preset for you with 3 messages assigned to each action/position and also the necessary Set Toggle and Toggle Preset messages.

Notes: (1) We need to use Release because Press will also trigger Long Press, which is undesirable. (2) We must disable Toggle Mode for this preset and only assign a Release action to Toggle Preset because we don’t want Long Press to toggle the preset.

Here is the preset I made for you. Modify each of the messages (exact message and MIDI channel) to suit your setup and give it a try:
ASTORA Preset.json (3.1 KB)

You can load a preset from file using the button shown below.

Hi Benjamin,

Thanks so much! I really appreciate you taking the time to program this for me. I can also learn a lot by studying some of the moves you’ve made, so that’s awesome!

I have two follow-up questions:

  1. Is it possible to always switch back to Position 1 after I’m in Chorus (Long Press) mode? Right now, a single press from Chorus mode takes me to either Clean or Boost, depending on which position I entered Chorus mode from - it seems to just toggle to the next preset.

  2. Is there a way to add visual feedback for the Chorus position? Currently, if I type text into the Position 1 and Position 2 blocks at the top of the editor, it displays on the pedal when switching. However, Chorus mode has no visual feedback. Is there a way to add that in?

Cheers!

Here is the file for an attempt I had made before reaching out. One of the issues with my version is that it may have some redundant stuff in it that is bogging things down. I have toggle mode On and Toggle reset Group on in order to make it function correctly. Let me know what you think! (wont let me upload the file because I’m a new user)

{
“presetNum”: 0,
“bankNum”: 0,
“isExp”: false,
“shortName”: “CLEAN”,
“toggleName”: “KLON”,
“longName”: “CLEAN”,
“shiftName”: “DC-2W”,
“toToggle”: true,
“toBlink”: false,
“toMsgScroll”: false,
“toggleGroup”: 23,
“ledColor”: 7,
“ledToggleColor”: 7,
“ledShiftColor”: 7,
“nameColor”: 2,
“nameToggleColor”: 2,
“nameShiftColor”: 2,
“backgroundColor”: 7,
“toggleBackgroundColor”: 7,
“shiftBackgroundColor”: 7,
“msgArray”: [
{“data”: [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 0, “c”: 3, “t”: 15, “a”: 12, “tg”: 2, “mi”: “”},
{“data”: [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 1, “c”: 3, “t”: 1, “a”: 12, “tg”: 2, “mi”: “”},
{“data”: [0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 2, “c”: 8, “t”: 39, “a”: 2, “tg”: 0, “mi”: “”},
{“data”: [0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 3, “c”: 8, “t”: 39, “a”: 2, “tg”: 1, “mi”: “”},
{“data”: [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 4, “c”: 4, “t”: 15, “a”: 4, “tg”: 2, “mi”: “”},
{“data”: [0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 5, “c”: 8, “t”: 39, “a”: 4, “tg”: 2, “mi”: “”},
{“data”: [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 6, “c”: 1, “t”: 15, “a”: 2, “tg”: 3, “mi”: “”},
{“data”: [0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 7, “c”: 8, “t”: 39, “a”: 2, “tg”: 3, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 8, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 9, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 10, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 11, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 12, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 13, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 14, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 15, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 16, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 17, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 18, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 19, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 20, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 21, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 22, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 23, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 24, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 25, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 26, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 27, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 28, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 29, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 30, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”},
{“data”: [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], “m”: 31, “c”: 1, “t”: 0, “a”: 0, “tg”: 2, “mi”: “”}
]
}

  1. Like I mentioned in my first response, Toggle Mode must be disabled because we only want Release to toggle the preset, and not Long Press.
  2. You can add a Preset Rename or Color Change message that is triggered by Long Press to indicate that Chorus is engaged.

Let me know if these 2 changes do it for you!