diff options
author | David Robillard <d@drobilla.net> | 2007-08-09 05:16:00 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-08-09 05:16:00 +0000 |
commit | 9b7a2af07fd1f5df3e517021d676805eb20bc74f (patch) | |
tree | 3a75d0096fea9f013f7da24cd9c41dcea89fb4de /src/libs/engine/events/CreatePatchEvent.cpp | |
parent | fccb1edce5dda41bdfef12340a5d5b95b86a1389 (diff) | |
download | ingen-9b7a2af07fd1f5df3e517021d676805eb20bc74f.tar.gz ingen-9b7a2af07fd1f5df3e517021d676805eb20bc74f.tar.bz2 ingen-9b7a2af07fd1f5df3e517021d676805eb20bc74f.zip |
Realtime safe parallel graph execution, e.g. run with ingen -e -p 3 for 3 concurrent audio threads.
git-svn-id: http://svn.drobilla.net/lad/ingen@689 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/events/CreatePatchEvent.cpp')
-rw-r--r-- | src/libs/engine/events/CreatePatchEvent.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/libs/engine/events/CreatePatchEvent.cpp b/src/libs/engine/events/CreatePatchEvent.cpp index 6c0cd0e8..365b1a02 100644 --- a/src/libs/engine/events/CreatePatchEvent.cpp +++ b/src/libs/engine/events/CreatePatchEvent.cpp @@ -36,7 +36,7 @@ CreatePatchEvent::CreatePatchEvent(Engine& engine, SharedPtr<Responder> responde _path(path), _patch(NULL), _parent(NULL), - _process_order(NULL), + _compiled_patch(NULL), _poly(poly), _error(NO_ERROR) { @@ -69,13 +69,13 @@ CreatePatchEvent::pre_process() if (_parent != NULL && _poly > 1 && _poly == static_cast<int>(_parent->internal_poly())) poly = _poly; - _patch = new Patch(_path.name(), poly, _parent, _engine.audio_driver()->sample_rate(), _engine.audio_driver()->buffer_size(), _poly); + _patch = new Patch(_engine, _path.name(), poly, _parent, _engine.audio_driver()->sample_rate(), _engine.audio_driver()->buffer_size(), _poly); if (_parent != NULL) { _parent->add_node(new Raul::ListNode<Node*>(_patch)); if (_parent->enabled()) - _process_order = _parent->build_process_order(); + _compiled_patch = _parent->compile(); } _patch->activate(); @@ -102,9 +102,9 @@ CreatePatchEvent::execute(SampleCount nframes, FrameTime start, FrameTime end) assert(_parent != NULL); assert(_path != "/"); - if (_parent->process_order() != NULL) - _engine.maid()->push(_parent->process_order()); - _parent->process_order(_process_order); + if (_parent->compiled_patch() != NULL) + _engine.maid()->push(_parent->compiled_patch()); + _parent->compiled_patch(_compiled_patch); } } } |