allow to customize variable i/o plugin inputs
[ardour.git] / libs / ardour / process_thread.cc
index d4a3d2f3908e3b89adabcf9e8a0d7683769be01f..efcc47fee38cc39abc7153bf4907af3e8d3ec0cb 100644 (file)
@@ -116,6 +116,25 @@ ProcessThread::get_scratch_buffers (ChanCount count, bool silence)
        return *sb;
 }
 
+BufferSet&
+ProcessThread::get_noinplace_buffers (ChanCount count)
+{
+       ThreadBuffers* tb = _private_thread_buffers.get();
+       assert (tb);
+
+       BufferSet* sb = tb->noinplace_buffers;
+       assert (sb);
+
+       if (count != ChanCount::ZERO) {
+               assert(sb->available() >= count);
+               sb->set_count (count);
+       } else {
+               sb->set_count (sb->available());
+       }
+
+       return *sb;
+}
+
 BufferSet&
 ProcessThread::get_route_buffers (ChanCount count, bool silence)
 {
@@ -168,6 +187,17 @@ ProcessThread::gain_automation_buffer()
         return g;
 }
 
+gain_t*
+ProcessThread::trim_automation_buffer()
+{
+        ThreadBuffers* tb = _private_thread_buffers.get();
+        assert (tb);
+
+        gain_t *g =  tb->trim_automation_buffer;
+        assert (g);
+        return g;
+}
+
 gain_t*
 ProcessThread::send_gain_automation_buffer()
 {