summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/plugin_manager.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-10-22 17:17:34 +0000
committerDavid Robillard <d@drobilla.net>2009-10-22 17:17:34 +0000
commit155338d168b362dd135597695aaa1e419831a277 (patch)
treec2f97ff4b99366b72418765cb4a69ccbd4c45065 /libs/ardour/ardour/plugin_manager.h
parent525da3281674a92ff00150098ef1be7a403555dd (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.h21
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);