[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:LV2_PATH_str=`$INSTALL_PREFIX/bin/cadence-session-start 
--printLV2_PATH`
/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

INSTALL_PREFIX="/usr/local"

# Export Plugins PATHs
LADSPA_PATH_str=`$INSTALL_PREFIX/bin/cadence-session-start 
--printLADSPA_PATH`
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 LADSPA_PATH="$LADSPA_PATH_str"
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"
exec $CADENCE_SESSION &

unset LADSPA_PATH_str
unset DSSI_PATH_str
unset LV2_PATH_str
unset VST_PATH_str
unset INSTALL_PREFIX




More information about the Devel mailing list