+
+void*
+MidiPatchManager::_midnam_load (void* arg)
+{
+ MidiPatchManager* mpm = (MidiPatchManager *) arg;
+ mpm->load_midnams ();
+ return 0;
+}
+
+void
+MidiPatchManager::load_midnams ()
+{
+ {
+ PBD::Unwinder<bool> npc (no_patch_changed_messages, true);
+ for (Searchpath::const_iterator i = _search_path.begin(); i != _search_path.end(); ++i) {
+ add_midnam_files_from_directory (*i);
+ }
+ }
+
+ PatchesChanged (); /* EMIT SIGNAL */
+}
+
+void
+MidiPatchManager::load_midnams_in_thread ()
+{
+ pthread_create_and_store (X_("midnam"), &_midnam_load_thread, _midnam_load, this);
+}