From: Robin Gareus Date: Wed, 30 Mar 2016 00:22:31 +0000 (+0200) Subject: special case mixbus. X-Git-Tag: 5.0-pre0~1165 X-Git-Url: https://main.carlh.net/gitweb/?p=ardour.git;a=commitdiff_plain;h=b1569a17a5e5787be7ba68a590950a75ab3347fa special case mixbus. --- 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;