summaryrefslogtreecommitdiffstats
path: root/src/engine/internals
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-02-04 23:53:37 +0000
committerDavid Robillard <d@drobilla.net>2010-02-04 23:53:37 +0000
commit16edd7b1272e91a5ef28e8b9211b8d5721fafe23 (patch)
treedeb678753bb3e74c9f8da1121b7a9c79c13ec753 /src/engine/internals
parent6f3a80bb9c80b8e0cf486d198c2e107512b2cc46 (diff)
downloadingen-16edd7b1272e91a5ef28e8b9211b8d5721fafe23.tar.gz
ingen-16edd7b1272e91a5ef28e8b9211b8d5721fafe23.tar.bz2
ingen-16edd7b1272e91a5ef28e8b9211b8d5721fafe23.zip
Fix a bunch of memory leaks.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2429 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/internals')
-rw-r--r--src/engine/internals/Controller.cpp2
-rw-r--r--src/engine/internals/Controller.hpp3
-rw-r--r--src/engine/internals/Note.cpp2
-rw-r--r--src/engine/internals/Note.hpp3
-rw-r--r--src/engine/internals/Trigger.cpp2
-rw-r--r--src/engine/internals/Trigger.hpp3
6 files changed, 15 insertions, 0 deletions
diff --git a/src/engine/internals/Controller.cpp b/src/engine/internals/Controller.cpp
index 56bc433d..941f7e49 100644
--- a/src/engine/internals/Controller.cpp
+++ b/src/engine/internals/Controller.cpp
@@ -39,6 +39,8 @@ using namespace Shared;
static InternalPlugin controller_plugin(NS_INTERNALS "Controller", "controller");
+InternalPlugin& ControllerNode::internal_plugin() { return controller_plugin; }
+
ControllerNode::ControllerNode(BufferFactory& bufs,
const string& path,
bool polyphonic,
diff --git a/src/engine/internals/Controller.hpp b/src/engine/internals/Controller.hpp
index 35824f52..9482916e 100644
--- a/src/engine/internals/Controller.hpp
+++ b/src/engine/internals/Controller.hpp
@@ -25,6 +25,7 @@ namespace Ingen {
class InputPort;
class OutputPort;
+class InternalPlugin;
namespace Internals {
@@ -47,6 +48,8 @@ public:
void learn() { _learning = true; }
+ static InternalPlugin& internal_plugin();
+
private:
bool _learning;
diff --git a/src/engine/internals/Note.cpp b/src/engine/internals/Note.cpp
index 10d7eeaf..61b7946f 100644
--- a/src/engine/internals/Note.cpp
+++ b/src/engine/internals/Note.cpp
@@ -45,6 +45,8 @@ using namespace Shared;
static InternalPlugin note_plugin(NS_INTERNALS "Note", "note");
+InternalPlugin& NoteNode::internal_plugin() { return note_plugin; }
+
NoteNode::NoteNode(BufferFactory& bufs, const string& path, bool polyphonic, PatchImpl* parent, SampleRate srate, size_t buffer_size)
: NodeBase(&note_plugin, path, polyphonic, parent, srate, buffer_size)
, _voices(new Raul::Array<Voice>(_polyphony))
diff --git a/src/engine/internals/Note.hpp b/src/engine/internals/Note.hpp
index 45bb084f..11fc1344 100644
--- a/src/engine/internals/Note.hpp
+++ b/src/engine/internals/Note.hpp
@@ -26,6 +26,7 @@ namespace Ingen {
class InputPort;
class OutputPort;
+class InternalPlugin;
namespace Internals {
@@ -54,6 +55,8 @@ public:
void sustain_on(ProcessContext& context, FrameTime time);
void sustain_off(ProcessContext& context, FrameTime time);
+ static InternalPlugin& internal_plugin();
+
private:
/** Key, one for each key on the keyboard */
struct Key {
diff --git a/src/engine/internals/Trigger.cpp b/src/engine/internals/Trigger.cpp
index a92ab605..f6474af2 100644
--- a/src/engine/internals/Trigger.cpp
+++ b/src/engine/internals/Trigger.cpp
@@ -41,6 +41,8 @@ using namespace Shared;
static InternalPlugin trigger_plugin(NS_INTERNALS "Trigger", "trigger");
+InternalPlugin& TriggerNode::internal_plugin() { return trigger_plugin; }
+
TriggerNode::TriggerNode(BufferFactory& bufs, const string& path, bool polyphonic, PatchImpl* parent, SampleRate srate, size_t buffer_size)
: NodeBase(&trigger_plugin, path, false, parent, srate, buffer_size)
, _learning(false)
diff --git a/src/engine/internals/Trigger.hpp b/src/engine/internals/Trigger.hpp
index dcc69b92..12e5c140 100644
--- a/src/engine/internals/Trigger.hpp
+++ b/src/engine/internals/Trigger.hpp
@@ -25,6 +25,7 @@ namespace Ingen {
class InputPort;
class OutputPort;
+class InternalPlugin;
namespace Internals {
@@ -51,6 +52,8 @@ public:
void learn() { _learning = true; }
+ static InternalPlugin& internal_plugin();
+
private:
bool _learning;