summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/dsp_filter.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2020-02-26 17:50:08 +0100
committerRobin Gareus <robin@gareus.org>2020-02-26 17:50:08 +0100
commitd27cdb3855eb679dcf66fa37312dcab5aae100dd (patch)
treeaafda3bf4fb8a5440e13f6cff974f16d0743f259 /libs/ardour/ardour/dsp_filter.h
parenta5c956883d4a0efa3425179cec87717b32206619 (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/ardour/dsp_filter.h')
-rw-r--r--libs/ardour/ardour/dsp_filter.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/libs/ardour/ardour/dsp_filter.h b/libs/ardour/ardour/dsp_filter.h
index cb03392913..ed31bb6012 100644
--- a/libs/ardour/ardour/dsp_filter.h
+++ b/libs/ardour/ardour/dsp_filter.h
@@ -166,10 +166,10 @@ namespace ARDOUR { namespace DSP {
float log_meter_coeff (float coeff);
void process_map (BufferSet* bufs,
- const ChanMapping& in,
- const ChanMapping& out,
- pframes_t nframes, samplecnt_t offset,
- const DataType&);
+ const ChanCount& n_out,
+ const ChanMapping& in_map,
+ const ChanMapping& out_map,
+ pframes_t nframes, samplecnt_t offset);
/** 1st order Low Pass filter */
class LIBARDOUR_API LowPass {