summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/events/ConnectionEvent.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-08-09 05:16:00 +0000
committerDavid Robillard <d@drobilla.net>2007-08-09 05:16:00 +0000
commit9b7a2af07fd1f5df3e517021d676805eb20bc74f (patch)
tree3a75d0096fea9f013f7da24cd9c41dcea89fb4de /src/libs/engine/events/ConnectionEvent.cpp
parentfccb1edce5dda41bdfef12340a5d5b95b86a1389 (diff)
downloadingen-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/ConnectionEvent.cpp')
-rw-r--r--src/libs/engine/events/ConnectionEvent.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/libs/engine/events/ConnectionEvent.cpp b/src/libs/engine/events/ConnectionEvent.cpp
index a8c5dc13..69bb2645 100644
--- a/src/libs/engine/events/ConnectionEvent.cpp
+++ b/src/libs/engine/events/ConnectionEvent.cpp
@@ -41,7 +41,7 @@ ConnectionEvent::ConnectionEvent(Engine& engine, SharedPtr<Responder> responder,
_patch(NULL),
_src_port(NULL),
_dst_port(NULL),
- _process_order(NULL),
+ _compiled_patch(NULL),
_connection(NULL),
_patch_listnode(NULL),
_port_listnode(NULL),
@@ -138,7 +138,7 @@ ConnectionEvent::pre_process()
}
if (_patch->enabled())
- _process_order = _patch->build_process_order();
+ _compiled_patch = _patch->compile();
QueuedEvent::pre_process();
}
@@ -153,9 +153,9 @@ ConnectionEvent::execute(SampleCount nframes, FrameTime start, FrameTime end)
// These must be inserted here, since they're actually used by the audio thread
_dst_input_port->add_connection(_port_listnode);
_patch->add_connection(_patch_listnode);
- if (_patch->process_order() != NULL)
- _engine.maid()->push(_patch->process_order());
- _patch->process_order(_process_order);
+ if (_patch->compiled_patch() != NULL)
+ _engine.maid()->push(_patch->compiled_patch());
+ _patch->compiled_patch(_compiled_patch);
}
}
@@ -170,7 +170,6 @@ ConnectionEvent::post_process()
// FIXME: better error messages
string msg = "Unable to make connection ";
msg.append(_src_port_path + " -> " + _dst_port_path);
- cerr << "CONNECTION ERROR " << (unsigned)_error << endl;
_responder->respond_error(msg);
}
}