X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fplugin_manager.h;h=1a925432a08a1dfc5a6aa35ae439f250d2f31706;hb=5c32fc3babdd3ed7d715b6aeb24a72f3a0f550a0;hp=6239bd7cb0abf2377c4c39c989dade3a99fa9982;hpb=5399425f534e2d96d07cf29f427bfa0f39d904b7;p=ardour.git diff --git a/libs/ardour/ardour/plugin_manager.h b/libs/ardour/ardour/plugin_manager.h index 6239bd7cb0..1a925432a0 100644 --- a/libs/ardour/ardour/plugin_manager.h +++ b/libs/ardour/ardour/plugin_manager.h @@ -50,12 +50,15 @@ class LIBARDOUR_API PluginManager : public boost::noncopyable { ARDOUR::PluginInfoList &ladspa_plugin_info (); ARDOUR::PluginInfoList &lv2_plugin_info (); ARDOUR::PluginInfoList &au_plugin_info (); + ARDOUR::PluginInfoList &lua_plugin_info (); void refresh (bool cache_only = false); void cancel_plugin_scan(); void cancel_plugin_timeout(); void clear_vst_cache (); void clear_vst_blacklist (); + void clear_au_cache (); + void clear_au_blacklist (); const std::string get_default_windows_vst_path() const { return windows_vst_path; } const std::string get_default_lxvst_path() const { return lxvst_path; } @@ -76,6 +79,8 @@ class LIBARDOUR_API PluginManager : public boost::noncopyable { /** plugins were added to or removed from one of the PluginInfoLists */ PBD::Signal0 PluginListChanged; + /** Plugin Hidden/Favorite status changed */ + PBD::Signal0 PluginStatusesChanged; private: struct PluginStatus { @@ -108,6 +113,7 @@ class LIBARDOUR_API PluginManager : public boost::noncopyable { ARDOUR::PluginInfoList* _ladspa_plugin_info; ARDOUR::PluginInfoList* _lv2_plugin_info; ARDOUR::PluginInfoList* _au_plugin_info; + ARDOUR::PluginInfoList* _lua_plugin_info; std::map rdf_type; @@ -118,6 +124,8 @@ class LIBARDOUR_API PluginManager : public boost::noncopyable { bool _cancel_timeout; void ladspa_refresh (); + void lua_refresh (); + void lua_refresh_cb (); void windows_vst_refresh (bool cache_only = false); void lxvst_refresh (bool cache_only = false); @@ -127,13 +135,13 @@ class LIBARDOUR_API PluginManager : public boost::noncopyable { void add_lxvst_presets (); void add_presets (std::string domain); - void au_refresh (); + void au_refresh (bool cache_only = false); void lv2_refresh (); int windows_vst_discover_from_path (std::string path, bool cache_only = false); int windows_vst_discover (std::string path, bool cache_only = false); - + int lxvst_discover_from_path (std::string path, bool cache_only = false); int lxvst_discover (std::string path, bool cache_only = false); @@ -142,6 +150,9 @@ class LIBARDOUR_API PluginManager : public boost::noncopyable { std::string get_ladspa_category (uint32_t id); std::vector ladspa_plugin_whitelist; + PBD::ScopedConnection lua_refresh_connection; + Glib::Threads::Mutex _lock; + static PluginManager* _instance; // singleton PluginManager (); };