diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2007-06-27 12:12:51 +0000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2007-06-27 12:12:51 +0000 |
commit | 66caf9b7e53fc41182dd0a21d73c71447ceb4f4b (patch) | |
tree | 1360906850c74118c5bd77d18b15eb44d15ca0ba /libs/ardour/template_utils.cc | |
parent | 7af4e87fa927edf2e29fa74773373c4cd10e9942 (diff) |
Use ARDOUR::system_data_search_path instead of get_system_data_path in ARDOUR::system_template_directory
git-svn-id: svn://localhost/ardour2/trunk@2066 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/template_utils.cc')
-rw-r--r-- | libs/ardour/template_utils.cc | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/libs/ardour/template_utils.cc b/libs/ardour/template_utils.cc index 18d7f33570..5def842c4c 100644 --- a/libs/ardour/template_utils.cc +++ b/libs/ardour/template_utils.cc @@ -1,8 +1,9 @@ +#include <algorithm> #include <pbd/filesystem.h> +#include <pbd/error.h> #include <ardour/template_utils.h> -#include <ardour/ardour.h> #include <ardour/directory_names.h> #include <ardour/filesystem_paths.h> @@ -11,10 +12,19 @@ namespace ARDOUR { sys::path system_template_directory () { - sys::path p(get_system_data_path()); - p /= templates_dir_name; + SearchPath spath(system_data_search_path()); + spath.add_subdirectory_to_paths(templates_dir_name); - return p; + // 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()) + { + warning << "System template directory does not exist" << endmsg; + return sys::path(""); + } + + return *i; } sys::path |