For reasons that some of you may be able to guess, I’d like to add a LADSPA plugin hosting class to JUCE…
Linux is the OS I know the least, and I’ve actually never done any audio work on it, so I’m a bit out of my depth when it comes to how plugins work on there. If I was to start the ball rolling with a half-finished LADSPA class, would anyone be interested in helping me get it working?
FYI, I’ve quickly thrown together a basic LADSPA class, which seems to vaguely work, but I’ve not yet had chance to look at how to do the GUI stuff… Any insight from experienced linuxers would be welcome!
Seems to work fine. The ladspa plugins that load work fine, does that don’t bring down the entire plugin host with a seg fault. A restart will show the bogus plugins in the plugin window.
Someone forgot to call activate/deactivate on those plugins…
Also, to make some of them not crash, we force-call those when initializing them. This fixes most of the plugin crashes (but not all).
This one fully fixes the crashes while looking for LADSPA plugins!
It will take a bit more time to complete the search, but it’s surely better than crashing.
Some LADSPA parameters are “control-outputs”, and should not be changed by the host.
Those will be set as not automable in juce code and the GenericAudioProcessorEditor will not show them.
Though your change to the generic editor doesn’t make much sense: all parameters need to be visible on there, not just ones that are marked as automatable. The idea behind the automatable flag just is that it indicates which params a host should be allowed to vary over time. If a param should not be changed by the host at all, then it shouldn’t appear in the plugin’s parameter list.
I know, but i didn’t find any easy way to do this without modifying either your LADSPA code (needs a little bit of changes) or Juce AudioProcessor class.
Anyway, those control-outputs should NOT be modified by the host. If the host decides to show them, they need to be updated frequently.
Out of curiosity and because I need to write a LADSPA plug: does the introjucer have a LADSPA target in the plugin builder?
If not, what are the required steps to get things rolling for a LADSPA version of a plugin?
[quote=“bdejong”]Out of curiosity and because I need to write a LADSPA plug: does the introjucer have a LADSPA target in the plugin builder?
If not, what are the required steps to get things rolling for a LADSPA version of a plugin?
LV2 isn’t any good for me right now, it needs to be LADSPA as I need to integrate it as an ALSA PCM device…[/quote]
I guess it’s a matter of anyone willing to do the work.
LADSPA has no timePos, UI, state, presets, non-automable parameters, and maybe even more stuff missing (It’s supposed to be the simplest API after all).
With LV2, we can simply add currently non-existing things as extensions.