New Toggle Feature - Shift

Trying to find a personal use for this that doesn’t require communication of shift status across banks, but I’ll keep at it!

Is there a way to shift Presets Q-V?

@james - Really appreciate all the work you put in to keep updating the controllers. It must get a little frustrating hearing how “we” would change things when you’re putting in all the work. Just wanted to remind you that you are appreciated. :slight_smile:

3 Likes

Thanks for the feedback. So an “unshift” option in the Set Toggle method should solve the issue? I’ll see whether it makes sense to just split it out to a new Shift message type

We’ll add that in

my pleasure - its my job! :smiley:

1 Like

:wink:

Yes please new Shift msg type and may be new Blink one.

If I can give some honest feedback, I don’t fully grasp the notion of “shift”.
Like, I understand that it’s a state of the preset, orthogonal to the “position”, and that can be used as conditional for sending or not a given message.
It seems to me however that the real novelty in this feature is adding conditionals (which is indeed great), but then why not add them to actions in general?
E.g. a press action sends message msg1 in position2 if variable X == 127 (or whatever).
This would be much more expressive and make for a cleaner paradigm:

  1. you wouldn’t have to hack your conditionals through a preset state
  2. you can use the variable across all presets
  3. you could express many more conditions than “Switched/not switched”

Just my two cents, of course :slightly_smiling_face:

1 Like

Thanks for the feedback!

It’s really just to add one more layer of control. For example, when you enter a bank, you can have some presets shifted so those messages execute only once while in a bank. Technically it can give you 3 toggle states as well - like Record (Shift), Play (Pos 1) and Stop (Pos 2), and then when in Pos2 you have a message the shifts the preset again, and hence 3 toggle states.

The community will probably find other uses for it, and hence I’m sharing the idea here first and happy to hear the feedback.

For conditionals, we’ll be implementing it as well, but the If Else really can’t be part of any existing message due to some limitations, and has to be in a message on its own. So how it’ll work will be, there’ll be an If Else message type, where you can specify the conditions, and the outcomes will be like

  1. Jump to Msg x, or
  2. Stop here

Something like that.

Fun fact, we actually had this in the MC6MKI, although more primitive:
https://morningstarengineering.atlassian.net/wiki/spaces/MC6MKI/pages/786782/MIDI+Types+Glossary#Conditional-Type

2 Likes

I also think that real test would have been better, but if there are technical difficulties, Shift is good … but could we also benefit from the ‘doggle’ second short display, rather than having just a special car before display ?

Sorry, one more, just because I am testing it in a new config.
Could it be possible to apply Shift with one msg without having to select each targeted preset :

  • to full bank
  • to simply first or second page of a bank, this one would be really useful

A Fast Shift.
?

Sounds really interesting and potential useful, even though I’m still sorta trying to get my head around how this might work. :-/

Early discussions here focussed on how the display would indicate a preset is in the shifted state. Is it not possible to add a “Shifted Name” (in addition to “Short Name” and “Toggle Name”)? Perhaps we’re constrained by the available memory on the devices? :slight_smile:

Thanks @James for continuously developing the product.

Yeah unfortunately its a memory limitation. We’ve making sure this limitation doesn’t exist on the Pro :wink:

I’ve updated the firmware + editor to include Presets Q-V

I’ve added an Unshift option in the Set Toggle message type

Maybe we can add a Select All Presets button on the editor so it auto selects all the presets checkboxes?

1 Like

I see page size are not identical on MCxx, so yes 2 buttons ‘Select All’ but also ‘Remove all’ if doable ?

Yeah unfortunately its a memory limitation. We’ve making sure this limitation doesn’t exist on the Pro :wink:

Oh, crap, I didn’t know you guys were releasing that! I just got the MC8 :sweat_smile:

There are many controllers out there without memory limitations if you are willing to pay twice or triple the price. I am very satisfied with my MC8 and it’s getting better each day… . For it’s price there’s no competition out there.

No release date for that yet cos of the semi conductor shortage.

It’s not so much a memory limitation, just that we allocated this amount of bytes for each preset and we can’t add more unplanned features without overhauling the design. Maybe in the v4 firmware.

2 Likes

You’re the best, sir @james ! I’ll try again tonight.

Beta firmware now gets uploaded using the regular uploader, right? There’s no longer a need to use a specific beta uploader like we did for 3.8?

It worked for me without problems.

1 Like

Hi again @james. I’ve tested the new Shift/Unshift feature in a complex scenary where multiple presets are shifted/unshifted.and it worked 100% without issues. Although I would like to put into your consideration a possible change in functionality.
In my scenary of controling a looper using shift to trigger jumps between tracks, I still had to toggle my presets between Play and Record. The result is that when my preset is shifted I have to repeat all the code of Pos1 or Pos2 inside my shift zone and execute a Toggle preset manually because they are mutualy exclusive. What I would like is that the MC8 executed the code on the shift and additionally Pos1 (or Pos2) code with the corresponding preset toggle.
I would like to hear other users opinion on this requested behavior. As is now, the shift is a third state in toggle mode and the code is mutually exclusive with Pos1 and Pos2. As I suggest, it will trigger additional code to Pos1 or Pos2. What best suits you? (both ways work for me)

Actually I designed it like that first, where each toggle position had its own shift state. So you could be in Pos2 and on Shift, so the preset will only execute messages in Pos 2 and on Shift. It seems a little confusing though, and hence it was simplified to Pos1, Pos2 or Shift. Happy to hear more feedback on this.