summaryrefslogtreecommitdiff
path: root/libs/ardour/template_utils.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-05-18 17:24:06 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-05-18 17:24:06 +0000
commit813c5f0af9d1dac32b156ef3c72b890a7cf9eab5 (patch)
tree29aa92a68feb1557c60500969d6d5aeade6a2e9b /libs/ardour/template_utils.cc
parent433b6651ee8450da8282330ac35cb7ec1abbab6f (diff)
major rationalization of use of search paths. ardour now has just 4 functions used to define how external resources are located: ardour_config_search_path() (for system or user specific configuration data), ardour_data_search_path() (for machine, user and system independent data), ardour_dll_directory() (base directory where shared libraries are found) and user_config_directory(). These are now used throughout the code. the config, data and dll paths/directories can be overridden by environment variables. the user config dir is added as the first element of the first two search paths, and use selectively when searching for a few other things.
This commit re-enabes ./waf install, and it is believed that it works fully at this point (more testing likely required) git-svn-id: svn://localhost/ardour2/branches/3.0@12326 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/template_utils.cc')
-rw-r--r--libs/ardour/template_utils.cc36
1 files changed, 11 insertions, 25 deletions
diff --git a/libs/ardour/template_utils.cc b/libs/ardour/template_utils.cc
index 388e09fab1..3e4797dac1 100644
--- a/libs/ardour/template_utils.cc
+++ b/libs/ardour/template_utils.cc
@@ -19,32 +19,20 @@ using namespace PBD;
namespace ARDOUR {
-sys::path
-system_template_directory ()
+SearchPath
+template_search_path ()
{
- SearchPath spath(system_data_search_path());
+ SearchPath spath (ardour_data_search_path());
spath.add_subdirectory_to_paths(templates_dir_name);
-
- // just return the first directory in the search path that exists
- SearchPath::const_iterator i = std::find_if(spath.begin(), spath.end(), sys::exists);
-
- if (i == spath.end()) return sys::path();
-
- return *i;
+ return spath;
}
-sys::path
-system_route_template_directory ()
+SearchPath
+route_template_search_path ()
{
- SearchPath spath(system_data_search_path());
+ SearchPath spath (ardour_data_search_path());
spath.add_subdirectory_to_paths(route_templates_dir_name);
-
- // just return the first directory in the search path that exists
- SearchPath::const_iterator i = std::find_if(spath.begin(), spath.end(), sys::exists);
-
- if (i == spath.end()) return sys::path();
-
- return *i;
+ return spath;
}
sys::path
@@ -61,7 +49,7 @@ user_route_template_directory ()
{
sys::path p(user_config_directory());
p /= route_templates_dir_name;
-
+
return p;
}
@@ -100,8 +88,7 @@ find_session_templates (vector<TemplateInfo>& template_names)
{
vector<string *> *templates;
PathScanner scanner;
- SearchPath spath (system_template_directory());
- spath += user_template_directory ();
+ SearchPath spath (template_search_path());
templates = scanner (spath.to_string(), template_filter, 0, true, true);
@@ -137,8 +124,7 @@ find_route_templates (vector<TemplateInfo>& template_names)
{
vector<string *> *templates;
PathScanner scanner;
- SearchPath spath (system_route_template_directory());
- spath += user_route_template_directory ();
+ SearchPath spath (route_template_search_path());
templates = scanner (spath.to_string(), route_template_filter, 0, false, true);