From 66caf9b7e53fc41182dd0a21d73c71447ceb4f4b Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Wed, 27 Jun 2007 12:12:51 +0000 Subject: 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 --- libs/ardour/template_utils.cc | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'libs/ardour/template_utils.cc') 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 #include +#include #include -#include #include #include @@ -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 -- cgit v1.2.3