DISTRHO / Cardinal

Virtual modular synthesizer plugin
https://cardinal.kx.studio/
GNU General Public License v3.0
2.3k stars 154 forks source link

Cardinal VST3, the sound goes thru even without connections #626

Open subderground opened 8 months ago

subderground commented 8 months ago

Hi, I allways install the "normal" Cardinal version (not Fx or synth). But I just noticed that in the last version VST3, the audio is routing thru even if there is no in/out connected inside Cardinal. I have tried LV2 Cardinal version and this works normally (no cable connected -> no sound).
Could you check that ? (edit) I thought it was because it's labeled VST3i in Reaper, but it's not that because the previous 23.7 VST3version works normally (no cable connected -> no sound) & is labeled VST3i too. Many thanks. T

rafaelferreiraql commented 8 months ago

I just updated to 23.10 and am having this issue as well.

rafaelferreiraql commented 8 months ago

UPDATE: Ok I think I know what's going on now. From the 23.10 changelog,

Set main variant as synth type

In Reaper, VST instruments mix with oncoming input by default (currently looking if theres any way around that). Personally I don't think that's too helpful, considering the "Main" version is the only one which allows using Audio 8, clearly made for utilizing incoming audio... Which one would usually not use as mixed with incoming input. Maybe that change makes more sense for other DAWs which tread fx and instruments more differently.

EDIT2: Ok so I kinda spoke out of my ass on that one, VST3i does not necessarily mix with incoming audio in Reaper, as I just found out. That's deliberate. Either way, still a problem if you want to use main Cardinal as an effect.

subderground commented 7 months ago

Yes, Cardinal Vst3 doesn't match with a real hardware at this point of view. Audio signal should be muted if not connected. My 2 cents.😉

beguinne commented 5 months ago

Audio still passes through the main variant VST3i as of 24.05. In REAPER you can get the behavior you want by adding extra channels for audio input into Cardinal and connecting the pins something like this in conjunction with a JS Channel Mapper / Downmixer. But I agree it'd be simpler if sound only passed through once you patch it in the plugin.

reaper_YQMolXIR4m

rafaelferreiraql commented 5 months ago

Audio still passes through the main variant VST3i as of 24.05. In REAPER you can get the behavior you want by adding extra channels for audio input into Cardinal and connecting the pins something like this in conjunction with a JS Channel Mapper / Downmixer. But I agree it'd be simpler if sound only passed through once you patch it in the plugin.

Yea, the thing about the workaround is that it's already taking away two additional channels just for it. Given one of the main reasons someone would want to insist on using main Cardinal rather than Cardinal FX would be having access to extra channels, it just becomes more of a mess.

beguinne commented 5 months ago

Ah, so the audio channels of a track in REAPER are separate from the Cardinal plugin's input and output channels. You may add as many extra channels in REAPER as you like and map them to Cardinal's channels in such a way that your input audio dodges the problematic Cardinal channels. So you won't lose access to any of Cardinal's channels if you set it up something like this (there are a lot of ways to do it, but this is an example that shows both mono and stereo I/O):

reaper_msUH3NMiTA

cPG0ddRQN1

I've attached this example project here. But yeah I agree this is pretty messy just to avoid the issue of audio passing through.

Cardinal input routing in REAPER.zip

falkTX commented 3 weeks ago

Note that this might be an issue with the VST3 version in particular, due to how buses work on VST3 being quite complex I might have the implementation wrong.

Try the CLAP and LV2 versions, they should have different behaviour. Particularly the LV2 one should work without issues I believe, because there is no fancy bus mechanisms there, all ports are exposed by default on LV2 side

rafaelferreiraql commented 3 weeks ago

I'm glad this is being looked into! Note that up to at least version 23.07 the VST3 works as it should, so I guess that's a good reference point.

Try the CLAP and LV2 versions, they should have different behaviour. Particularly the LV2 one should work without issues I believe, because there is no fancy bus mechanisms there, all ports are exposed by default on LV2 side

Well, a bit unrelated to this issue but I tried CLAP (extracted it on my personal vst folder as I would any other plugin) and got this unfortunate result. image

(LV2 is recognized but straight up refuses to open, on my Reaper at least)