Shared layer volumes, Assignment in Actions & Shortcuts

Changing shared layer volume on part oder song switch

A quite simple use case :
I’m using two split zones :

  • MIDI Channel 1 : Layer 1 = Sound 1
  • MIDI Channel 2 : Layer 2 = Sound 2

I’m using the same layers in two parts of a song
=> So I’m sharing the layers

Now the song requires to change mixer volume to be set
Part 1 : Layer 1(shared) => 50, Layer 2(shared) => 100
Part 2 : Layer 1(shared) => 100, Layer 2(shared) => 50

Is there a way to have a different “mix” of the same shared layers in different parts or songs ?

(I know that as a workaround I could individually change the MIDI volume of each layer by using the layer controller map an send an initial volume CC 7 value there, but this is quite unconvenient and does not reflect the visual volume controller settings of the GUI).

I realize that a shared layer will have to keep its MIDI volume when used in another part (cause it’s the “same instrument”).
But I do not understand, why a shared layer cannot have different mixer volume in another part (what would solve my problem).


Assignment of channel and layer in “Actions & Shortcuts”

The assignment of column “Layer” in in the Layer section of “Action & Shortcuts” is bound to a layer number (e.g. “Layer 2”).
That means, that, if I change order of layers (inserted an additional layer before layer 2 or sorted by optical reasons) the assignment is moved to the new “Layer 2” (wich is not the one I wanted to be assigned).
Is that by design ?


You are sharing their Instruments.

You refer to audio controls. Shared Layers are usually controlled via their (independent) MIDI controls, which you call a “workaround”, but it really follows the idea of “multitimbral” instruments with 16 MIDI channels to choose from one slot.

Audio controls control the channel which belongs to the Instrument itself. A Layer might remember the audio settings (volume, pan, mute) and apply it when it gets activated (its Part gets selected). We are considering this, protected with a preference, it’s complicated. If that shared Instrument is used within the same Part, or in the Global Part, things get messy and the result may not be as expected. In most cases it should provide what you want, however.

As said, the mixer shows the Instruments’ channel, it is not an extra delegate. As such, when it’s shared, it is global like Group or Output channels. Will check to see if we can provide an option to override it by Part selection as described above.

Yes. These assignments are global, so there needs to be a way to identify a Layer globally, and the order is a globally applicable object. We cannot have an action map for each Part (or even Song). Would you have a better idea?

Next version will have a preference “Shared Audio Controls Global”, analogous to “Shared MIDI Controls Global”, activated by default (as it is now). De-activate it, and each Layer will set the shared Instruments’ audio channel volume and pan individually.

Excellent. Thank you.

Optimum solution (imho, for me, maybe not for all) would be to directly assign a MIDI controller (maybe CC 7, but must not) to the layers channel audio volume and it’s sliders (in Layer View and Mixer View).
I could give the layer a default volume in the mix via the new “Shared Audio Controls Global” function (other chapter here, perfect)
and could take action with the master keyboards pedals/sliders if necessary on the same parameter (“channel audio volume”)
and would have a GUI feedback on what my foot does on the volume pedal of the master keyboard

“Optimized” optimum solution :slight_smile: would be if I could define a “channel audio volume RANGE” the MIDI controller would be able to influence (Lets say : MIDI CC value 0 => - 5dB, MIDI CC value 127 => + 5dB). So I could graduate the different volume behaviours of VST instruments and would not run the risk that an uncareful foot kick would result in “no sound” or “much too loud”.


You can do that, either by using actions Layer/add/Volume/Layer No., or organize channel order as you like and actions/mixer…all the same. 1,2, and 3 should also work as you can see what those mixer channels do.
As for your range suggestion, we thought about it…as it is all MIDI, we could provide a point for the upcoming MIDI inserts and provide a “range translator” plugin for that.

So according your advice I assigned my masterkeyboards controllers to mixer channels via actions and shortcuts (the same I write applies to assigning to layers)

