Cabbage Logo
Back to Cabbage Site

Parameters not saved when used as VST3 in REAPERR

After a long pause I finished a new instrument and exported it as VST3. After loading the plugin into REAPER, at first everything seemed to work perfectly. Selection of presets, automation of parameters etc. But when I saved the .rpp file and loaded it later to continue working it lost all parameter settings. Upon reloading the REAPER project parameters always fall back to the defaults in the range() commands. The .csd file is attached together with some presets.

I tried several things:

  • I removed the preset/combobox mechanism. No change.
  • I went back to the non-queue guiMode. No change.
  • I exported an earlier instrument (Gauss) with the same version of Cabbage. The newly generated VST3 works correctly as the one made half a year ago.

At that point I also saw that I don’t understand how the setting of the sliders works in a VTS3 export. If I start from cabbage it is clear that all sliders are set to the range()-defaults and changed as soon as I select a preset from the combobox. But what happens when I start it from within a DAW? At what time will the parameters saved by the DAW overwrite the defaults? There is one thing in this instrument which I never tried before, ksmps=1. Could this affect the timing?

(14.0 KB) Etude#3.csd (10.8 KB) Etude#3.snaps

Are all the channel names valid xml? I don’t think 'g/w' is a valid xml tag? I will test later myself and see what I can see.

If you use valid channels it will work fine. I doubled checked and although renaming the g/w fixes the issue, it seems that it is also valid XML. So either something else in the Cabbage parser is treating the forward slash as something special, of the JUCE XML parser thinks it’s invalid. Either way, I would recommend against using any non-alphanumeric characters in your channels. :+1:

Thanks a lot, Rory! I would have never found that reason. And I will certainly never use special characters again in channel names.

1 Like

Hey @rorywalsh I am having a similar issue with one of my plugins I updates about a year ago, though I did not rigorously test it until using it again now so this could be an issue that was present them.

Basically, Reaper is not saving/recalling channel values for the plugin. I do not know if this is because I am generating the GUI on load or not, but could you take a look?
Also I will be attending the csound conference this year and I look forward to meeting you in person!

bellforge.csd (28.4 KB)

Something odd here. I’ve tested some sample csd files and they seem to behave as expected. I also created a simple example with dynamic sliders and that worked too. So the question is what’s different with your code :thinking:

I tracked this down to an issue with the preset system. If you use the new preset system it seems to work fine. I’ve attached version that works fine for me. :+1:

BellForge.csd (28.6 KB)

1 Like

Thank you Rory!