[LV2] Ardour doesn't find lv2

rosea.grammostola rosea.grammostola at gmail.com
Wed Dec 12 02:20:19 PST 2012

On 12/12/2012 10:29 AM, rosea.grammostola wrote:
> On 12/12/2012 02:27 AM, David Robillard wrote:
>> On Wed, 2012-12-12 at 01:11 +0100, rosea.grammostola wrote:
>>> On 12/12/2012 12:00 AM, David Robillard wrote:
>>>> On Tue, 2012-12-11 at 23:41 +0100, rosea.grammostola wrote:
>>>> [...]
>>>>> Anyway, if I do
>>>>> echo $LV2_PATH
>>>>> I get an empty line
>>>> There is a big difference between an environment variable being set to
>>>> the empty string, and the environment variable not being set at all.
>>>> Both will print nothing for this command. As I mentioned earlier,
>>>> 'export' will print all set environment variables.
>>>> Perhaps yours has been set to the empty string? This will result in
>>>> zero plugins. You can use 'unset LV2_PATH' to unset it.
>>>>> If I do
>>>>> LV2_PATH=/usr/lib/lv2
>>>>> lv2ls works (but only in the terminal in which I set the path)
>>>>> lv2ls contains some weird files
>>>> [snip]
>>>> All valid URIs, this looks fine.
>>>> -dr
>>> This also?
>>> ~$ lv2ls
>>> file:///usr/lib/lv2/StereoInOut.ingen/StereoInOut.ttl
>>> http://studionumbersix.com/foo/lv2/yc20
>>> urn:50m30n3:plugins:SO-404
>>> urn:50m30n3:plugins:SO-666
>>> urn:50m30n3:plugins:SO-kl5
>>> urn:juce:TalDub3
>>> urn:juce:TalFilter
>>> urn:juce:TalFilter2
>>> urn:juce:TalReverb
>>> urn:juce:TalReverb2
>>> urn:juce:TalReverb3
>> Yes. There is no rule that URIs have to be HTTP URIs or anything like
>> that. Any valid URI will do, though I certainly don't think using URNs
>> for plugins is a very good idea, it's not invalid.
>> The first is an Ingen patch. As it happens, an Ingen patch saved
>> anywhere is inherently an LV2 plugin. If you save to ~/.lv2 it will
>> show up automatically in hosts. Not a long-term stable or portable URI,
>> but it is convenient sometimes.
>>> export
>>> declare -x LV2_PATH=""
>> That's your problem. An empty path contains no plugins.
>> Please let me know how it got this way when you figure it out. I could
>> make lilv interpret the empty string as unset, though this would make it
>> impossible to completely disable the path, which might not be good. I
>> don't know any precedent here, but I'm hesitant to remove power to work
>> around what seems like an rather uncommon PEBKAC.
> If I do
> export LV2_PATH=~/.lv2:/usr/lib/lv2:/usr/local/lib/lv2
> Then everything works normal for *that terminal/xterm*
> If I do export in an other terminal I get still
> declare -x LV2_PATH=""

Could this have something to do with it?

# grep -r LV2_PATH /etc
/etc/X11/Xsession.d/99cadence-session-start:export LV2_PATH="$LV2_PATH_str"
/etc/X11/Xsession.d/99cadence-session-start:unset LV2_PATH_str

# Cadence Session Startup


# Export Plugins PATHs
DSSI_PATH_str=`$INSTALL_PREFIX/bin/cadence-session-start --printDSSI_PATH`
LV2_PATH_str=`$INSTALL_PREFIX/bin/cadence-session-start --printLV2_PATH`
VST_PATH_str=`$INSTALL_PREFIX/bin/cadence-session-start --printVST_PATH`

export DSSI_PATH="$DSSI_PATH_str"
export LV2_PATH="$LV2_PATH_str"
export VST_PATH="$VST_PATH_str"

# Start JACK (or not), according to user settings
CADENCE_SESSION="$INSTALL_PREFIX/bin/cadence-session-start -s"

unset LADSPA_PATH_str
unset DSSI_PATH_str
unset LV2_PATH_str
unset VST_PATH_str

More information about the Devel mailing list