summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/NodeBase.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-10-11 17:24:49 +0000
committerDavid Robillard <d@drobilla.net>2007-10-11 17:24:49 +0000
commit5791d19a0f56c65ef7b89da80f4bcc3e1cee0c93 (patch)
treede0a795658df184d29e4ed795c6b6b15c6e0454d /src/libs/engine/NodeBase.hpp
parent058174f81f325521957cc6927667dfcf0d7346b4 (diff)
downloadingen-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/NodeBase.hpp')
-rw-r--r--src/libs/engine/NodeBase.hpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/libs/engine/NodeBase.hpp b/src/libs/engine/NodeBase.hpp
index 5838614d..2671a5a0 100644
--- a/src/libs/engine/NodeBase.hpp
+++ b/src/libs/engine/NodeBase.hpp
@@ -48,12 +48,12 @@ namespace Shared {
class NodeBase : public NodeImpl
{
public:
- NodeBase(const PluginImpl* plugin,
- const string& name,
- bool poly,
- PatchImpl* parent,
- SampleRate rate,
- size_t buffer_size);
+ NodeBase(PluginImpl* plugin,
+ const string& name,
+ bool poly,
+ PatchImpl* parent,
+ SampleRate rate,
+ size_t buffer_size);
virtual ~NodeBase();
@@ -98,9 +98,9 @@ public:
Raul::List<NodeImpl*>* dependants() { return _dependants; }
void dependants(Raul::List<NodeImpl*>* l) { _dependants = l; }
- virtual const Plugin* plugin() const;
- virtual const PluginImpl* plugin_impl() const { return _plugin; }
- virtual void plugin(const PluginImpl* pi) { _plugin = pi; }
+ virtual const Plugin* plugin() const;
+ virtual PluginImpl* plugin_impl() const { return _plugin; }
+ virtual void plugin(PluginImpl* pi) { _plugin = pi; }
/** A node's parent is always a patch, so static cast should be safe */
inline PatchImpl* parent_patch() const { return (PatchImpl*)_parent; }
@@ -108,7 +108,7 @@ public:
protected:
virtual void signal_input_ready();
- const PluginImpl* _plugin;
+ PluginImpl* _plugin;
uint32_t _polyphony;
SampleRate _srate;