diff options
author | Robin Gareus <robin@gareus.org> | 2014-02-25 13:11:07 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-02-25 14:57:59 +0100 |
commit | 0708721b4f9fca3967a6f1c436717ff2aca0baec (patch) | |
tree | 6b9bb5051d10b5c1728a9643bda229bc38be9fee /libs/ardour/plugin_manager.cc | |
parent | 30de04a58ccab82d00ff87ebdd2cece6c0aa388b (diff) |
scan VSTs in background, allow to cancel & timeout
Diffstat (limited to 'libs/ardour/plugin_manager.cc')
-rw-r--r-- | libs/ardour/plugin_manager.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc index 070936add1..c145fd3aa4 100644 --- a/libs/ardour/plugin_manager.cc +++ b/libs/ardour/plugin_manager.cc @@ -187,6 +187,7 @@ PluginManager::refresh (bool cache_only) { DEBUG_TRACE (DEBUG::PluginManager, "PluginManager::refresh\n"); BootMessage (_("Discovering Plugins")); + cancel_scan = false; ladspa_refresh (); #ifdef LV2_SUPPORT @@ -210,12 +211,13 @@ PluginManager::refresh (bool cache_only) PluginListChanged (); /* EMIT SIGNAL */ PluginScanMessage(X_("closeme"), ""); + cancel_scan = false; } void PluginManager::cancel_plugin_scan () { - // TODO + cancel_scan = true; } void @@ -661,6 +663,7 @@ PluginManager::windows_vst_discover_from_path (string path, bool cache_only) if (plugin_objects) { for (x = plugin_objects->begin(); x != plugin_objects->end (); ++x) { + if (cancelled()) break; ARDOUR::PluginScanMessage(_("VST"), **x); windows_vst_discover (**x, cache_only); } @@ -800,6 +803,7 @@ PluginManager::lxvst_discover_from_path (string path, bool cache_only) if (plugin_objects) { for (x = plugin_objects->begin(); x != plugin_objects->end (); ++x) { + if (cancelled()) break; ARDOUR::PluginScanMessage(_("LXVST"), **x); lxvst_discover (**x, cache_only); } |