Clean up LADSPA preset path
* Allow to bundle presets * Do not use /usr/[local] on Windows (This may need further work, for Windows, since default user presets are in `file://$HOME/.ladspa/rdf/`)
This commit is contained in:
parent
340a260b30
commit
5324c9092e
@ -44,6 +44,10 @@
|
||||
class CAComponentDescription;
|
||||
#endif
|
||||
|
||||
namespace PBD {
|
||||
class Searchpath;
|
||||
}
|
||||
|
||||
namespace ARDOUR {
|
||||
|
||||
class Plugin;
|
||||
@ -324,7 +328,7 @@ private:
|
||||
void lxvst_refresh (bool cache_only);
|
||||
void vst3_refresh (bool cache_only);
|
||||
|
||||
void add_lrdf_data (const std::string &path);
|
||||
void add_lrdf_data (PBD::Searchpath const&);
|
||||
void add_lrdf_presets (std::string domain);
|
||||
|
||||
#ifdef AUDIOUNIT_SUPPORT
|
||||
|
@ -720,6 +720,7 @@ LadspaPluginInfo::get_presets (bool /*user_only*/) const
|
||||
|
||||
if (set_uris) {
|
||||
for (uint32_t i = 0; i < (uint32_t) set_uris->count; ++i) {
|
||||
// TODO somehow mark factory presets as such..
|
||||
if (char* label = lrdf_get_label (set_uris->items[i])) {
|
||||
p.push_back (Plugin::PresetRecord (set_uris->items[i], label));
|
||||
}
|
||||
|
@ -195,7 +195,6 @@ PluginManager::PluginManager ()
|
||||
, _enable_scan_timeout (false)
|
||||
{
|
||||
char* s;
|
||||
string lrdf_path;
|
||||
|
||||
#if defined WINDOWS_VST_SUPPORT || defined LXVST_SUPPORT || defined MACVST_SUPPORT || defined VST3_SUPPORT
|
||||
// source-tree (ardev, etc)
|
||||
@ -262,15 +261,21 @@ PluginManager::PluginManager ()
|
||||
load_tags ();
|
||||
load_stats ();
|
||||
|
||||
Searchpath rdfs (ARDOUR::ardour_data_search_path());
|
||||
|
||||
if ((s = getenv ("LADSPA_RDF_PATH"))){
|
||||
lrdf_path = s;
|
||||
rdfs.add_subdirectory_to_paths ("rdf");
|
||||
Searchpath t (s);
|
||||
rdfs += t;
|
||||
} else {
|
||||
#ifndef PLATFORM_WINDOWS
|
||||
rdfs += "usr/local/share/ladspa";
|
||||
rdfs += "usr/share/ladspa";
|
||||
#endif
|
||||
rdfs.add_subdirectory_to_paths ("rdf");
|
||||
}
|
||||
|
||||
if (lrdf_path.length() == 0) {
|
||||
lrdf_path = "/usr/local/share/ladspa/rdf:/usr/share/ladspa/rdf";
|
||||
}
|
||||
|
||||
add_lrdf_data(lrdf_path);
|
||||
add_lrdf_data (rdfs);
|
||||
|
||||
add_lrdf_presets ("ladspa");
|
||||
|
||||
@ -842,7 +847,7 @@ PluginManager::add_lrdf_presets(string domain)
|
||||
}
|
||||
|
||||
void
|
||||
PluginManager::add_lrdf_data (const string &path)
|
||||
PluginManager::add_lrdf_data (Searchpath const& path)
|
||||
{
|
||||
#ifdef HAVE_LRDF
|
||||
vector<string> rdf_files;
|
||||
|
Loading…
Reference in New Issue
Block a user