Bug#758888: lmms: Provide links to LADSPA plugins in /usr/lib/ladspa
Antonio Ospite
ao2 at ao2.it
Wed Sep 23 15:19:52 UTC 2015
On Mon, 21 Sep 2015 19:51:05 +0200
Petter Reinholdtsen <pere at hungry.com> wrote:
> [Antonio Ospite]
> > Dear Maintainer,
> >
> > lmms provides quite a few LADSPA plugins, what about making them
> > available to other programs too?
>
> Thank you for the idea. I've been wondering about this a bit lately,
> and one idea was to change the lmms build to install the LADSPA
> plugins in /usr/lib/ladspa/. It seemed like a good idea until I was
> told that the plugins included in lmms also are included in other
> packages, and might cause conflicts.
>
Hi Petter,
about the duplication, the proper solution would be to coordinate
with the other Debian maintainers, which can be hard.
The Debian alternatives system could provide a workaround, but I am no
expert about it.
> I also realised that the /usr/lib/ladspa/ content is architecture
> dependent, and adding a file there break multi-arch support. It is
> thus unclear to me how to handle this in a good way.
>
> For example, if someone install the amd64 and i386 packages including
> LADSPA plugins, which ones should show up in /usr/lib/ladspa/? They
> will work for some programs and not others. One could try to store
> them in /usr/lib/<arch-triplet>/ladspa/ instead, but programs
> supporting the LADSPA specification will not find them there as the
> specification do not mention those directories. Perhaps the best way
> is to use a /etc/profile.d/ fragment to set the LADSPA_PATH
> environment variable to wherever the plugins are installed, and drop
> the idea of one canonical place to find them all? Freshly installed
> plugin packages will only take effect after login / starting a new
> shell, but at least it will handle many plugins in an multi-arch
> environments. Or perhaps all programs should be started using a
> wrapper sourcing LADSPA paths from a .d directory during startup?
>
> I welcome feedback and ideas on how to properly handle this, in a way
> that work with all or most programs using LADSPA plugins,
>
Regarding the plugin path, my use case is to use the vocoder plugin
provided by lmms with GStreamer (see http://ao2.it/109), and the ladspa
element in GStreamer seems to be looking for plugins in these paths:
/usr/lib/ladspa
/usr/local/lib/ladspa
/usr/lib/x86_64-linux-gnu/ladspa
So using /usr/lib/x86_64-linux-gnu/ladspa would work for me.
It also seems a reasonable approach in general.
In Gstreamer the path is defined in the code at build time using LIBDIR,
see
http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/ext/ladspa/gstladspa.c#n147
#define GST_LADSPA_DEFAULT_PATH \
"/usr/lib/ladspa" G_SEARCHPATH_SEPARATOR_S \
"/usr/local/lib/ladspa" G_SEARCHPATH_SEPARATOR_S \
LIBDIR "/ladspa"
So lmms too could adopt a similar strategy and put the plugins under
/usr/lib/x86_64-linux-gnu/ladspa.
And other debian packages can follow the same scheme if they want.
To make this more formal, maybe Debian itself could specify that
packages providing/using LADSPA plugins should use the multi-arch path,
but I do not see myself involved in that.
Thanks,
Antonio
--
Antonio Ospite
http://ao2.it
A: Because it messes up the order in which people normally read text.
See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?
More information about the Debian-edu-pkg-team
mailing list