X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Faudio_processor.h;h=e24506acdf4dd287d659542e5c6dbac9e0840bcc;hb=fe933ebb2c55b4235fcba5d02af2ba91c272fc88;hp=194c9bf0e63d46b523ff0917ed3f21408e4365a5;hpb=ba9fb85168d004d7643dc02f911fd173a136758b;p=dcpomatic.git diff --git a/src/lib/audio_processor.h b/src/lib/audio_processor.h index 194c9bf0e..e24506acd 100644 --- a/src/lib/audio_processor.h +++ b/src/lib/audio_processor.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2014-2015 Carl Hetherington + Copyright (C) 2014-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,22 +18,26 @@ */ + /** @file src/lib/audio_processor.h * @brief AudioProcessor class. */ + #ifndef DCPOMATIC_AUDIO_PROCESSOR_H #define DCPOMATIC_AUDIO_PROCESSOR_H + #include "types.h" -#include -#include +#include #include #include + class AudioBuffers; class AudioMapping; + /** @class AudioProcessor * @brief A parent class for processors of audio data. * @@ -52,23 +56,24 @@ public: /** @return Number of output channels */ virtual int out_channels () const = 0; /** @return A clone of this AudioProcessor for operation at the specified sampling rate */ - virtual boost::shared_ptr clone (int sampling_rate) const = 0; + virtual std::shared_ptr clone (int sampling_rate) const = 0; /** Process some data, returning the processed result truncated or padded to `channels' */ - virtual boost::shared_ptr run (boost::shared_ptr, int channels) = 0; + virtual std::shared_ptr run (std::shared_ptr, int channels) = 0; 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; /** @return the user-visible (translated) names of each of our inputs, in order */ virtual std::vector input_names () const = 0; - static std::list all (); - static std::list visible (); + static std::vector all (); + static std::vector visible (); static void setup_audio_processors (); static AudioProcessor const * from_id (std::string); private: - static std::list _all; - static std::list _non_experimental; + static std::vector> _experimental; + static std::vector> _non_experimental; }; + #endif