X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Ftemplate_utils.cc;h=5def842c4cafe47ab70c20a8ee71963916a0eea3;hb=22067eaddbe989a33bae4df42a3bdabb1cbfa328;hp=18d7f3357066abc8a5d9b629d880309008ef7232;hpb=283e8f211fc6efaa577bcb9bc7945eae42fdf8c5;p=ardour.git 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