Open dromer opened 3 years ago
Hello dromer,
thanks for your comment and suggestion! Currently I am struggling with getting the AU-support for OSX ready so LV2 will definitely have to wait for some time. My problem with forks in general is that it is not clear whether those will be kept in sync with the official release. And as far as I know Raw Materials Software has no plans to support LV2 because of the low volume. But I shall have a look at your links and check whether there are only a few LV2 wrapper classes added in the fork or some more cross-cutting changes in the JUCE framework were done.
Best regards Prof Spock
Hello dromer,
I have looked into the recent JUCE7 implementation that for the first time officially adds support for LV2 and toyed around with it, but with no real success.
Unfortunately the implementation of an LV2 plugin is not just done by providing some simple cross-platform component (like for AU and VST) and then embedded it somehow into the JUCE framework. LV2 requires a description file in so-called Turtle/RDF format that contains detailed UI-related information.
Currently JUCE is generating this resource file via a dedicated wrapper, but this seemingly rules out any plugins with UIs that are dynamically generated and add or remove UI elements at run-time.
But the SoXPlugins rely on such a mechanism. E.g. the SoXFilter UI adapts dynamically to the filter kind selected in a drop-down box, the SoXPhaserAndTremolo UI changes when you select another effect kind and the SoXCompander UI switches between multiple bands and re-colors the UI as needed.
For now I think it is not yet reasonable to provide an LV2 version of the SoX plugins. The support in JUCE seems to be in early stages, there are still no tutorials or detailed discussions on how to implement LV2 plugins with JUCE. Hence I am waiting until things will stabilize.
Sorry to disappoint you. I'll keep you posted.
Best regards, Prof. Spock
I see, this indeed complicates things. Often the ttl file is generated based on your plugin dll/so file, but if you say the interface can change dynamically this would indeed complicate things a lot.
Thank you for looking in to it!
If possible can you provide LV2 builds by using one of the available JUCE forks like https://github.com/DISTRHO/JUCE and https://github.com/lv2-porting-project/JUCE/tree/lv2
Jatin Chowdhury from https://chowdsp.com has a nice blogpost about this for JUCE projects: https://jatinchowdhury18.medium.com/building-lv2-plugins-with-juce-and-cmake-d1f8937dbac3
cheers!