summaryrefslogtreecommitdiff
path: root/libs/ardour/search_paths.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/search_paths.cc')
-rw-r--r--libs/ardour/search_paths.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/ardour/search_paths.cc b/libs/ardour/search_paths.cc
index 0fc9f0c4f5..ca489063d3 100644
--- a/libs/ardour/search_paths.cc
+++ b/libs/ardour/search_paths.cc
@@ -31,6 +31,7 @@ namespace {
const char * const surfaces_env_variable_name = "ARDOUR_SURFACES_PATH";
const char * const export_env_variable_name = "ARDOUR_EXPORT_FORMATS_PATH";
const char * const ladspa_env_variable_name = "LADSPA_PATH";
+ const char * const midi_patch_env_variable_name = "ARDOUR_MIDI_PATCH_PATH";
} // anonymous
using namespace PBD;
@@ -109,4 +110,20 @@ lv2_bundled_search_path ()
return spath;
}
+Searchpath
+midi_patch_search_path ()
+{
+ Searchpath spath (ardour_data_search_path());
+ spath.add_subdirectory_to_paths(midi_patch_dir_name);
+
+ bool midi_patch_path_defined = false;
+ Searchpath spath_env (Glib::getenv(midi_patch_env_variable_name, midi_patch_path_defined));
+
+ if (midi_patch_path_defined) {
+ spath += spath_env;
+ }
+
+ return spath;
+}
+
} // namespace ARDOUR