diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-11-14 17:41:29 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-11-14 17:41:29 +0000 |
commit | c66955386ecfb86b3dd2b137a8e6e4143711f329 (patch) | |
tree | 5da85b4fcf3b6c0c4c8cf2f4a49d2ed1eb88a147 /libs/ardour/plugin_manager.cc | |
parent | 28f328e09c6227ab6248c91ae0690a02d9d23300 (diff) |
make PluginManager API more in line with other singletons; do initial plugin discovery before beginning to construct the UI, so that if plugins create GUIs (e.g for license verification) they don't cause a run loop to catch the UIManager in an inconsistent state with menus defined but actions missing
git-svn-id: svn://localhost/ardour2/branches/3.0@10586 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/plugin_manager.cc')
-rw-r--r-- | libs/ardour/plugin_manager.cc | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc index cc0fd554d5..d15f48e5f3 100644 --- a/libs/ardour/plugin_manager.cc +++ b/libs/ardour/plugin_manager.cc @@ -81,7 +81,16 @@ using namespace ARDOUR; using namespace PBD; using namespace std; -PluginManager* PluginManager::_manager = 0; +PluginManager* PluginManager::_instance = 0; + +PluginManager& +PluginManager::instance() +{ + if (!_instance) { + _instance = new PluginManager; + } + return *_instance; +} PluginManager::PluginManager () : _vst_plugin_info(0) @@ -133,8 +142,8 @@ PluginManager::PluginManager () lxvst_path = s; } - if (_manager == 0) { - _manager = this; + if (_instance == 0) { + _instance = this; } /* the plugin manager is constructed too early to use Profile */ |