diff options
Diffstat (limited to 'libs/ardour/search_paths.cc')
-rw-r--r-- | libs/ardour/search_paths.cc | 17 |
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 |