X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fsearch_paths.cc;h=96df905eda4315eb2fe1ee2d271f26b905bfded5;hb=0d050de94e3ae5a1a0dc36114df1995b042f3b80;hp=789c9b6b4878fc76cca954df9b0cc232d94cc7cf;hpb=4303fbfc0532cc6253d7b36c2dd1162f79d15e98;p=ardour.git diff --git a/libs/ardour/search_paths.cc b/libs/ardour/search_paths.cc index 789c9b6b48..96df905eda 100644 --- a/libs/ardour/search_paths.cc +++ b/libs/ardour/search_paths.cc @@ -38,6 +38,7 @@ namespace { const char * const backend_env_variable_name = "ARDOUR_BACKEND_PATH"; const char * const surfaces_env_variable_name = "ARDOUR_SURFACES_PATH"; const char * const export_env_variable_name = "ARDOUR_EXPORT_FORMATS_PATH"; + const char * const theme_env_variable_name = "ARDOUR_THEMES_PATH"; const char * const ladspa_env_variable_name = "LADSPA_PATH"; const char * const midi_patch_env_variable_name = "ARDOUR_MIDI_PATCH_PATH"; const char * const panner_env_variable_name = "ARDOUR_PANNER_PATH"; @@ -69,6 +70,16 @@ control_protocol_search_path () return spath; } +Searchpath +theme_search_path () +{ + Searchpath spath (ardour_data_search_path ()); + spath.add_subdirectory_to_paths (theme_dir_name); + + spath += Searchpath(Glib::getenv(theme_env_variable_name)); + return spath; +} + Searchpath export_formats_search_path () { @@ -204,6 +215,7 @@ vst_search_path () } if (p == 0) { +#if ( (defined __i386__) || (defined _M_IX86) ) char *pVSTx86 = 0; std::string pProgFilesX86 = PBD::get_win_special_folder_path (CSIDL_PROGRAM_FILESX86); @@ -218,22 +230,21 @@ vst_search_path () g_free (pVSTx86); } } +#else + // Look for a VST folder under C:\Program Files + char *pVST = 0; + std::string pProgFiles = PBD::get_win_special_folder_path (CSIDL_PROGRAM_FILES); - if (p == 0) { - // Look for a VST folder under C:\Program Files - char *pVST = 0; - std::string pProgFiles = PBD::get_win_special_folder_path (CSIDL_PROGRAM_FILES); - - if (!pProgFiles.empty()) { - if ((pVST = g_build_filename (pProgFiles.c_str(), "Steinberg", "VSTPlugins", NULL))) { - if (Glib::file_test (pVST, Glib::FILE_TEST_EXISTS)) - if (Glib::file_test (pVST, Glib::FILE_TEST_IS_DIR)) - p = g_build_filename (pVST, NULL); + if (!pProgFiles.empty()) { + if ((pVST = g_build_filename (pProgFiles.c_str(), "Steinberg", "VSTPlugins", NULL))) { + if (Glib::file_test (pVST, Glib::FILE_TEST_EXISTS)) + if (Glib::file_test (pVST, Glib::FILE_TEST_IS_DIR)) + p = g_build_filename (pVST, NULL); - g_free (pVST); - } + g_free (pVST); } } +#endif } if (p == 0) {