From b1569a17a5e5787be7ba68a590950a75ab3347fa Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 30 Mar 2016 02:22:31 +0200 Subject: [PATCH] special case mixbus. --- libs/ardour/plugin_insert.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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; -- 2.30.2