Cardinal icon indicating copy to clipboard operation
Cardinal copied to clipboard

BUG?: Cardinal does not notify host of patch changes, allowing host to exit without warning user of unsaved changes.

Open taji opened this issue 10 months ago • 5 comments

Host: Reaper v6.34 Cardinal: 23.10 Pop OS (Linux)

To reproduce:

  • Add cardinal as a VST in Reaper.
  • Save the Reaper project (RPP) file.
  • Add a module to the patch bay in the Cardinal VST instance.
  • Close the reaper project (without saving). EXPECTED: Reaper (or any other host) should be aware that the plugin has changed and should emit a dialog to warn that your changes haven’t been saved. ACTUAL: Reaper exits without emitting warning. Your changes are now lost.

NOTE: Following the steps above in VCV will cause Reaper to warn you before exiting. I think the difference is that when adding a module, VCV is updating a VST parameter and notifying Reaper of the change. This way Reaper knows to warn the user that his changes are unsaved.

taji avatar Mar 31 '24 15:03 taji

An update:

  • I tested Cardinal version 24.04 and am seeing the following:
  • If I add a module without connecting it to another module then Reaper still exits without warning
  • But if I wire the module to another module, Reaper emits the warning.

So my thinking is that this issue is now fixed to the point where it mostly works. You can close this issue as resolved.

taji avatar Apr 27 '24 23:04 taji

We didn't change anything to this regard.

Did you perhaps connect the Host Params module, or something equivalent from the Cardinal Host modules? These parameters register with the host when you connect them, so it could be that Reaper detected this and now will warn about changes made to the plugin.

dromer avatar Apr 27 '24 23:04 dromer

@dromer , yes you are right. I did exactly that! I went back and tested again with just a simple LFO into SCOPE and the problem is still there. So I guess we keep it open? I am happy to test if/when you have a fix for this.

taji avatar Apr 28 '24 00:04 taji

@taji the problem is that if you don't connect to the Host Params there is no state change to communicate with the host. We shouldn't be making random changes to these parameters, because the user might be using them, so I don't see a good way to "fix" this issue.

dromer avatar Sep 03 '24 13:09 dromer

plugin formats often have a "dirty" flag they can report to hosts, that is how we usually get this functionality when dealing with non-parameter data.

DPF does not have this feature yet, but since LV2, VST3 and CLAP have them I think it makes sense to add it there and then implement in Cardinal. I believe VST2 does not have this feature, not sure about AU.

falkTX avatar Sep 03 '24 14:09 falkTX