summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2009-11-16 01:06:33 +0000
committerCarl Hetherington <carl@carlh.net>2009-11-16 01:06:33 +0000
commit1e8f2693f7837fce868e0e4e710c6e8aeffb7662 (patch)
tree9e72fcc1a6e1c162f10d9e0332c006f3b3bb2e8c /libs
parent0aaa08a3d260539e2c193082d7c1ce2967a8e148 (diff)
Build plugin menu only when plugins change, and build the first version of it before it is required to ensure that the first processor box popup menu appears fairly quickly.
git-svn-id: svn://localhost/ardour2/branches/3.0@6092 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/plugin_manager.h3
-rw-r--r--libs/ardour/plugin_manager.cc2
2 files changed, 5 insertions, 0 deletions
diff --git a/libs/ardour/ardour/plugin_manager.h b/libs/ardour/ardour/plugin_manager.h
index 779e26e915..0a056b574a 100644
--- a/libs/ardour/ardour/plugin_manager.h
+++ b/libs/ardour/ardour/plugin_manager.h
@@ -69,6 +69,9 @@ class PluginManager : public boost::noncopyable {
void set_status (ARDOUR::PluginType type, std::string unique_id, PluginStatusType status);
PluginStatusType get_status (const PluginInfoPtr&);
+ /** plugins were added to or removed from one of the PluginInfoLists */
+ sigc::signal<void> PluginListChanged;
+
private:
struct PluginStatus {
ARDOUR::PluginType type;
diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc
index 22e649e03e..9b5898ddb9 100644
--- a/libs/ardour/plugin_manager.cc
+++ b/libs/ardour/plugin_manager.cc
@@ -156,6 +156,8 @@ PluginManager::refresh ()
#ifdef HAVE_AUDIOUNITS
au_refresh ();
#endif
+
+ PluginListChanged (); /* EMIT SIGNAL */
}
void