Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Alpha21016 opened this issue Sep 23, 2024 · 6 comments

Comments

@Alpha21016
Copy link

Alpha21016 commented Sep 23, 2024

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
Copy link
Contributor

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
Copy link
Contributor

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

@Alpha21016
Copy link
Author

Alpha21016 commented Sep 25, 2024

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
Copy link
Contributor

baconpaul commented Sep 25, 2024

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
Copy link
Contributor

@Alpha21016
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants