summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-03-30 02:22:31 +0200
committerRobin Gareus <robin@gareus.org>2016-03-30 02:22:31 +0200
commitb1569a17a5e5787be7ba68a590950a75ab3347fa (patch)
tree59ea668780120227357b855423a1171a43e70d74 /libs
parent997cf03cfea56ac238cf025e1d3172add664ac76 (diff)
special case mixbus.
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/plugin_insert.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc
index 21debe1d80..267dd23dbf 100644
--- a/libs/ardour/plugin_insert.cc
+++ b/libs/ardour/plugin_insert.cc
@@ -491,7 +491,20 @@ PluginInsert::connect_and_run (BufferSet& bufs, pframes_t nframes, framecnt_t of
}
}
+#ifdef MIXBUS
+ if (_plugins.front()->is_channelstrip() ) {
+ if (_configured_in.n_audio() > 0) {
+ ChanMapping mb_in_map (min (_configured_in, ChanCount (DataType::AUDIO, 2)));
+ ChanMapping mb_out_map (min (_configured_out, ChanCount (DataType::AUDIO, 2)));
+ _plugins.front()->connect_and_run (bufs, mb_in_map, mb_out_map, nframes, offset);
+
+ for (uint32_t out = _configured_in.n_audio; out < bufs.count().get (DataType::AUDIO); ++out) {
+ bufs.get (DataType::AUDIO, out).silence (nframes, offset);
+ }
+ }
+ } else
+#endif
if (_no_inplace) {
BufferSet& inplace_bufs = _session.get_noinplace_buffers();
ARDOUR::ChanMapping used_outputs;