lucianodato / noise-repellent

Lv2 suite of plugins for broadband noise reduction
GNU Lesser General Public License v3.0
463 stars 39 forks source link

Juce or DISTHRO Plugin Framework migration #27

Open lucianodato opened 7 years ago

lucianodato commented 7 years ago

For a gui and better features

simonvanderveldt commented 4 years ago

@lucianodato Thanks for the plugin! If you're still considering migrating to a framework I'd like to suggest using disthro. JUCE is a nightmare, especially on Linux and it doesn't have LV2 support.

lucianodato commented 4 years ago

Thanks! I do have a branch where I've started that long ago

lucianodato commented 3 years ago

I got back to reading about the convenience of going juce or not. I think I might go with juce. I remember starting with the dpf migration but honestly I prefer juce given the documentation and that I have limited skills in plugin development. Any opinions?

simonvanderveldt commented 3 years ago

@lucianodato I'd be surprised if JUCE is really easier, it does have a lot more magic though :P @falkTX did a talk about DPF quiet some time ago https://www.youtube.com/watch?v=FkHDs3Y18VY, I'm not sure there's anything newer about it. He also maintains a fork of JUCE with LV2 support. He might have a suggestion or two.

lucianodato commented 3 years ago

Yeah I saw this thread https://github.com/juce-framework/JUCE/issues/123. There are some hopes about it being integrated in the near future. Probably falktx knows more. Thanks for your response.

falkTX commented 3 years ago

For plugins on the more simple side JUCE is quite bloated. DPF has VST3 support in the works, API is just as simple and supports LV2 from the get-go. Oh and DPF is open to pull requests, something that JUCE is not (so you just hope they care enough about your specific issues)

PS: I hate that talk.. was not in the best mood that day :sweat_smile:

falkTX commented 3 years ago

and related to documentation, that is going to be a target for October. with my employer (MOD Devices) we need to focus on plugin documentation to make the platform appealing to new devs, and DPF is the chosen framework for those that do not want to do raw LV2. (JUCE LV2 support is subpar, due it always been ignored for so many years, and the official one is likely still months away).

pms967 commented 3 years ago

I'd say JUCE over DISTHRO. Though you may want to have a look also at this new one:

https://dplug.org/

falkTX commented 3 years ago

dplug requires rewriting in a new language, that is likely out of scope.

note though you can use the DPF graphics stuff with the current LV2 plugin, no need to rework the entire thing if all you want is a custom UI. I can help to set this up if it is wanted, as it is not a typical usecase.

falkTX commented 3 years ago

Sorry to bump so much, I was in the middle of writing something that is relevant here, a table of supported plugin features within DPF. https://github.com/DISTRHO/DPF/blob/develop/FEATURES.md

Makes it much clearer what is available.

lucianodato commented 3 years ago

Hey falktx! Thanks for the clarifications. I'll keep looking at the possibilities. Thing is that I'm on a windows machine now and don't really know how to start with dpf on windows. That's my lazy self though, I'll look into it for sure!

lucianodato commented 3 years ago

I've just found this which can be a more plausible approach for what I want https://jatinchowdhury18.medium.com/building-lv2-plugins-with-juce-and-cmake-d1f8937dbac3

falkTX commented 3 years ago

DPF supports cmake too, should be as simple as this https://github.com/DISTRHO/DPF/blob/main/examples/Parameters/CMakeLists.txt

but anyway, not trying to push you, use whatever works best. though as someone else mentioned here on the beginning:

JUCE is a nightmare, especially on Linux

There are pros and cons, evaluate carefully and all that. JUCE for sure has the biggest community around it, for being more popular. The company behind iLok owns them now though, something perhaps worth considering.

lucianodato commented 3 years ago

Thanks for your input! Yeah you might be right on this one... I'll stay open. Need to weight all the possibilities yet. And, big one, read the code again to remember it lol!