Lets say there are four of them I would like to have available for controlling the volume of channels in any part of VST Live (and I always have to predefine them all, cause assigning controllers to channels is a global information - right ?)

(1) This is inconvenient.
a) I always have to organize the mixer channel order according the controller order. This is not always practicable for a musicians purpose.
b) Intuitive working is hard. Any change in layers => mixer channels must be considered regarding the controller order that is assigned in the background.

(2) problem : address controller/channel 3 when only having two layers in the next song
In the next part I have two (VST)Layers - so two channels - but would like control volume on channel 2 with the controller that is (globally!) assigned to channel 3. So I have to insert a dummy layer (=> dummy channel) to skip controller in channel 2.

(3) (MIDI)Layer
Live keyboardists often user layers (e.g. Piano Channel 1 + Strings Channel 2). Both of them must be volume controlled by the same MIDI controller at the same time (ideally keeping their volume relation)
How is that done ? Should I add dummy Channel 5/6/7/8 and assign them to the same controllers as precaution ?

(4) No group : use a mixing group
As a workaround for a MIDI layer I tried using a mixer group (and routet the two component sound to that group and moved the group to the channel number where the controller is located).
That worked fine !
But why do I now find this SONG depended mixer group in all other songs ? I don’t need it there.
Are mixer groups always global ? Or can that be changed in a setting ?

(5) drag and drop mixer channels
That does not always work. Especially if you select a new part and want to drag e.g. mixer channel 2 before the first channel, that is not accepted. You first of all have to drag channel one “anywhere” (losing all your controller assignment!) then you can drag and drop (mostly) anywhere.

(6) new mixer channel scene does not always take effect to assigned controllers
The “action and shortcut” settings for the channels do not always take effect after you have changes in the channels (add a new layer). Sometimes you have to drag/drop a channel to force the assignment to take place.

Easiest way for me would be :
Simply let me add/learn an external controller to a layers audio or mixer channel volume AND KEEP IT LINKED TO THIS INSTANCE wherever its moved on the screen. Less automatic operation sometimes is more practicable.

Got that. Perfect. Thanks.

Just very quickly: I organize global channels (Outs and Groups, then Song bus) to the beginning of the mixer, as those are “static” (they don’t change throughout the show).
Then I assign Layer 1, 2, 3, Stack 1, 2 etc to either following channels, or other controllers like dials via the Layers and Stacks actions.
Layers and Stacks are dynamic, they change in number so it’s not convenient to use Channel Ordering for placing those, you’re way better off using Layer and Stacks actions for that.
Furtheremore, there are actions for Global Layers and Stacks, which also comes in handy as those are “static” as well, and can be placed at fixed positions (dedicated fader or dial on your keyboard controller).

I do that too. Have 2 keyboards and want to control those individually, but with all of their Layers. So I create a (global) Group channel for each keyboard. Those Groups also go to yet another Group (your mileage may vary).
Currently it is a bit of a drag that each Part holds its own channel order, so you have to apply changes to all Parts. We are working on solutions to make this easier.

So you do a similar thing as in 4), but Groups are always global. There is the Song Bus, however, which is also a Group Channel, and which is the destination for Tracks by default.
I see your point though, and we are also working on possibilities to assign several things like Channel Order, Group Channels etc to be global, by Song, or by Part.
(5) I cannot confirm, works fine here.
(6) is probably more of a problem that creating a new Layer (or Stack?) puts it in front of the mixer channels. This will be improved with the next version, where new channels will be appended to the end instead.

This is tricky and sub-optimal reg. performance, as it takes ages to calculate where a MIDI event should go when there are literally thousands of possible targets. Also, any slightest change may easily get you confused. However we got your point and may figure out a way to (optionally) acheive this.

If this were the only method to acheive it, and I want it for all of my pianos, that would be a lot of work.
But there are situations where this “individual Learn” function might be desireable, for instance, for a dedicated cutoff etc. We are considering such an “Individual” category.