From 16edd7b1272e91a5ef28e8b9211b8d5721fafe23 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 4 Feb 2010 23:53:37 +0000 Subject: Fix a bunch of memory leaks. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2429 a436a847-0d15-0410-975c-d299462d15a1 --- src/engine/internals/Controller.cpp | 2 ++ src/engine/internals/Controller.hpp | 3 +++ src/engine/internals/Note.cpp | 2 ++ src/engine/internals/Note.hpp | 3 +++ src/engine/internals/Trigger.cpp | 2 ++ src/engine/internals/Trigger.hpp | 3 +++ 6 files changed, 15 insertions(+) (limited to 'src/engine/internals') 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(¬e_plugin, path, polyphonic, parent, srate, buffer_size) , _voices(new Raul::Array(_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; -- cgit v1.2.1