diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-07-06 23:23:26 +0200 |
|---|---|---|
| committer | cah <cth@carlh.net> | 2025-07-10 22:49:00 +0200 |
| commit | 4e244c8a4b34268445123b7d6df54ff303561fa5 (patch) | |
| tree | 54b92d242ea518ee0e9d55c20265d5ab963fc7a0 /src/lib/audio_processor.h | |
| parent | a564301f86068484d98d329971f59b10c7de892e (diff) | |
Allow audio processors to pass through HI/VI/DBox etc (#3020).
Previously you couldn't map these things if you were using a processor.
Diffstat (limited to 'src/lib/audio_processor.h')
| -rw-r--r-- | src/lib/audio_processor.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/audio_processor.h b/src/lib/audio_processor.h index 2c3df3add..f469f07c0 100644 --- a/src/lib/audio_processor.h +++ b/src/lib/audio_processor.h @@ -29,6 +29,7 @@ #include "named_channel.h" +#include <dcp/types.h> #include <memory> #include <string> #include <vector> @@ -58,7 +59,7 @@ public: /** @return A clone of this AudioProcessor for operation at the specified sampling rate */ virtual std::shared_ptr<AudioProcessor> clone(int sampling_rate) const = 0; /** Process some data, returning the processed result truncated or padded to `channels' */ - virtual std::shared_ptr<AudioBuffers> run(std::shared_ptr<const AudioBuffers>, int channels) = 0; + std::shared_ptr<AudioBuffers> run(std::shared_ptr<const AudioBuffers>, int channels); virtual void flush() {} /** Make the supplied audio mapping into a sensible default for this processor */ virtual void make_audio_mapping_default(AudioMapping& mapping) const = 0; @@ -69,6 +70,10 @@ public: static std::vector<AudioProcessor const *> visible(); static void setup_audio_processors(); static AudioProcessor const * from_id(std::string); + static std::vector<dcp::Channel> pass_through(); + +protected: + virtual std::shared_ptr<AudioBuffers> do_run(std::shared_ptr<const AudioBuffers>, int channels) = 0; private: static std::vector<std::unique_ptr<const AudioProcessor>> _experimental; |
