X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fupmixer_a.h;h=b357616ef0038e758b8ac0d6a17fccb1e4fe0c75;hb=2e2f11b29651cffe37c64275dbd45c7563310020;hp=32e3f5fb625c4b7875c5407dc509acfe180e09e1;hpb=f4030653da8f5a0b3daebe640f485b3daf9ef091;p=dcpomatic.git diff --git a/src/lib/upmixer_a.h b/src/lib/upmixer_a.h index 32e3f5fb6..b357616ef 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); - + explicit 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); + int out_channels () const; + std::shared_ptr clone (int) const; + std::shared_ptr run (std::shared_ptr, int channels); void flush (); + void make_audio_mapping_default (AudioMapping& mapping) const; + std::vector input_names () const; private: BandPassAudioFilter _left; BandPassAudioFilter _right; BandPassAudioFilter _centre; - BandPassAudioFilter _lfe; + LowPassAudioFilter _lfe; BandPassAudioFilter _ls; BandPassAudioFilter _rs; };