summaryrefslogtreecommitdiff
path: root/libs/ardour/filesystem_paths.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-07-13 16:56:12 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-07-13 16:56:12 -0400
commit1fd2412f5be9a96e5015f81d5c89d88ce730f9c1 (patch)
tree3005a8dc38bb150e100ffd653a0c9682e6681fe5 /libs/ardour/filesystem_paths.cc
parentccdc6fcd6af6a5daa76fe5205acfe6c340673d80 (diff)
Add config/data filesystem paths to search on windows
Diffstat (limited to 'libs/ardour/filesystem_paths.cc')
-rw-r--r--libs/ardour/filesystem_paths.cc26
1 files changed, 24 insertions, 2 deletions
diff --git a/libs/ardour/filesystem_paths.cc b/libs/ardour/filesystem_paths.cc
index 73bfaff137..4c7e996e46 100644
--- a/libs/ardour/filesystem_paths.cc
+++ b/libs/ardour/filesystem_paths.cc
@@ -86,14 +86,30 @@ user_config_directory ()
std::string
ardour_dll_directory ()
{
+#ifdef WIN32
+ std::string dll_dir_path(g_win32_get_package_installation_directory_of_module(NULL));
+ dll_dir_path = Glib::build_filename (dll_dir_path, "lib");
+ return Glib::build_filename (dll_dir_path, "ardour3");
+#else
std::string s = Glib::getenv("ARDOUR_DLL_PATH");
if (s.empty()) {
std::cerr << _("ARDOUR_DLL_PATH not set in environment - exiting\n");
::exit (1);
}
return s;
+#endif
}
+#ifdef WIN32
+SearchPath
+windows_search_path ()
+{
+ std::string dll_dir_path(g_win32_get_package_installation_directory_of_module(NULL));
+ dll_dir_path = Glib::build_filename (dll_dir_path, "share");
+ return Glib::build_filename (dll_dir_path, "ardour3");
+}
+#endif
+
SearchPath
ardour_config_search_path ()
{
@@ -101,7 +117,9 @@ ardour_config_search_path ()
if (search_path.empty()) {
search_path += user_config_directory();
-
+#ifdef WIN32
+ search_path += windows_search_path ();
+#else
std::string s = Glib::getenv("ARDOUR_CONFIG_PATH");
if (s.empty()) {
std::cerr << _("ARDOUR_CONFIG_PATH not set in environment - exiting\n");
@@ -109,6 +127,7 @@ ardour_config_search_path ()
}
search_path += SearchPath (s);
+#endif
}
return search_path;
@@ -121,7 +140,9 @@ ardour_data_search_path ()
if (search_path.empty()) {
search_path += user_config_directory();
-
+#ifdef WIN32
+ search_path += windows_search_path ();
+#else
std::string s = Glib::getenv("ARDOUR_DATA_PATH");
if (s.empty()) {
std::cerr << _("ARDOUR_DATA_PATH not set in environment - exiting\n");
@@ -129,6 +150,7 @@ ardour_data_search_path ()
}
search_path += SearchPath (s);
+#endif
}
return search_path;