X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fupmixer_a.h;h=9e364dcc9611fb2f2df3ac4f28703f970da53aa1;hb=ff639b3cf30afcc097bfd21d39c8d15f466cadd6;hp=32e3f5fb625c4b7875c5407dc509acfe180e09e1;hpb=cc27c2716f755305d67f1e1ba828ecf37f8405dd;p=dcpomatic.git diff --git a/src/lib/upmixer_a.h b/src/lib/upmixer_a.h index 32e3f5fb6..9e364dcc9 100644 --- a/src/lib/upmixer_a.h +++ b/src/lib/upmixer_a.h @@ -1,43 +1,55 @@ /* Copyright (C) 2014 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ + +/** @file src/lib/upmixer_a.h + * @brief UpmixerA class. + */ + + #include "audio_processor.h" #include "audio_filter.h" + +/** @class UpmixerA + * @brief Stereo to 5.1 upmixer algorithm by Gérald Maruccia. + */ class UpmixerA : public AudioProcessor { public: - UpmixerA (int sampling_rate); - - std::string name () const; - std::string id () const; - ChannelCount in_channels () const; - int out_channels (int) const; - boost::shared_ptr clone (int) const; - boost::shared_ptr run (boost::shared_ptr); - void flush (); + explicit UpmixerA (int sampling_rate); + + std::string name () const override; + std::string id () const override; + int out_channels () const override; + std::shared_ptr clone (int) const override; + std::shared_ptr run (std::shared_ptr, int channels) override; + void flush () override; + void make_audio_mapping_default (AudioMapping& mapping) const override; + std::vector input_names () const override; private: BandPassAudioFilter _left; BandPassAudioFilter _right; BandPassAudioFilter _centre; - BandPassAudioFilter _lfe; + LowPassAudioFilter _lfe; BandPassAudioFilter _ls; BandPassAudioFilter _rs; };