summaryrefslogtreecommitdiffstats
path: root/src/server/events/Copy.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-02-12 15:04:20 +0100
committerDavid Robillard <d@drobilla.net>2017-02-12 15:31:47 +0100
commitb1198f0842e6e4d6b1c01f07d91b42ef4a212788 (patch)
tree93fdf4da89a6f5f634707fb8c989e0d9ee1a3c65 /src/server/events/Copy.cpp
parent81d45973412c675e3c0b4a10b64d811a219feeae (diff)
downloadingen-b1198f0842e6e4d6b1c01f07d91b42ef4a212788.tar.gz
ingen-b1198f0842e6e4d6b1c01f07d91b42ef4a212788.tar.bz2
ingen-b1198f0842e6e4d6b1c01f07d91b42ef4a212788.zip
Use smart pointers to handle real-time memory disposal
Diffstat (limited to 'src/server/events/Copy.cpp')
-rw-r--r--src/server/events/Copy.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/server/events/Copy.cpp b/src/server/events/Copy.cpp
index 4356e312..58c9a89c 100644
--- a/src/server/events/Copy.cpp
+++ b/src/server/events/Copy.cpp
@@ -45,7 +45,6 @@ Copy::Copy(Engine& engine,
, _old_block(NULL)
, _parent(NULL)
, _block(NULL)
- , _compiled_graph(NULL)
{}
bool
@@ -126,9 +125,7 @@ Copy::engine_to_engine(PreProcessContext& ctx)
_engine.store()->add(_block);
// Compile graph with new block added for insertion in audio thread
- if (ctx.must_compile(_parent)) {
- _compiled_graph = CompiledGraph::compile(_parent);
- }
+ _compiled_graph = ctx.maybe_compile(*_engine.maid(), *_parent);
return Event::pre_process_done(Status::SUCCESS);
}
@@ -198,7 +195,7 @@ void
Copy::execute(RunContext& context)
{
if (_block && _compiled_graph) {
- _compiled_graph = _parent->swap_compiled_graph(_compiled_graph);
+ _parent->set_compiled_graph(std::move(_compiled_graph));
}
}
@@ -209,7 +206,6 @@ Copy::post_process()
if (respond() == Status::SUCCESS) {
_engine.broadcaster()->copy(_old_uri, _new_uri);
}
- delete _compiled_graph;
}
void