diff options
author | David Robillard <d@drobilla.net> | 2007-10-11 17:24:49 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-10-11 17:24:49 +0000 |
commit | 5791d19a0f56c65ef7b89da80f4bcc3e1cee0c93 (patch) | |
tree | de0a795658df184d29e4ed795c6b6b15c6e0454d /src/libs/engine/ClientBroadcaster.hpp | |
parent | 058174f81f325521957cc6927667dfcf0d7346b4 (diff) | |
download | ingen-5791d19a0f56c65ef7b89da80f4bcc3e1cee0c93.tar.gz ingen-5791d19a0f56c65ef7b89da80f4bcc3e1cee0c93.tar.bz2 ingen-5791d19a0f56c65ef7b89da80f4bcc3e1cee0c93.zip |
Fix awful plugin loading situation.
Don't double-lookup plugins on discovery/load.
O(log(n)) plugin searching instead of 2*O(n).
Don't keep discovered LADSPA plugins loaded (until a node is instantiated).
git-svn-id: http://svn.drobilla.net/lad/ingen@876 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/ClientBroadcaster.hpp')
-rw-r--r-- | src/libs/engine/ClientBroadcaster.hpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libs/engine/ClientBroadcaster.hpp b/src/libs/engine/ClientBroadcaster.hpp index ecd19d34..73353588 100644 --- a/src/libs/engine/ClientBroadcaster.hpp +++ b/src/libs/engine/ClientBroadcaster.hpp @@ -26,6 +26,7 @@ #include <raul/SharedPtr.hpp> #include "interface/ClientInterface.hpp" #include "types.hpp" +#include "NodeFactory.hpp" using std::string; @@ -62,7 +63,7 @@ public: // Error that isn't the direct result of a request void send_error(const string& msg); - void send_plugins(const std::list<PluginImpl*>& plugin_list); + void send_plugins(const NodeFactory::Plugins& plugin_list); void send_patch(const PatchImpl* p, bool recursive); void send_node(const NodeImpl* node, bool recursive); void send_port(const PortImpl* port); @@ -81,7 +82,7 @@ public: void send_program_add(const string& node_path, int bank, int program, const string& name); void send_program_remove(const string& node_path, int bank, int program); - void send_plugins_to(ClientInterface*, const std::list<PluginImpl*>& plugin_list); + void send_plugins_to(ClientInterface*, const NodeFactory::Plugins& plugin_list); private: typedef std::map<string, ClientInterface*> Clients; |