diff options
author | Robin Gareus <robin@gareus.org> | 2016-03-30 02:22:31 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-03-30 02:22:31 +0200 |
commit | b1569a17a5e5787be7ba68a590950a75ab3347fa (patch) | |
tree | 59ea668780120227357b855423a1171a43e70d74 /libs | |
parent | 997cf03cfea56ac238cf025e1d3172add664ac76 (diff) |
special case mixbus.
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/plugin_insert.cc | 13 |
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; |