probonopd / MultiDexed

MultiDexed
10 stars 1 forks source link

Works standalone, crashes in REAPER #15

Closed probonopd closed 1 year ago

probonopd commented 1 year ago

This plugin is supposed to recreate a "Unison" effect for the Dexed synthesizer:

As of 63b1258, this works standalone, but crashes in REAPER.

It has taken me weeks now to wrap my head around JUCE but I must be missing something quite essential, since not even the examples that come with JUCE seem to be working for me.

Be sure to switch on the sound by using the loudspeaker icon in the borttom right of the video:

https://github.com/probonopd/MultiDexed/assets/2480569/b1fd662a-7b84-4be5-93bb-41dee05ee223

The only plugin that seemingly can load plugins and do the kinds of things I am looking to do here appears to be pluginguru Unify by @getdunne which is an awesome plugin that can do 1,001 things more than what I am trying to do here. And unfortunately I can't use it because it doesn't work on the OSes I am interested in (Linux, FreeBSD).

Cross-reference:

probonopd commented 1 year ago

...and the Windows VST3 running in REAPER doesn't have the sliders working at all. They are just blocked. (I can still edit the parameters by clicking on the "UI" button in REAPER through.)

Why am I getting different issues on different OSes? Isn't JUCE supposed to work the same on all platforms?

getdunne commented 1 year ago

Have a look at Kushview Element: https://github.com/kushview/element. GPL-3, runs on Linux/Mac/Win, Linux build available: https://github.com/kushview/element/releases/tag/0.46.6

probonopd commented 1 year ago

Thanks @getdunne. I had a look at it but it also seems to do way more than what I need.

Turns out that the issues only appear when trying to load a JUCE 6 based plugin (here: Dexed 0.9.6) into this host plugin; the issues go away when using the NIGHTLY build of Dexed which is based on JUCE 7.

reuk over at the JUCE forum suggested:

Dexed 0.9.6 was using JUCE 6, which didn’t have very good support for the event loop on Linux. I expect that you might see crashes due to threading issues, or due to undelivered messages in this case

So I was trying to solve the issues in the wrong place (my code) all the time when in fact the issues were somewhere else entirely (Linux threading/event loop/messages in JUCE 6).

In any case, thanks a lot for your help!