X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fupmixer_a.h;h=fe6a373ca44afb27ac231ce577f566c72acc55fb;hp=32e3f5fb625c4b7875c5407dc509acfe180e09e1;hb=6ef1fc5f40567650ca9ef2b7644e4fdd97640ae6;hpb=22b9f3b2090d8bdfe52cda1e69d3acbe874f1ce5 diff --git a/src/lib/upmixer_a.h b/src/lib/upmixer_a.h index 32e3f5fb6..fe6a373ca 100644 --- a/src/lib/upmixer_a.h +++ b/src/lib/upmixer_a.h @@ -1,43 +1,52 @@ /* 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; + int out_channels () const; boost::shared_ptr clone (int) const; - boost::shared_ptr run (boost::shared_ptr); + boost::shared_ptr run (boost::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; };