Recall layer presets on song load

Alright folks here is what I’m struggling with at the moment using VSTL. It is a long read Please bear with me.

Let’s say I have a 5 part song, all parts have a hammond sound through a shared layer. I set it up initially for a preset “A” of the said VST with the parameters loaded. I have my midi controller setup so I can move the drawbars/rotarty etc.. while playing.

As expected from a shared layer, all the parameter changes, persist through the part changes while playing the song, no funny business here.

After playing the song while adjusting some parameters on the fly, if I save the project, last states of the controller changes that I did like drawbar adjustments are saved to the song as well. So next time I load the same song, I’m no longer at preset “A”. This is as intended as well, because if you are creating a manual sound for that particular song how else would you save it to the layer.

The issue is say when rehearsing you did some changes that you actually intended to save to the project. And since you have been playing some songs in the playlist and changing all those parameters on the fly if you save now, you are in a mess of broken layer sounds.

So what I do is, just for the first part in the song I send the MSB,LSB,PRG Chng from the layer itself to call up the relevant patch on the VST. So even if I change the parameters on the fly and save, once I load up a song it automatically calls the relevant patch. In essence the first part in the song always calls patch “A” on load.

Awesome right? Unfortunately, no. Not every VST can select patches from PRG Chng messages and ideally, I would not want to rely on VST itself to handle this. Even if all the VSTs support prg changes, any custom sound needs to be synchronized manually between computers if you are moving.

We do have VST Lives own presets that we can save per VST which can be used for this:

But I could not find any way to call up these presets with any layer midi messages and again these presets are not saved to the project. Meaning if you move the project to another computer, they are lost. You again need to manually sync these between computers.

Any solutions, or how do you guys handle this?

2 Likes

It would be very interesting if saved presets could be switched as a program change, but then you would still need to somehow transmit this command there. Usually, those VSTs that don’t have a built-in program change don’t have a MIDI input to change it.

Yes, they are saved in C:\Users\user\Documents\VST3 Presets,
but there’s no point; they can’t be automated, and it’s impossible to send a MIDI command to them to change the program.

And by the way, some VST 3s don’t have a program change, for example, AmpliTube, but if you install VST 2 instead of VST 3, there is a program change. Many manufacturers, for various reasons, did not implement the program change in VST 3.

In my use case I don’t need to actually change these with midi commands through a controller. My use case is probably best described as “reset all vst parameters to initial preset values on song load”

A function in layer controls to load preset for specific parts should be fine since I only need to load it in the first part in the song.

1 Like

I’m sorry being so so tired today, but just a quick hint… there are two options in Preferences / MIDI / …

can you make a quick try first on these two maybe? If doesn’t help, at least you know their existence :smiley:

Oh no these are not related to what I’m trying to solve.

What I want to do is select a preset/patch of a shared VST on song load. I can do it simply by sending MSB/LSB/PRG settings of the layer, on the first Part and not sending it on remaining parts if the VST “supports program change messages”.

I guess what I’m trying to find is if someone had a thought about this and figured out another solution which might work with VSTs that don’t support program change messages as well.

This is purely for my ease of mind that I did not modify the intended sound by accidentally moving a bunch of cc sliders and then saved the project while rehearsing :smiley:

Come to think of it since I’m using only 8 sliders and nothing else as cc, I can probably, reset the sound through setting the relevant cc# from here on the first patch to their initial values:

Hm… interesting - catch 22.

The only way I can think of resolving this is to use a MIDI track, or automation, to select a program in the VST. That would occur after VSTL activates the Layer and obviate any unwanted saved changes
Now, as you said, you save a program within the VST and it won’t be there on another PC (or worse it’ll be a completely different sound). That’s a function of the VST rather than its host (i.e. it would be the same problem in Cubase or other) so you would have to work out where your VST saves its user presets and copy those to the other PC. You could write a batch file to automate the transfer of presets which would be a good way to save your sanity but that may adversely affect the other PC if you’re using the VST for anything other than VSTL on that device.

2 Likes