summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/NodeBase.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-06-18 19:26:53 +0000
committerDavid Robillard <d@drobilla.net>2006-06-18 19:26:53 +0000
commit36f1e2ea3d2c7d20d8fa267a3a66438044e99e8e (patch)
tree963d5a6d87204fda9d8b1cd91f8810a6582bb41f /src/libs/engine/NodeBase.h
parent00c8938a79d9e24547420d2a39421bcb7d8cc165 (diff)
downloadingen-36f1e2ea3d2c7d20d8fa267a3a66438044e99e8e.tar.gz
ingen-36f1e2ea3d2c7d20d8fa267a3a66438044e99e8e.tar.bz2
ingen-36f1e2ea3d2c7d20d8fa267a3a66438044e99e8e.zip
Reworked use of Plugin class in engine slightly (more RAII-ey)
git-svn-id: http://svn.drobilla.net/lad/grauph@56 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/NodeBase.h')
-rw-r--r--src/libs/engine/NodeBase.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libs/engine/NodeBase.h b/src/libs/engine/NodeBase.h
index c114aa96..d7748543 100644
--- a/src/libs/engine/NodeBase.h
+++ b/src/libs/engine/NodeBase.h
@@ -40,7 +40,7 @@ namespace Shared {
class NodeBase : public Node
{
public:
- NodeBase(const string& name, size_t poly, Patch* parent, samplerate srate, size_t buffer_size);
+ NodeBase(const Plugin* plugin, const string& name, size_t poly, Patch* parent, samplerate srate, size_t buffer_size);
virtual ~NodeBase();
@@ -60,7 +60,7 @@ public:
//void send_creation_messages(ClientInterface* client) const;
- size_t num_ports() const { return _num_ports; }
+ size_t num_ports() const { return _ports ? _ports->size() : 0; }
size_t poly() const { return _poly; }
bool traversed() const { return _traversed; }
void traversed(bool b) { _traversed = b; }
@@ -75,8 +75,7 @@ public:
Patch* parent_patch() const { return (_parent == NULL) ? NULL : _parent->as_patch(); }
- virtual const Plugin* plugin() const { exit(EXIT_FAILURE); }
- virtual void plugin(const Plugin* const pi) { exit(EXIT_FAILURE); }
+ virtual const Plugin* plugin() const { return _plugin; }
void set_path(const Path& new_path);
@@ -85,13 +84,14 @@ protected:
NodeBase(const NodeBase&);
NodeBase& operator=(const NodeBase&);
+ const Plugin* _plugin;
+
size_t _poly;
samplerate _srate;
size_t _buffer_size;
bool _activated;
- size_t _num_ports; ///< number of ports PER VOICE
Array<Port*>* _ports; ///< Access in audio thread only
bool _traversed; ///< Flag for process order algorithm