With a little help from falkTX, I’ve applied the LV2 wrapper to K-Meter (http://code.mzuther.de/kmeter/) today. Doing the change was easy, and after ironing out two small bugs, the resulting plug-in seems to work perfectly in both jalv 1.4.0 and Ardour 3.
I’d love to see this code merged into JUCE so that plug-in designers can start using it. In my opinion, an LV2 hosting class could follow later, but I feel that LV2 could do with some momentum…
Just a small update: I’ve already converted two other plug-ins. traKmeter (http://code.mzuther.de/trakmeter/) works fine while the other (unreleased) one still needs some tweaking of the accompanying RDF files but works fine otherwise.
Juce-4 is coming and this seems to be getting ignored...
I recently made the code so that all features are enabled by default.
See the macros at https://github.com/DISTRHO/DISTRHO-Ports/blob/master/libs/juce/source/modules/juce_audio_plugin_client/LV2/juce_LV2_Wrapper.cpp#L18
Besides those there's only a 'JucePlugin_LV2Category' to set a custom category (I can give you a list of the valid ones so they can go into IntroJucer).
Not setting that macro is fine. The code also uses JucePlugin_IsSynth just in case.
Parameters, presets, state, time information and UI is all working.
The only thing that the code needs right now is getting rid of the custom base64 function and using the new juce one.
I know Juce cannot load LV2 plugins right now, but the same is true for RTAS and AAX plugins.
Juce-4 sounds like the perfect time for the LV2 wrapper inclusion in Juce.
So, an LV2 wrapper is in the plans ? But not LADSPA ? Seems fair enough, because I think that an LV2 plugin can be used in an LADSPA host, without the GUI.
Ok, bummer. I have a project where I use the ALSA LADSPA PCM plugin (which can only use LADSPA plugins), and AFAIK there is no LV2 variant of it. And, for synergetic effects, I’d like to implement my plugin in JUCE to get more “bang for the buck”.
I am new to this but am very interested in trying the LV2 wrapper for JUCE. Is the best starting point still the DISTRHO code in github and the details in this thread?
Prioritising LV2 I guess is a bit low at the moment without a large number of big hosts supporting it and hence without much user demand, but it would be cool to have this as an option so we can start to see more plugins offering LV2 and maybe host adoption would pick up the pace a little.
We’ve no objection to supporting it in principle - we’ll certainly take a look at any PR you want to offer!
(I think the main thing that scares us is the idea of maintaining yet another format, especially when it’s likely to only be used by a very small number of people)
Today, the list of hosts compatible with LV2 is quite short indeed : Ardour, Harrison Mixbus, Calf Studio Gear, Qtractor, Traverso DAW, MusE and Audacity. I guess Tracktion/Waveform would get it as well if the JUCE hosting code for LV2 becomes available.
Otherwise, LV2 support is linked with people interest and major DAWs compatibility. Sounds quite like a “Chicken or the Egg” problem for now !
Maybe including the existing LV2 base code would not involve any additional support in the future if the format is already stable enough ?