summaryrefslogtreecommitdiff
path: root/libs/ardour/template_utils.cc
blob: 171939dac2ccc4b28e6373f1d95e2388bbde6634 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <algorithm>

#include <pbd/filesystem.h>

#include <ardour/template_utils.h>
#include <ardour/directory_names.h>
#include <ardour/filesystem_paths.h>

namespace ARDOUR {

sys::path
system_template_directory ()
{
	SearchPath spath(system_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;
}

sys::path
user_template_directory ()
{
	sys::path p(user_config_directory());
	p /= templates_dir_name;

	return p;
}

} // namespace ARDOUR