X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fconfig.h;h=7494074036c0fb01772d0c25cb4a0749a1b3ed50;hb=fa5f3a8bf77209da27acc33cf144e2e4500a2600;hp=a8427663dd6c2fa4cd648842420437dfe365a617;hpb=a7ccdd22a980d1b18ecf4477a912bab7510be14a;p=dcpomatic.git diff --git a/src/lib/config.h b/src/lib/config.h index a8427663d..749407403 100644 --- a/src/lib/config.h +++ b/src/lib/config.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2018 Carl Hetherington + Copyright (C) 2012-2020 Carl Hetherington This file is part of DCP-o-matic. @@ -29,6 +29,7 @@ #include "types.h" #include "state.h" #include "edid.h" +#include "audio_mapping.h" #include #include #include @@ -82,6 +83,8 @@ public: PLAYER_PLAYLIST_DIRECTORY, PLAYER_DEBUG_LOG, HISTORY, + SHOW_EXPERIMENTAL_AUDIO_PROCESSORS, + AUDIO_MAPPING, #ifdef DCPOMATIC_VARIANT_SWAROOP PLAYER_BACKGROUND_IMAGE, #endif @@ -141,11 +144,6 @@ public: return _tms_password; } - /** @return The cinema sound processor that we are using */ - CinemaSoundProcessor const * cinema_sound_processor () const { - return _cinema_sound_processor; - } - std::list > cinemas () const { return _cinemas; } @@ -162,6 +160,10 @@ public: return _allow_any_container; } + bool show_experimental_audio_processors () const { + return _show_experimental_audio_processors; + } + ISDCFMetadata default_isdcf_metadata () const { return _default_isdcf_metadata; } @@ -377,6 +379,7 @@ public: NAG_INITIAL_SETUP, NAG_IMPORT_DECRYPTION_CHAIN, NAG_DELETE_DKDM, + NAG_32_ON_64, NAG_COUNT }; @@ -475,9 +478,9 @@ public: } enum PlayerMode { - PLAYER_MODE_WINDOW, - PLAYER_MODE_FULL, - PLAYER_MODE_DUAL + PLAYER_MODE_WINDOW, ///< one window containing image and controls + PLAYER_MODE_FULL, ///< just the image filling the screen + PLAYER_MODE_DUAL ///< image on one monitor and extended controls on the other }; PlayerMode player_mode () const { @@ -488,6 +491,15 @@ public: return _image_display; } + enum VideoViewType { + VIDEO_VIEW_SIMPLE, + VIDEO_VIEW_OPENGL + }; + + VideoViewType video_view_type () const { + return _video_view_type; + } + bool respect_kdm_validity_periods () const { return _respect_kdm_validity_periods; } @@ -512,6 +524,8 @@ public: return _player_kdm_directory; } + AudioMapping audio_mapping (int output_channels); + #ifdef DCPOMATIC_VARIANT_SWAROOP boost::optional player_background_image () const { return _player_background_image; @@ -615,6 +629,10 @@ public: maybe_set (_allow_any_container, a); } + void set_show_experimental_audio_processors (bool e) { + maybe_set (_show_experimental_audio_processors, e, SHOW_EXPERIMENTAL_AUDIO_PROCESSORS); + } + void set_default_isdcf_metadata (ISDCFMetadata d) { maybe_set (_default_isdcf_metadata, d); } @@ -954,6 +972,10 @@ public: maybe_set (_image_display, n); } + void set_video_view_type (VideoViewType v) { + maybe_set (_video_view_type, v); + } + void set_respect_kdm_validity_periods (bool r) { maybe_set (_respect_kdm_validity_periods, r); } @@ -1018,6 +1040,9 @@ public: changed (); } + void set_audio_mapping (AudioMapping m); + void set_audio_mapping_to_default (); + #ifdef DCPOMATIC_VARIANT_SWAROOP void set_player_background_image (boost::filesystem::path p) { maybe_set (_player_background_image, p, PLAYER_BACKGROUND_IMAGE); @@ -1159,8 +1184,6 @@ private: std::string _tms_user; /** Password to log into the TMS with */ std::string _tms_password; - /** Our cinema sound processor */ - CinemaSoundProcessor const * _cinema_sound_processor; /** The list of possible DCP frame rates that DCP-o-matic will use */ std::list _allowed_dcp_frame_rates; /** Allow any video frame rate for the DCP; if true, overrides _allowed_dcp_frame_rates */ @@ -1170,6 +1193,8 @@ private: https://www.dcpomatic.com/forum/viewtopic.php?f=2&t=1119&p=4468 */ bool _allow_any_container; + /** Offer the upmixers in the audio processor settings */ + bool _show_experimental_audio_processors; /** Default ISDCF metadata for newly-created Films */ ISDCFMetadata _default_isdcf_metadata; boost::optional _language; @@ -1260,6 +1285,7 @@ private: Interface _interface_complexity; PlayerMode _player_mode; int _image_display; + VideoViewType _video_view_type; bool _respect_kdm_validity_periods; /** Log file containing things the player does (e.g. started, stopped, loaded playlist etc.) Does not contain debugging information. @@ -1274,6 +1300,7 @@ private: boost::optional _player_content_directory; boost::optional _player_playlist_directory; boost::optional _player_kdm_directory; + boost::optional _audio_mapping; #ifdef DCPOMATIC_VARIANT_SWAROOP boost::optional _player_background_image; std::string _kdm_server_url;