X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fcinema_sound_processor.h;h=ef003da2a3b4834e6c02ae4faf9618df4541c8f9;hp=f735b12277d0c3984a19803cd4941e0e23dd9c34;hb=ac34066d5e448d1984d11a180be74e31b6e13b5c;hpb=d2137ac5db409e686b4d9b3fa567935a5e416d41 diff --git a/src/lib/cinema_sound_processor.h b/src/lib/cinema_sound_processor.h index f735b1227..ef003da2a 100644 --- a/src/lib/cinema_sound_processor.h +++ b/src/lib/cinema_sound_processor.h @@ -1,32 +1,37 @@ /* - Copyright (C) 2012-2014 Carl Hetherington + Copyright (C) 2012-2021 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/cinema_sound_processor.h * @brief CinemaSoundProcessor class */ + #ifndef DCPOMATIC_CINEMA_SOUND_PROCESSOR_H #define DCPOMATIC_CINEMA_SOUND_PROCESSOR_H + +#include #include #include -#include + /** @class CinemaSoundProcessor * @brief Class to describe a cimema's sound processor. @@ -34,12 +39,16 @@ * In other words, the box in the rack that handles sound decoding and processing * in a cinema. */ -class CinemaSoundProcessor : public boost::noncopyable +class CinemaSoundProcessor { public: - CinemaSoundProcessor (std::string i, std::string n); + CinemaSoundProcessor (std::string i, std::string n, float knee, float below, float above); + virtual ~CinemaSoundProcessor () {} + + CinemaSoundProcessor (CinemaSoundProcessor const&) = delete; + CinemaSoundProcessor& operator=(CinemaSoundProcessor const&) = delete; - virtual float db_for_fader_change (float from, float to) const = 0; + float db_for_fader_change (float from, float to) const; /** @return id for our use */ std::string id () const { @@ -50,7 +59,7 @@ public: std::string name () const { return _name; } - + static std::vector all (); static void setup_cinema_sound_processors (); static CinemaSoundProcessor const * from_id (std::string id); @@ -62,9 +71,13 @@ private: std::string _id; /** user-visible name for this sound processor */ std::string _name; + float _knee; + float _below; + float _above; /** sll available cinema sound processors */ static std::vector _cinema_sound_processors; }; + #endif