diff options
author | Robin Gareus <robin@gareus.org> | 2020-02-26 17:50:08 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2020-02-26 17:50:08 +0100 |
commit | d27cdb3855eb679dcf66fa37312dcab5aae100dd (patch) | |
tree | aafda3bf4fb8a5440e13f6cff974f16d0743f259 /libs/ardour/convolver.cc | |
parent | a5c956883d4a0efa3425179cec87717b32206619 (diff) |
Fix DSP::process_map() plugin-pin I/O map handing
The previous approach failed in case where PluginInsert
uses no-inplace buffers with a linear map.
Since buffers are replicated up to a total of number of
all (inputs + outputs), the number of output buffers
could not be determined. There was insufficient information
using the I/O map alone.
With a known number of outputs processing and applying
the i/o map is also a lot easier and faster.
This break the API of process_map().
Diffstat (limited to 'libs/ardour/convolver.cc')
-rw-r--r-- | libs/ardour/convolver.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/ardour/convolver.cc b/libs/ardour/convolver.cc index 093921a055..15fd1a1abb 100644 --- a/libs/ardour/convolver.cc +++ b/libs/ardour/convolver.cc @@ -174,7 +174,7 @@ void Convolution::run (BufferSet& bufs, ChanMapping const& in_map, ChanMapping const& out_map, pframes_t n_samples, samplecnt_t offset) { if (!ready ()) { - process_map (&bufs, in_map, out_map, n_samples, offset, DataType::AUDIO); + process_map (&bufs, ChanCount (DataType::AUDIO, _n_outputs), in_map, out_map, n_samples, offset); return; } |