diff options
author | Robin Gareus <robin@gareus.org> | 2014-03-01 00:56:24 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-03-01 01:01:42 +0100 |
commit | 597db6421ada94023d6087c9eafcdfc5d7610502 (patch) | |
tree | f3fc0653746c3574bf4bf1fd4d60f245e863c887 /libs/ardour | |
parent | ea57962765e7c6cec3c73fd6166e823fef9a089e (diff) |
re-work VST paths configuration.
environment vars provide the "default", but are no longer
relevant once ardour-internal paths are configured.
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/plugin_manager.h | 6 | ||||
-rw-r--r-- | libs/ardour/ardour/rc_configuration_vars.h | 6 | ||||
-rw-r--r-- | libs/ardour/plugin_manager.cc | 53 |
3 files changed, 26 insertions, 39 deletions
diff --git a/libs/ardour/ardour/plugin_manager.h b/libs/ardour/ardour/plugin_manager.h index 2cf0efcd85..17400ea4d8 100644 --- a/libs/ardour/ardour/plugin_manager.h +++ b/libs/ardour/ardour/plugin_manager.h @@ -56,10 +56,8 @@ class LIBARDOUR_API PluginManager : public boost::noncopyable { void clear_vst_cache (); void clear_vst_blacklist (); - const std::string get_windows_vst_path() const { return windows_vst_path; } - const std::string get_lxvst_path() const { return lxvst_path; } - const std::string windows_vst_search_path() const; - const std::string lxvst_search_path() const; + const std::string get_default_windows_vst_path() const { return windows_vst_path; } + const std::string get_default_lxvst_path() const { return lxvst_path; } bool cancelled () { return cancel_scan; } diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h index b14a20e9c0..724c214938 100644 --- a/libs/ardour/ardour/rc_configuration_vars.h +++ b/libs/ardour/ardour/rc_configuration_vars.h @@ -208,10 +208,8 @@ CONFIG_VARIABLE (bool, show_plugin_scan_window, "show-plugin-scan-window", false CONFIG_VARIABLE (bool, discover_vst_on_start, "discover-vst-on-start", false) /* custom user plugin paths */ -CONFIG_VARIABLE (std::string, plugin_path_ladspa, "plugin-path-ladspa,", "") -CONFIG_VARIABLE (std::string, plugin_path_lv2, "plugin-path-lv2,", "") -CONFIG_VARIABLE (std::string, plugin_path_vst, "plugin-path-vst,", "") -CONFIG_VARIABLE (std::string, plugin_path_lxvst, "plugin-path-lxvst,", "") +CONFIG_VARIABLE (std::string, plugin_path_vst, "plugin-path-vst", "@default@") +CONFIG_VARIABLE (std::string, plugin_path_lxvst, "plugin-path-lxvst", "@default@") /* denormal management */ diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc index 97eb1bf1c9..bb3b5c7aec 100644 --- a/libs/ardour/plugin_manager.cc +++ b/libs/ardour/plugin_manager.cc @@ -172,6 +172,14 @@ PluginManager::PluginManager () "/usr/lib/vst:/usr/local/lib/vst"; } + /* first time setup, use 'default' path */ + if (Config->get_plugin_path_lxvst() == X_("@default@")) { + Config->set_plugin_path_lxvst(get_default_lxvst_path()); + } + if (Config->get_plugin_path_vst() == X_("@default@")) { + Config->set_plugin_path_vst(get_default_windows_vst_path()); + } + if (_instance == 0) { _instance = this; } @@ -184,55 +192,38 @@ PluginManager::~PluginManager() { } -const std::string -PluginManager::lxvst_search_path() const -{ - std::string searchpath = lxvst_path; - if (!Config->get_plugin_path_lxvst().empty()) { - searchpath += G_SEARCHPATH_SEPARATOR; - searchpath += Config->get_plugin_path_lxvst(); - } - return searchpath; -} - -const std::string -PluginManager::windows_vst_search_path() const -{ - std::string searchpath = windows_vst_path; - if (!Config->get_plugin_path_vst().empty()) { - searchpath += G_SEARCHPATH_SEPARATOR; - searchpath += Config->get_plugin_path_vst(); - } - return searchpath; -} - void PluginManager::refresh (bool cache_only) { DEBUG_TRACE (DEBUG::PluginManager, "PluginManager::refresh\n"); - BootMessage (_("Discovering Plugins")); cancel_scan = false; + BootMessage (_("Scanning LADSPA Plugins")); ladspa_refresh (); #ifdef LV2_SUPPORT + BootMessage (_("Scanning LV2 Plugins")); lv2_refresh (); #endif #ifdef WINDOWS_VST_SUPPORT if (Config->get_use_windows_vst()) { + BootMessage (_("Scanning Windows VST Plugins")); windows_vst_refresh (cache_only); } #endif // WINDOWS_VST_SUPPORT #ifdef LXVST_SUPPORT if(Config->get_use_lxvst()) { + BootMessage (_("Scanning Linux VST Plugins")); lxvst_refresh(cache_only); } #endif //Native linuxVST SUPPORT #ifdef AUDIOUNIT_SUPPORT + BootMessage (_("Scanning AU Plugins")); au_refresh (); #endif + BootMessage (_("Plugin Scan Complete...")); PluginListChanged (); /* EMIT SIGNAL */ PluginScanMessage(X_("closeme"), "", false); cancel_scan = false; @@ -253,7 +244,7 @@ PluginManager::clear_vst_cache () PathScanner scanner; vector<string *> *fsi_files; - fsi_files = scanner (windows_vst_search_path(), "\\.fsi$", true, true, -1, false); + fsi_files = scanner (Config->get_plugin_path_vst(), "\\.fsi$", true, true, -1, false); if (fsi_files) { for (vector<string *>::iterator i = fsi_files->begin(); i != fsi_files->end (); ++i) { ::g_unlink((*i)->c_str()); @@ -267,7 +258,7 @@ PluginManager::clear_vst_cache () { PathScanner scanner; vector<string *> *fsi_files; - fsi_files = scanner (lxvst_search_path(), "\\.fsi$", true, true, -1, false); + fsi_files = scanner (Config->get_plugin_path_lxvst(), "\\.fsi$", true, true, -1, false); if (fsi_files) { for (vector<string *>::iterator i = fsi_files->begin(); i != fsi_files->end (); ++i) { ::g_unlink((*i)->c_str()); @@ -301,7 +292,7 @@ PluginManager::clear_vst_blacklist () PathScanner scanner; vector<string *> *fsi_files; - fsi_files = scanner (windows_vst_search_path(), "\\.fsb$", true, true, -1, false); + fsi_files = scanner (Config->get_plugin_path_vst(), "\\.fsb$", true, true, -1, false); if (fsi_files) { for (vector<string *>::iterator i = fsi_files->begin(); i != fsi_files->end (); ++i) { ::g_unlink((*i)->c_str()); @@ -315,7 +306,7 @@ PluginManager::clear_vst_blacklist () { PathScanner scanner; vector<string *> *fsi_files; - fsi_files = scanner (lxvst_search_path(), "\\.fsb$", true, true, -1, false); + fsi_files = scanner (Config->get_plugin_path_lxvst(), "\\.fsb$", true, true, -1, false); if (fsi_files) { for (vector<string *>::iterator i = fsi_files->begin(); i != fsi_files->end (); ++i) { ::g_unlink((*i)->c_str()); @@ -648,7 +639,7 @@ PluginManager::windows_vst_refresh (bool cache_only) _windows_vst_plugin_info = new ARDOUR::PluginInfoList(); } - windows_vst_discover_from_path (windows_vst_search_path(), cache_only); + windows_vst_discover_from_path (Config->get_plugin_path_vst(), cache_only); } static bool windows_vst_filter (const string& str, void * /*arg*/) @@ -668,7 +659,7 @@ PluginManager::windows_vst_discover_from_path (string path, bool cache_only) DEBUG_TRACE (DEBUG::PluginManager, string_compose ("detecting Windows VST plugins along %1\n", path)); - plugin_objects = scanner (windows_vst_search_path(), windows_vst_filter, 0, false, true); + plugin_objects = scanner (Config->get_plugin_path_vst(), windows_vst_filter, 0, false, true); if (plugin_objects) { for (x = plugin_objects->begin(); x != plugin_objects->end (); ++x) { @@ -766,7 +757,7 @@ PluginManager::lxvst_refresh (bool cache_only) _lxvst_plugin_info = new ARDOUR::PluginInfoList(); } - lxvst_discover_from_path (lxvst_search_path(), cache_only); + lxvst_discover_from_path (Config->get_plugin_path_lxvst(), cache_only); } static bool lxvst_filter (const string& str, void *) @@ -790,7 +781,7 @@ PluginManager::lxvst_discover_from_path (string path, bool cache_only) DEBUG_TRACE (DEBUG::PluginManager, string_compose ("Discovering linuxVST plugins along %1\n", path)); - plugin_objects = scanner (lxvst_search_path(), lxvst_filter, 0, false, true); + plugin_objects = scanner (Config->get_plugin_path_lxvst(), lxvst_filter, 0, false, true); if (plugin_objects) { for (x = plugin_objects->begin(); x != plugin_objects->end (); ++x) { |