summaryrefslogtreecommitdiffstats
path: root/src/server/PatchImpl.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-08-11 18:41:31 +0000
committerDavid Robillard <d@drobilla.net>2012-08-11 18:41:31 +0000
commit92600e0011488c66175dea483515daec560cd580 (patch)
tree0df02ad7dd90a59c4abd5c4641fced444a042f09 /src/server/PatchImpl.cpp
parent885c186ed6427e7912faadfad7cc91692092efcb (diff)
downloadingen-92600e0011488c66175dea483515daec560cd580.tar.gz
ingen-92600e0011488c66175dea483515daec560cd580.tar.bz2
ingen-92600e0011488c66175dea483515daec560cd580.zip
Considerable DSP performance improvements (mixing overhead, and per-event MIDI overhead with Note/Trigger nodes).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4657 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/PatchImpl.cpp')
-rw-r--r--src/server/PatchImpl.cpp18
1 files changed, 2 insertions, 16 deletions
diff --git a/src/server/PatchImpl.cpp b/src/server/PatchImpl.cpp
index 9abadadb..d8097568 100644
--- a/src/server/PatchImpl.cpp
+++ b/src/server/PatchImpl.cpp
@@ -21,6 +21,7 @@
#include "ingen/World.hpp"
#include "raul/log.hpp"
+#include "BufferFactory.hpp"
#include "EdgeImpl.hpp"
#include "DuplexPort.hpp"
#include "Engine.hpp"
@@ -52,6 +53,7 @@ PatchImpl::PatchImpl(Engine& engine,
, _process(false)
{
assert(internal_poly >= 1);
+ assert(internal_poly <= 128);
}
PatchImpl::~PatchImpl()
@@ -156,12 +158,6 @@ PatchImpl::process(ProcessContext& context)
for (size_t i = 0; i < _compiled_patch->size(); ++i) {
(*_compiled_patch)[i].node()->process(context);
}
-
- // Queue any cross-context edges
- for (CompiledPatch::QueuedEdges::iterator i = _compiled_patch->queued_edges.begin();
- i != _compiled_patch->queued_edges.end(); ++i) {
- (*i)->queue(context);
- }
}
NodeImpl::post_process(context);
@@ -400,16 +396,6 @@ PatchImpl::compile() const
compile_recursive(node, compiled_patch);
}
- // Add any queued edges that must be run after a cycle
- for (Edges::const_iterator i = _edges.begin();
- i != _edges.end(); ++i) {
- SharedPtr<EdgeImpl> c = PtrCast<EdgeImpl>(i->second);
- if (c->tail()->parent_node()->context() == Context::AUDIO &&
- c->head()->parent_node()->context() == Context::MESSAGE) {
- compiled_patch->queued_edges.push_back(c.get());
- }
- }
-
assert(compiled_patch->size() == _nodes.size());
return compiled_patch;