free-audio / clap-imgui-support

Support library for using ImGui in your CLAP plugin
6 stars 1 forks source link

Load more than one clap-saw-demo-imgui plugins crash the host (windows) #2

Open Alpha21016 opened 1 week ago

Alpha21016 commented 1 week ago

I compiled the clap-saw-demo-imgui plugin according to README. When I load only one plugin instance, it works well in the host. But when I load more than one clap-saw plugins, the host will crash. This only occurs in windows host environment such as Bitwig Studio, Reaper. I have tried in macos and there is no problem. I tried to debug the code and found the error located at win-dx12.cpp "_windowHandle = ::CreateWindow". When the second clap-saw plugin is loading, the program crashes before this function "CreateWindow" is finished.

baconpaul commented 1 week ago

Ugh thanks

if you want a pedagogical clap the vstgui version of the clap saw demo may work better. I thought we had solved the multi window problems with imgui but it appears not

baconpaul commented 1 week ago

GitHub.com/surge-synthesizer/clap-saw-demo

Alpha21016 commented 1 week ago

Ugh thanks

if you want a pedagogical clap the vstgui version of the clap saw demo may work better. I thought we had solved the multi window problems with imgui but it appears not

Hi, baconpaul. I'm developing a free DAW software and I choose CLAP as my default plugin format. But I have some difficulties in choosing plugin GUI framework. Considering ambiguity in some open source license and to avoid business disputes, I dont want to use Qt or JUCE. Could you give me some advice which cross-platform(win & mac) GUI framework is more suitable currently? Thanks

baconpaul commented 6 days ago

Well that's a super hard question.

I think imgui is probably also not the answer. the multi window tuff is not well developed.

You may want to consider VSTGUI (which is what the original clap saw demo used).

Some of the game frameworks, like SFML and SDL may be useful also. I've been thinking about writing a plugin with SFML since I have a separate project using it now. I know some folks have had luck initially with bgfx.

In the more-like-a-daw-space vcv rack and Bespoke both successfully use a combination of glfw and nanovg and I know some commercial plugs also use this.

But for all my plugins in production now I use JUCE. I understand the license may be difficult but it really is quality software.

Not really an answer I guess. But my advice if you aren't using QT and JUCE and you don't want to code twice for the native frameworks is probably to explore nanovg

baconpaul commented 6 days ago

https://github.com/memononen/nanovg and https://github.com/IceDragon200/oui-blendish

Alpha21016 commented 6 days ago

Well that's a super hard question.

I think imgui is probably also not the answer. the multi window tuff is not well developed.

You may want to consider VSTGUI (which is what the original clap saw demo used).

Some of the game frameworks, like SFML and SDL may be useful also. I've been thinking about writing a plugin with SFML since I have a separate project using it now. I know some folks have had luck initially with bgfx.

In the more-like-a-daw-space vcv rack and Bespoke both successfully use a combination of glfw and nanovg and I know some commercial plugs also use this.

But for all my plugins in production now I use JUCE. I understand the license may be difficult but it really is quality software.

Not really an answer I guess. But my advice if you aren't using QT and JUCE and you don't want to code twice for the native frameworks is probably to explore nanovg

Thanks for your detailed answer, I will evaluate the options you mentioned