diff options
author | David Robillard <d@drobilla.net> | 2009-10-22 17:17:34 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-10-22 17:17:34 +0000 |
commit | 155338d168b362dd135597695aaa1e419831a277 (patch) | |
tree | c2f97ff4b99366b72418765cb4a69ccbd4c45065 /libs/ardour/ardour/plugin_manager.h | |
parent | 525da3281674a92ff00150098ef1be7a403555dd (diff) |
Defer plugin discovery until actually needed (significant startup time improvement, especially with LV2).
git-svn-id: svn://localhost/ardour2/branches/3.0@5859 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/plugin_manager.h')
-rw-r--r-- | libs/ardour/ardour/plugin_manager.h | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/libs/ardour/ardour/plugin_manager.h b/libs/ardour/ardour/plugin_manager.h index c792b539a7..d564d62a87 100644 --- a/libs/ardour/ardour/plugin_manager.h +++ b/libs/ardour/ardour/plugin_manager.h @@ -46,12 +46,10 @@ class PluginManager : public boost::noncopyable { PluginManager (); ~PluginManager (); - /* realtime plugin APIs */ - - ARDOUR::PluginInfoList &vst_plugin_info () { return _vst_plugin_info; } - ARDOUR::PluginInfoList &ladspa_plugin_info () { return _ladspa_plugin_info; } - ARDOUR::PluginInfoList &lv2_plugin_info () { return _lv2_plugin_info; } - ARDOUR::PluginInfoList &au_plugin_info () { return _au_plugin_info; } + ARDOUR::PluginInfoList &vst_plugin_info (); + ARDOUR::PluginInfoList &ladspa_plugin_info (); + ARDOUR::PluginInfoList &lv2_plugin_info (); + ARDOUR::PluginInfoList &au_plugin_info (); void refresh (); @@ -85,10 +83,11 @@ class PluginManager : public boost::noncopyable { typedef std::set<FavoritePlugin> FavoritePluginList; FavoritePluginList favorites; - ARDOUR::PluginInfoList _vst_plugin_info; - ARDOUR::PluginInfoList _ladspa_plugin_info; - ARDOUR::PluginInfoList _lv2_plugin_info; - ARDOUR::PluginInfoList _au_plugin_info; + ARDOUR::PluginInfoList _empty_plugin_info; + ARDOUR::PluginInfoList* _vst_plugin_info; + ARDOUR::PluginInfoList* _ladspa_plugin_info; + ARDOUR::PluginInfoList* _lv2_plugin_info; + ARDOUR::PluginInfoList* _au_plugin_info; #ifdef HAVE_SLV2 LV2World* _lv2_world; @@ -107,10 +106,8 @@ class PluginManager : public boost::noncopyable { void add_vst_presets (); void add_presets (std::string domain); - int au_discover (); void au_refresh (); - int lv2_discover (); void lv2_refresh (); int vst_discover_from_path (std::string path); |