I’m struggling with disabling sustain for a single layer.
My layout is as follows:
On my macro page is a toggle for disabling sustain on the Bass layer. The two other layers (Vibes and Piano) should always receive sustain.
So far it works pretty well, but when it comes to exporting the program as a VST3 preset with “As HS layer” turned on it automatically enables voice management and “Sustain” on the top layer. And regardless of what options I choose with voice management enabled on the top layer the instrument behaves not as expected.
On my bass layer I have turned “Sustain” off and it doesn’t matter if I enable voice management on this layer or not, the notes are sustaining on the bass layer.
My expectation was that turning off “Sustain” on the bass layer actually turns off (or on) sustain on this layer. This is how it behaves when there’s either no voice management on the top level layer or voice management is on, but “Sustain” is disabled on the top layer. But exporting as HS layer requires both turned on. With voice management on top layer and “Sustain” turned on, but turned off on the bass layer, sustain isn’t triggered on the bass layer, but then there also no key release trigger causing the sample to ring out.
Is there something I am missing here?
Yes, you are right. I noticed the same behavior. What you could try is use onInit script callback and set the sustain off for the top layer.
Unfortunately this doesn’t work.
When disabling sustain on the top level layer in the onInit callback, the notes on the bass layer are still sustaining. I’ve added a switch for testing purposes on the macro page connected to the Sustain setting on the top level layer to see that it is actually turned off (it is).
Halion 7 and Halion Sonic behave differently here. Both are at the current 7.0.20 version.
@misohoza did it work in your case?
It did work for me.
Which layer are you exporting? The Init RDY?
Once you import that in HS you get another layer on top (program layer in HS) which may have the sustain enabled.
I will try it and report back if I find something.
Looks like voice management has no effect on sustain. But all the parent layers need to have sustain turned off otherwise it doesn’t work. Did you check both of your RDY layers?
HS seems to enable sustain automatically for the top layer. Here’s my test preset:
Check Sustain HS.vstpreset (12.8 KB)
Thanks @misohoza, taking the additional program layer in HS into account did the trick!
As you’ve mentioned all parent layers need sustain to be turned off and in my first approach using onInit I didn’t thought about the added program layer in HS. In my onInit script I’m now checking if my top level layer (“Init RDY”) has a parent, and if so I disable Sustain on that layer too.
Thanks for your help!