Automation of LV2 plugin properties.
[ardour.git] / libs / ardour / midi_patch_manager.cc
index 4587b1aad9d483243f963ffa14b467eb04db553c..ab66949326e88360299cc631d87aa62d886454fc 100644 (file)
@@ -50,6 +50,7 @@ void
 MidiPatchManager::set_session (Session* s)
 {
        SessionHandlePtr::set_session (s);
+       refresh ();
        add_session_patches ();
 }
 
@@ -68,10 +69,9 @@ MidiPatchManager::add_session_patches ()
 
        assert (Glib::file_test (path_to_patches, Glib::FILE_TEST_IS_DIR));
 
-       Glib::PatternSpec pattern(string("*.midnam"));
        vector<std::string> result;
 
-       find_matching_files_in_directory (path_to_patches, pattern, result);
+       find_files_matching_pattern (result, path_to_patches, "*.midnam");
 
        info << "Loading " << result.size() << " MIDI patches from " << path_to_patches << endmsg;
 
@@ -104,10 +104,9 @@ MidiPatchManager::refresh()
        _all_models.clear();
 
        Searchpath search_path = midi_patch_search_path ();
-       Glib::PatternSpec pattern (string("*.midnam"));
        vector<std::string> result;
 
-       find_matching_files_in_search_path (search_path, pattern, result);
+       find_files_matching_pattern (result, search_path, "*.midnam");
 
        info << "Loading " << result.size() << " MIDI patches from " << search_path.to_string() << endmsg;
 
@@ -146,5 +145,7 @@ void
 MidiPatchManager::session_going_away ()
 {
        SessionHandlePtr::session_going_away ();
-       refresh ();
+       _documents.clear();
+       _master_devices_by_model.clear();
+       _all_models.clear();
 }