X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Ffilesystem_paths.cc;h=54f7508b659d92ce55b34410dcbbd1fb35b26f1b;hb=456fb789d3adcdb52de3abd863c1bf64c973effa;hp=d3ec807e1c67cb73a6bada3be94262cb789826ae;hpb=a096461c5c17c5681699dddb4946bde3aaf069a8;p=ardour.git diff --git a/libs/ardour/filesystem_paths.cc b/libs/ardour/filesystem_paths.cc index d3ec807e1c..54f7508b65 100644 --- a/libs/ardour/filesystem_paths.cc +++ b/libs/ardour/filesystem_paths.cc @@ -86,52 +86,71 @@ user_config_directory () std::string ardour_dll_directory () { - static std::string s; - +#ifdef PLATFORM_WINDOWS + 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()) { - s = Glib::getenv("ARDOUR_DLL_PATH"); std::cerr << _("ARDOUR_DLL_PATH not set in environment - exiting\n"); ::exit (1); - } - + } return s; +#endif } -SearchPath +#ifdef PLATFORM_WINDOWS +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 () { - static SearchPath search_path; + static Searchpath search_path; if (search_path.empty()) { search_path += user_config_directory(); - +#ifdef PLATFORM_WINDOWS + 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"); ::exit (1); } - search_path += SearchPath (s); + search_path += Searchpath (s); +#endif } return search_path; } -SearchPath +Searchpath ardour_data_search_path () { - static SearchPath search_path; + static Searchpath search_path; if (search_path.empty()) { search_path += user_config_directory(); - +#ifdef PLATFORM_WINDOWS + 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"); ::exit (1); } - search_path += SearchPath (s); + search_path += Searchpath (s); +#endif } return search_path;