X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fconfig.h;h=9727bac1a16f0fc03398fa54c3643e0f3f255d57;hp=1d40a3b1579e4d1b32e3353c59727ec43cdd0a1b;hb=f706bbb9afd10472e81a051cd5db601d6404377c;hpb=08b44e380c8be3a8cb2dacbd94049f09942dabc1 diff --git a/src/lib/config.h b/src/lib/config.h index 1d40a3b15..9727bac1a 100644 --- a/src/lib/config.h +++ b/src/lib/config.h @@ -28,6 +28,8 @@ #include "audio_mapping.h" +#include "export_config.h" +#include "rough_duration.h" #include "state.h" #include "types.h" #include @@ -91,6 +93,7 @@ public: HISTORY, SHOW_EXPERIMENTAL_AUDIO_PROCESSORS, AUDIO_MAPPING, + AUTO_CROP_THRESHOLD, OTHER }; @@ -171,6 +174,10 @@ public: return _allow_96khz_audio; } + bool use_all_audio_channels () const { + return _use_all_audio_channels; + } + bool show_experimental_audio_processors () const { return _show_experimental_audio_processors; } @@ -571,6 +578,17 @@ public: return _default_kdm_type; } + RoughDuration default_kdm_duration () const { + return _default_kdm_duration; + } + + double auto_crop_threshold () const { + return _auto_crop_threshold; + } + + boost::optional last_release_notes_version () const { + return _last_release_notes_version; + } /* SET (mostly) */ @@ -659,6 +677,10 @@ public: maybe_set (_allow_96khz_audio, a); } + void set_use_all_audio_channels (bool a) { + maybe_set (_use_all_audio_channels, a); + } + void set_show_experimental_audio_processors (bool e) { maybe_set (_show_experimental_audio_processors, e, SHOW_EXPERIMENTAL_AUDIO_PROCESSORS); } @@ -1096,6 +1118,22 @@ public: maybe_set (_default_kdm_type, type); } + void set_default_kdm_duration (RoughDuration duration) { + maybe_set (_default_kdm_duration, duration); + } + + void set_auto_crop_threshold (double threshold) { + maybe_set (_auto_crop_threshold, threshold, AUTO_CROP_THRESHOLD); + } + + void set_last_release_notes_version (std::string version) { + maybe_set (_last_release_notes_version, version); + } + + ExportConfig& export_config() { + return _export; + } + void changed (Property p = OTHER); boost::signals2::signal Changed; /** Emitted if read() failed on an existing Config file. There is nothing @@ -1141,21 +1179,6 @@ public: static boost::filesystem::path config_read_file (); static boost::filesystem::path config_write_file (); -private: - Config (); - void read () override; - void set_defaults (); - void set_kdm_email_to_default (); - void set_notification_email_to_default (); - void set_cover_sheet_to_default (); - void read_cinemas (cxml::Document const & f); - void read_dkdm_recipients (cxml::Document const & f); - std::shared_ptr create_certificate_chain (); - boost::filesystem::path directory_or (boost::optional dir, boost::filesystem::path a) const; - void add_to_history_internal (std::vector& h, boost::filesystem::path p); - void clean_history_internal (std::vector& h); - void backup (); - template void maybe_set (T& member, T new_value, Property prop = OTHER) { if (member == new_value) { @@ -1174,6 +1197,21 @@ private: changed (prop); } +private: + Config (); + void read () override; + void set_defaults (); + void set_kdm_email_to_default (); + void set_notification_email_to_default (); + void set_cover_sheet_to_default (); + void read_cinemas (cxml::Document const & f); + void read_dkdm_recipients (cxml::Document const & f); + std::shared_ptr create_certificate_chain (); + boost::filesystem::path directory_or (boost::optional dir, boost::filesystem::path a) const; + void add_to_history_internal (std::vector& h, boost::filesystem::path p); + void clean_history_internal (std::vector& h); + void backup (); + /** number of threads which a master DoM should use for J2K encoding on the local machine */ int _master_encoding_threads; /** number of threads which a server should use for J2K encoding on the local machine */ @@ -1208,6 +1246,7 @@ private: */ bool _allow_any_container; bool _allow_96khz_audio; + bool _use_all_audio_channels; /** Offer the upmixers in the audio processor settings */ bool _show_experimental_audio_processors; boost::optional _language; @@ -1316,6 +1355,11 @@ private: bool _write_kdms_to_disk; bool _email_kdms; dcp::Formulation _default_kdm_type; + RoughDuration _default_kdm_duration; + double _auto_crop_threshold; + boost::optional _last_release_notes_version; + + ExportConfig _export; static int const _current_version; @@ -1323,4 +1367,5 @@ private: static Config* _instance; }; + #endif