+ PluginScanMessage(X_("closeme"), "", false);
+ _cancel_scan = false;
+}
+
+void
+PluginManager::cancel_plugin_scan ()
+{
+ _cancel_scan = true;
+}
+
+void
+PluginManager::cancel_plugin_timeout ()
+{
+ _cancel_timeout = true;
+}
+
+void
+PluginManager::clear_vst_cache ()
+{
+ // see also libs/ardour/vst_info_file.cc - vstfx_infofile_path()
+#ifdef WINDOWS_VST_SUPPORT
+ {
+ PathScanner scanner;
+ vector<string *> *fsi_files;
+
+ fsi_files = scanner (Config->get_plugin_path_vst(), "\\.fsi$", true, true, -1, false);
+ if (fsi_files) {
+ for (vector<string *>::iterator i = fsi_files->begin(); i != fsi_files->end (); ++i) {
+ ::g_unlink((*i)->c_str());
+ }
+ }
+ vector_delete(fsi_files);
+ }
+#endif
+
+#ifdef LXVST_SUPPORT
+ {
+ PathScanner scanner;
+ vector<string *> *fsi_files;
+ fsi_files = scanner (Config->get_plugin_path_lxvst(), "\\.fsi$", true, true, -1, false);
+ if (fsi_files) {
+ for (vector<string *>::iterator i = fsi_files->begin(); i != fsi_files->end (); ++i) {
+ ::g_unlink((*i)->c_str());
+ }
+ }
+ vector_delete(fsi_files);
+ }
+#endif
+
+#if (defined WINDOWS_VST_SUPPORT || defined LXVST_SUPPORT)
+ {
+ string personal = get_personal_vst_info_cache_dir();
+ PathScanner scanner;
+ vector<string *> *fsi_files;
+ fsi_files = scanner (personal, "\\.fsi$", true, true, -1, false);
+ if (fsi_files) {
+ for (vector<string *>::iterator i = fsi_files->begin(); i != fsi_files->end (); ++i) {
+ ::g_unlink((*i)->c_str());
+ }
+ }
+ vector_delete(fsi_files);
+ }
+#endif
+}
+
+void
+PluginManager::clear_vst_blacklist ()
+{
+#ifdef WINDOWS_VST_SUPPORT
+ {
+ PathScanner scanner;
+ vector<string *> *fsi_files;
+
+ fsi_files = scanner (Config->get_plugin_path_vst(), "\\.fsb$", true, true, -1, false);
+ if (fsi_files) {
+ for (vector<string *>::iterator i = fsi_files->begin(); i != fsi_files->end (); ++i) {
+ ::g_unlink((*i)->c_str());
+ }
+ }
+ vector_delete(fsi_files);
+ }
+#endif
+
+#ifdef LXVST_SUPPORT
+ {
+ PathScanner scanner;
+ vector<string *> *fsi_files;
+ fsi_files = scanner (Config->get_plugin_path_lxvst(), "\\.fsb$", true, true, -1, false);
+ if (fsi_files) {
+ for (vector<string *>::iterator i = fsi_files->begin(); i != fsi_files->end (); ++i) {
+ ::g_unlink((*i)->c_str());
+ }
+ }
+ vector_delete(fsi_files);
+ }
+#endif
+
+#if (defined WINDOWS_VST_SUPPORT || defined LXVST_SUPPORT)
+ {
+ string personal = get_personal_vst_blacklist_dir();
+
+ PathScanner scanner;
+ vector<string *> *fsi_files;
+ fsi_files = scanner (personal, "\\.fsb$", true, true, -1, false);
+ if (fsi_files) {
+ for (vector<string *>::iterator i = fsi_files->begin(); i != fsi_files->end (); ++i) {
+ ::g_unlink((*i)->c_str());
+ }
+ }
+ vector_delete(fsi_files);
+ }
+#endif