Actions&Shortcuts behaviour with UI as slider for mute

I tried to add an action to Layer (same behaviour also in channel) to mute/unmute with a slider.
Thats how it looks like

I would expect, when I move the slider, the layer gets muted between 40 and 80 otherwise is unmuted. Instead of that it gets muted when it gets first in the range of 40 to 80. After that nothing happens anymore. I can move the slider up and down the whole range, the layer stays muted.

Do I have a wrong expectation or is there something wrong with it?

1 Like

That will not work. Your input range is 40 to 80, outside ignored. Then, data is propagated to the action (mute) as is, so it will still be 40 to 80.
It “should” work if you just set it to “Button”. But mute states are considered 0: off, anything else: on, which will fail in your case. We may have to add a type that rather values 0-63 as “off”, and 64 and greater as “on”.

1 Like

I feared that. It would be great if it act different. Inside the range “mute” outside “unmute”. This will add the possibility to add/remove more than one layer to the sound by one controller.

… At least I know why do I’ve failed with before when expected to work as 0-63/64-127 :sweat_smile:

1 Like

we’ve added an “On/Off” UI Type for the next version, check it out.

Thank you. I’ll do :wink: . How will it work?

Here’s what’s planned and hopefully available with the upcoming version.
We added 2 new UI types:
a) OnOffButton
b) Inside

This gives 4 types of switches:

  • Button: triggers once, like a push button
  • Toggle: toggles on/off with every event
  • OnOffButton: data 0-63 off, else on
  • Inside: issues ON if data is inside data range (from - to), else OFF

And furthermore, we added an invert feature, e.g. with “Volume”, this will allow for cross-fading 2 Layers or Channels, or with “QC”, blend Quick Controls, or whatever else.

In the picture, cc#12 controls Layer 1 Volume and at the same time Layer 2 Volume inverted for x-fading Layers 1 and 2.
cc#13 scans through 3 Layers, and only one Layer is active (not muted) at any time. Note the invert settings for all of those to mimick a “Solo” action, which is not applicable in this case, as it would solo other channels etc as well.
This was requested by Falfango Expression mode like in Halion Symphonic Orchestra - #4 by Falfango

1 Like

That sounds great. Thank you for your afford :slight_smile:

Apologies - my OCD has kicked in…

The left most column of row numbers along with ‘Action’ column entries don’t appear to properly align horizontally with the rest of each rows entries… It caught my eye and just thought I would mention.

This sounds really good, and I have a question about this new functionality. For a given message, CC06 for example, will all values be ‘eaten’ by the action, or just the values inside the range? I mean, will we be able to create another action with the same controller and another range?

Have a nice evening.

Jihem

The screenshot shows, that the same controller CC13 is used for 3 different actions (CC12 for 2 actions)

@Falfango , you’re absolutely right, I should have looked closer.

@musicullum , does it mean that the Midi messages are not eaten anymore when used by actions?

It is now possible to use the same or similar midi event multiple times for actions, and assign multiple actions to one controller. All actions are executed when the event matches. Once any of these actions is involved, the MIDI event is not further propagated (it is eaten).

@Puma0382: correct, thanks :slight_smile:

Looking forward to trying this out.

Hi! I’ve tested it immediately (inside feature) )and it works as expected :slight_smile:

With this setup, I can add additional layers to the sound with the modulation wheel. Really a great new feature. Thank you for that!

One thing I recognized. Nothing serious and maybe not worth to change the code. But maybe its helpful for other users.
I had this actions already defined with “slider”. As I changed it to “inside”, it didn’t work. After deleting the old entries and add new ones, everything works as expected.