When I export audio from my DAW, the parameters of the plugins reset.
Also, in the resulting export, the VST is bypassed.
I tried saving a preset with parameters set to non-default values, but the values after exporting keep being reset to default ones, even though the preset name is the right one and not the default one.
Other issue, there is no sound after the export. I found the issue: it’s because of this code block:
if kSustainOutput==1 then
if ksustaincolor!=0 then
a1diffsustain applyColor a1diffsustain, kcolor, ksustaincolor, ksustaingain
a2diffsustain applyColor a2diffsustain, kcolor, ksustaincolor, ksustaingain
endif
a1out = a1diffsustain
a2out = a2diffsustain
elseif kFullOutput==1 then
a1out = a1w
a2out = a2w
elseif kTransientsOutput==1 then
if kattackcolor!=0 then
a1difftransients applyColor a1difftransients, kattackcolorprocessed, kattackcolor, kattackgain
a2difftransients applyColor a2difftransients, kattackcolorprocessed, kattackcolor, kattackgain
endif
a1out = a1difftransients
a2out = a2difftransients
endif
These three k rate variables are controlled by the buttons in the middle, and control which signal should be assigned to a1out and a2out. After exporting, I think the issue is related to the previous one and none of these conditions are met so the signal is not defined. I have the intuition fixing the first issue would fix this one.
When I save my project before exporting, it works. Both the resulting audio is the dry signal, and the parameters are not reset, and I don’t have to click on one of the buttons in the middle to have song going through the plugin.
Now when I change the parameters again, and don’t save, the parameters reset to the latest values before saving. And I don’t have any issues with the three buttons in the middle.
Wow, this bug popped up years ago and @chronopolis and I spent quite some time fixing it. I’ll take a look and see if I can sort it. I think it has to do with the fact that when we export audio from Live, it calls the prepareToPlay function (setupProcessing() is VST parlance). This recompiles Csound which in turn return parameters to their default values. At least I’m not starting from scratch on this one. I’ll let you know when I have a fix.
I also had a few crashes yesterday. Mostly when Ableton Live and my plugin was loaded, then I was doing something else on my computer for a few minutes when I tried to use ableton again the program stopped responding. The logs aren’t that useful and I had a lot of troubles reproducing these bugs…. Until I unplugged my monitor, it crashed again and in the logs something like « Core Audio changing to…. » appeared. It looks like it was always the last output before every crash. I don’t know if it’s a consequence or a cause of the crash but I’ll investigate, and I’ll open a new topic!
Thank you very much Rory! Yes I am definitely dedicating a lot of time on my plugins at the moment, and I try to make songs with it so it’s a good way to find bugs.
Most of the time it works well though, thanks again for all your hard work on Cabbage!
I’m working on it. The larger project is messy and it’s hard to spot the issue in this context.
The first bug (parameters reset when you export) can be reproduced with the basic Cabbage gain example. I’m trying to reproduce the gentable bug now, i’ll keep you updated!
I think that’s the key. If you export at the same SR it works fine, which is why I wasn’t seeing the problem. Ok, I’m good to go now. I’ll let you know when I have something for you to test
[edit] I deleted my previous post by accident.. but you get the gist from this one. I wasn’t exporting at a different SR..
It seems that unlike almost every other DAW I know, Live doesn’t update the internal state of the plugin when users change parameters. I’ll have to do this differently when the plugin is loaded in Live. Should be simple enough..
[edit] Looks like I as going about this the wrong way entirely. After further reading it seems that Live is actually behaving according to the VST guidelines