summaryrefslogtreecommitdiff
path: root/libs/ardour/thread_buffers.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-03-26 00:40:51 +0100
committerRobin Gareus <robin@gareus.org>2016-03-26 00:40:51 +0100
commit0954efffd3a1d642be313aed9b5b7070eb307a9c (patch)
tree8ff57f420d943497006f20e484dae304d41f7e02 /libs/ardour/thread_buffers.cc
parent6d735dafe2ff8596b5ca096e06e9badd4c57fdf7 (diff)
add "no-inplace" buffers.
When allowing to cross-connect plugin-ports, inplace processing can no longer be used. We need a complete set of independent input and output buffers. Since scratch and silent buffers are used by the various plugin implementations we cannot re-use them in the PluginInsert. Besides we need a complete BufferSet which can hold both: ins + outs.
Diffstat (limited to 'libs/ardour/thread_buffers.cc')
-rw-r--r--libs/ardour/thread_buffers.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/libs/ardour/thread_buffers.cc b/libs/ardour/thread_buffers.cc
index 2336ee50bc..36ffbb70da 100644
--- a/libs/ardour/thread_buffers.cc
+++ b/libs/ardour/thread_buffers.cc
@@ -30,6 +30,7 @@ using namespace std;
ThreadBuffers::ThreadBuffers ()
: silent_buffers (new BufferSet)
, scratch_buffers (new BufferSet)
+ , noinplace_buffers (new BufferSet)
, route_buffers (new BufferSet)
, mix_buffers (new BufferSet)
, gain_automation_buffer (0)
@@ -71,6 +72,7 @@ ThreadBuffers::ensure_buffers (ChanCount howmany, size_t custom)
}
scratch_buffers->ensure_buffers (*t, count, size);
+ noinplace_buffers->ensure_buffers (*t, count + count, size); // in + out
mix_buffers->ensure_buffers (*t, count, size);
silent_buffers->ensure_buffers (*t, count, size);
route_buffers->ensure_buffers (*t, count, size);