diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-05-18 17:24:06 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-05-18 17:24:06 +0000 |
commit | 813c5f0af9d1dac32b156ef3c72b890a7cf9eab5 (patch) | |
tree | 29aa92a68feb1557c60500969d6d5aeade6a2e9b /libs/ardour/template_utils.cc | |
parent | 433b6651ee8450da8282330ac35cb7ec1abbab6f (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.cc | 36 |
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); |