From f2abde60ca210ca3cbaa019b351c1cb22e4c1d1c Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 15 Aug 2012 17:50:17 +0000 Subject: Rewrite Raul::Maid and eliminate Raul:List. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4702 a436a847-0d15-0410-975c-d299462d15a1 --- src/server/CompiledPatch.hpp | 9 ++++----- src/server/Engine.cpp | 2 +- src/server/LV2Node.cpp | 4 ++-- src/server/LV2Node.hpp | 5 ++--- src/server/PatchImpl.hpp | 2 -- src/server/PortImpl.cpp | 4 ++-- src/server/events/Connect.cpp | 4 ++-- src/server/events/CreateNode.cpp | 2 +- src/server/events/CreatePatch.cpp | 2 +- src/server/events/Delete.cpp | 4 ++-- src/server/events/Delta.cpp | 2 +- src/server/events/Disconnect.cpp | 4 ++-- src/server/events/DisconnectAll.cpp | 2 +- src/server/internals/Note.cpp | 2 +- 14 files changed, 22 insertions(+), 26 deletions(-) diff --git a/src/server/CompiledPatch.hpp b/src/server/CompiledPatch.hpp index 203f817b..7f973792 100644 --- a/src/server/CompiledPatch.hpp +++ b/src/server/CompiledPatch.hpp @@ -20,9 +20,8 @@ #include #include -#include - -#include "raul/Deletable.hpp" +#include "raul/Disposable.hpp" +#include "raul/Noncopyable.hpp" namespace Ingen { namespace Server { @@ -64,8 +63,8 @@ private: * before its providers, using this order as well as semaphores. */ class CompiledPatch : public std::vector - , public Raul::Deletable - , public boost::noncopyable + , public Raul::Disposable + , public Raul::Noncopyable { }; diff --git a/src/server/Engine.cpp b/src/server/Engine.cpp index c3c1221f..eeb28e5a 100644 --- a/src/server/Engine.cpp +++ b/src/server/Engine.cpp @@ -53,7 +53,7 @@ Engine::Engine(Ingen::World* world) , _broadcaster(new Broadcaster()) , _buffer_factory(new BufferFactory(*this, world->uris())) , _control_bindings(NULL) - , _maid(new Raul::Maid(event_queue_size())) + , _maid(new Raul::Maid()) , _node_factory(new NodeFactory(world)) , _pre_processor(new PreProcessor()) , _post_processor(new PostProcessor(*this)) diff --git a/src/server/LV2Node.cpp b/src/server/LV2Node.cpp index 7b3a2ca5..16890e6f 100644 --- a/src/server/LV2Node.cpp +++ b/src/server/LV2Node.cpp @@ -171,7 +171,7 @@ LV2Node::apply_poly(ProcessContext& context, Raul::Maid& maid, uint32_t poly) poly = 1; if (_prepared_instances) { - maid.push(_instances); + maid.dispose(_instances); _instances = _prepared_instances; _prepared_instances = NULL; } @@ -443,7 +443,7 @@ LV2Node::process(ProcessContext& context) Response& r = _responses.front(); _worker_iface->work_response(inst, r.size, r.data); _responses.pop_front(); - context.engine().maid()->push(&r); + context.engine().maid()->dispose(&r); } if (_worker_iface->end_run) { diff --git a/src/server/LV2Node.hpp b/src/server/LV2Node.hpp index a012b87a..e7f8eae6 100644 --- a/src/server/LV2Node.hpp +++ b/src/server/LV2Node.hpp @@ -17,10 +17,9 @@ #ifndef INGEN_ENGINE_LV2NODE_HPP #define INGEN_ENGINE_LV2NODE_HPP -#include - #include "lilv/lilv.h" #include "lv2/lv2plug.in/ns/ext/worker/worker.h" +#include "raul/Disposable.hpp" #include "BufferRef.hpp" #include "NodeImpl.hpp" @@ -75,7 +74,7 @@ protected: typedef Raul::Array< SharedPtr > Instances; - struct Response : public Raul::Deletable + struct Response : public Raul::Disposable , public Raul::Noncopyable , public boost::intrusive::slist_base_hook<> { diff --git a/src/server/PatchImpl.hpp b/src/server/PatchImpl.hpp index 793f535b..badbfb81 100644 --- a/src/server/PatchImpl.hpp +++ b/src/server/PatchImpl.hpp @@ -19,8 +19,6 @@ #include -#include "raul/List.hpp" - #include "CompiledPatch.hpp" #include "DuplexPort.hpp" #include "NodeImpl.hpp" diff --git a/src/server/PortImpl.cpp b/src/server/PortImpl.cpp index 9a12028a..3f265636 100644 --- a/src/server/PortImpl.cpp +++ b/src/server/PortImpl.cpp @@ -257,11 +257,11 @@ PortImpl::apply_poly(ProcessContext& context, Raul::Maid& maid, uint32_t poly) _poly = poly; // Apply a new set of buffers from a preceding call to prepare_poly - maid.push(set_buffers(context, _prepared_buffers)); + maid.dispose(set_buffers(context, _prepared_buffers)); assert(_buffers == _prepared_buffers); _prepared_buffers = NULL; - maid.push(_set_states); + maid.dispose(_set_states); _set_states = _prepared_set_states; _prepared_set_states = NULL; diff --git a/src/server/events/Connect.cpp b/src/server/events/Connect.cpp index f3a736ad..2403b327 100644 --- a/src/server/events/Connect.cpp +++ b/src/server/events/Connect.cpp @@ -144,9 +144,9 @@ Connect::execute(ProcessContext& context) { if (!_status) { _head->add_edge(context, _edge.get()); - _engine.maid()->push(_head->set_buffers(context, _buffers)); + _engine.maid()->dispose(_head->set_buffers(context, _buffers)); _head->connect_buffers(); - _engine.maid()->push(_patch->compiled_patch()); + _engine.maid()->dispose(_patch->compiled_patch()); _patch->compiled_patch(_compiled_patch); } } diff --git a/src/server/events/CreateNode.cpp b/src/server/events/CreateNode.cpp index 02902db5..ca2be305 100644 --- a/src/server/events/CreateNode.cpp +++ b/src/server/events/CreateNode.cpp @@ -124,7 +124,7 @@ void CreateNode::execute(ProcessContext& context) { if (_node) { - _engine.maid()->push(_patch->compiled_patch()); + _engine.maid()->dispose(_patch->compiled_patch()); _patch->compiled_patch(_compiled_patch); } } diff --git a/src/server/events/CreatePatch.cpp b/src/server/events/CreatePatch.cpp index 25f90d5d..4f14ade5 100644 --- a/src/server/events/CreatePatch.cpp +++ b/src/server/events/CreatePatch.cpp @@ -105,7 +105,7 @@ CreatePatch::execute(ProcessContext& context) if (_patch) { assert(_parent); assert(!_path.is_root()); - _engine.maid()->push(_parent->compiled_patch()); + _engine.maid()->dispose(_parent->compiled_patch()); _parent->compiled_patch(_compiled_patch); } } diff --git a/src/server/events/Delete.cpp b/src/server/events/Delete.cpp index e7001287..d2e3e58e 100644 --- a/src/server/events/Delete.cpp +++ b/src/server/events/Delete.cpp @@ -124,7 +124,7 @@ Delete::execute(ProcessContext& context) PatchImpl* parent = _node ? _node->parent_patch() : _port->parent_patch(); if (_port) { - _engine.maid()->push(parent->external_ports()); + _engine.maid()->dispose(parent->external_ports()); parent->external_ports(_ports_array); if (_engine_port) { @@ -133,7 +133,7 @@ Delete::execute(ProcessContext& context) } if (parent) { - _engine.maid()->push(parent->compiled_patch()); + _engine.maid()->dispose(parent->compiled_patch()); parent->compiled_patch(_compiled_patch); } } diff --git a/src/server/events/Delta.cpp b/src/server/events/Delta.cpp index 41ff8f8b..17ef8d45 100644 --- a/src/server/events/Delta.cpp +++ b/src/server/events/Delta.cpp @@ -287,7 +287,7 @@ Delta::execute(ProcessContext& context) case ENABLE: if (value.get_bool()) { if (_compiled_patch) { - _engine.maid()->push(_patch->compiled_patch()); + _engine.maid()->dispose(_patch->compiled_patch()); _patch->compiled_patch(_compiled_patch); } _patch->enable(); diff --git a/src/server/events/Disconnect.cpp b/src/server/events/Disconnect.cpp index 1726846a..5b756d84 100644 --- a/src/server/events/Disconnect.cpp +++ b/src/server/events/Disconnect.cpp @@ -182,7 +182,7 @@ Disconnect::Impl::execute(ProcessContext& context, bool set_dst_buffers) if (set_dst_buffers) { if (_buffers) { - _engine.maid()->push(_dst_input_port->set_buffers(context, _buffers)); + _engine.maid()->dispose(_dst_input_port->set_buffers(context, _buffers)); } else { _dst_input_port->setup_buffers(*_engine.buffer_factory(), _dst_input_port->poly(), @@ -208,7 +208,7 @@ Disconnect::execute(ProcessContext& context) return; } - _engine.maid()->push(_patch->compiled_patch()); + _engine.maid()->dispose(_patch->compiled_patch()); _patch->compiled_patch(_compiled_patch); } } diff --git a/src/server/events/DisconnectAll.cpp b/src/server/events/DisconnectAll.cpp index 417b6154..693c8784 100644 --- a/src/server/events/DisconnectAll.cpp +++ b/src/server/events/DisconnectAll.cpp @@ -153,7 +153,7 @@ DisconnectAll::execute(ProcessContext& context) } } - _engine.maid()->push(_parent->compiled_patch()); + _engine.maid()->dispose(_parent->compiled_patch()); _parent->compiled_patch(_compiled_patch); } diff --git a/src/server/internals/Note.cpp b/src/server/internals/Note.cpp index c8d1be23..5f509859 100644 --- a/src/server/internals/Note.cpp +++ b/src/server/internals/Note.cpp @@ -125,7 +125,7 @@ NoteNode::apply_poly(ProcessContext& context, Raul::Maid& maid, uint32_t poly) if (_prepared_voices) { assert(_polyphony <= _prepared_voices->size()); - maid.push(_voices); + maid.dispose(_voices); _voices = _prepared_voices; _prepared_voices = NULL; } -- cgit v1.2.1