Well, as you know, on zynaddsubfx volume there is no cc Number associated like in others.
maybe because encoder is pointed on real synth volume.
Anyway zyn itself has cc7 mapped internally, then reacts equally.
Its Ui volume doesn’t move most probably for this reason…this is technically correct too.
But once midi is touched, every engine on same channel goes on the same value, whatever value it was… but i believe here we could be against an engine’s limitation…
Here 's a possible scenario for a better structure (not sure if realizable,but just take the idea):
The layer manager should be “active”, i mean:
layers should be volume adjustable, filtered to accept only midi cc 7;
Layers are mapped singularly on each midi channel (not changeable);
each layer can contain several engines, which react to all midi data except cc7
note: program change could be a problem in multiengine layer
Could be useful inserting a program change filter if more than 1 engine is loaded, avoiding unwanted simultaneous patch changes.
The goal is to have each engine’s volume controllable only by zynthian hardware, so volume differences can stay over master layer changed by cc 7. (by a controller or a sequencer)
The problem is if it’s possible to create a reactive layer manager in this way …