X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fconfig.h;h=74a44bc2f8d9b57bf2c5dd8a6248046c7aacaafe;hb=2f796cd531de522a3b7ed03a9942f3c55f3a0b5b;hp=7494074036c0fb01772d0c25cb4a0749a1b3ed50;hpb=950ca13738e95f27ce67dbc087db15c68e0c6032;p=dcpomatic.git diff --git a/src/lib/config.h b/src/lib/config.h index 749407403..74a44bc2f 100644 --- a/src/lib/config.h +++ b/src/lib/config.h @@ -44,6 +44,7 @@ class Ratio; class Cinema; class Film; class DKDMGroup; +class DKDMRecipient; /** @class Config * @brief A singleton class holding configuration. @@ -76,6 +77,7 @@ public: USE_ANY_SERVERS, SERVERS, CINEMAS, + DKDM_RECIPIENTS, SOUND, SOUND_OUTPUT, INTERFACE_COMPLEXITY, @@ -148,6 +150,10 @@ public: return _cinemas; } + std::list > dkdm_recipients () const { + return _dkdm_recipients; + } + std::list allowed_dcp_frame_rates () const { return _allowed_dcp_frame_rates; } @@ -180,10 +186,6 @@ public: return _default_container; } - Ratio const * default_scale_to () const { - return _default_scale_to; - } - DCPContentType const * default_dcp_content_type () const { return _default_dcp_content_type; } @@ -200,6 +202,22 @@ public: return _dcp_creator; } + std::string dcp_company_name () const { + return _dcp_company_name; + } + + std::string dcp_product_name () const { + return _dcp_product_name; + } + + std::string dcp_product_version () const { + return _dcp_product_version; + } + + std::string dcp_j2k_comment () const { + return _dcp_j2k_comment; + } + int default_j2k_bandwidth () const { return _default_j2k_bandwidth; } @@ -212,8 +230,8 @@ public: return _default_interop; } - bool default_upload_after_make_dcp () { - return _default_upload_after_make_dcp; + bool upload_after_make_dcp () { + return _upload_after_make_dcp; } void set_default_kdm_directory (boost::filesystem::path d) { @@ -342,6 +360,10 @@ public: return _cinemas_file; } + boost::filesystem::path dkdm_recipients_file () const { + return _dkdm_recipients_file; + } + bool show_hints_before_make_dcp () const { return _show_hints_before_make_dcp; } @@ -358,6 +380,10 @@ public: return _kdm_filename_format; } + dcp::NameFormat dkdm_filename_format () const { + return _dkdm_filename_format; + } + dcp::NameFormat dcp_metadata_filename_format () const { return _dcp_metadata_filename_format; } @@ -617,6 +643,16 @@ public: changed (CINEMAS); } + void add_dkdm_recipient (boost::shared_ptr c) { + _dkdm_recipients.push_back (c); + changed (DKDM_RECIPIENTS); + } + + void remove_dkdm_recipient (boost::shared_ptr c) { + _dkdm_recipients.remove (c); + changed (DKDM_RECIPIENTS); + } + void set_allowed_dcp_frame_rates (std::list const & r) { maybe_set (_allowed_dcp_frame_rates, r); } @@ -662,10 +698,6 @@ public: maybe_set (_default_container, c); } - void set_default_scale_to (Ratio const * c) { - maybe_set (_default_scale_to, c); - } - void set_default_dcp_content_type (DCPContentType const * t) { maybe_set (_default_dcp_content_type, t); } @@ -682,6 +714,22 @@ public: maybe_set (_dcp_creator, c); } + void set_dcp_company_name (std::string c) { + maybe_set (_dcp_company_name, c); + } + + void set_dcp_product_name (std::string c) { + maybe_set (_dcp_product_name, c); + } + + void set_dcp_product_version (std::string c) { + maybe_set (_dcp_product_version, c); + } + + void set_dcp_j2k_comment (std::string c) { + maybe_set (_dcp_j2k_comment, c); + } + void set_default_j2k_bandwidth (int b) { maybe_set (_default_j2k_bandwidth, b); } @@ -694,8 +742,8 @@ public: maybe_set (_default_interop, i); } - void set_default_upload_after_make_dcp (bool u) { - maybe_set (_default_upload_after_make_dcp, u); + void set_upload_after_make_dcp (bool u) { + maybe_set (_upload_after_make_dcp, u); } void set_mail_server (std::string s) { @@ -814,6 +862,8 @@ public: void set_cinemas_file (boost::filesystem::path file); + void set_dkdm_recipients_file (boost::filesystem::path file); + void set_show_hints_before_make_dcp (bool s) { maybe_set (_show_hints_before_make_dcp, s); } @@ -859,6 +909,10 @@ public: maybe_set (_kdm_filename_format, n); } + void set_dkdm_filename_format (dcp::NameFormat n) { + maybe_set (_dkdm_filename_format, n); + } + void set_dcp_metadata_filename_format (dcp::NameFormat n) { maybe_set (_dcp_metadata_filename_format, n); } @@ -1111,6 +1165,7 @@ public: void write () const; void write_config () const; void write_cinemas () const; + void write_dkdm_recipients () const; void link (boost::filesystem::path new_file) const; void copy_and_link (boost::filesystem::path new_file) const; bool have_write_permission () const; @@ -1136,6 +1191,7 @@ private: 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); boost::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); @@ -1201,11 +1257,14 @@ private: /** Default length of still image content (seconds) */ int _default_still_length; Ratio const * _default_container; - Ratio const * _default_scale_to; DCPContentType const * _default_dcp_content_type; int _default_dcp_audio_channels; std::string _dcp_issuer; std::string _dcp_creator; + std::string _dcp_company_name; + std::string _dcp_product_name; + std::string _dcp_product_version; + std::string _dcp_j2k_comment; int _default_j2k_bandwidth; int _default_audio_delay; bool _default_interop; @@ -1213,8 +1272,9 @@ private: the home directory will be offered. */ boost::optional _default_kdm_directory; - bool _default_upload_after_make_dcp; + bool _upload_after_make_dcp; std::list > _cinemas; + std::list > _dkdm_recipients; std::string _mail_server; int _mail_port; EmailProtocol _mail_protocol; @@ -1257,9 +1317,11 @@ private: std::vector _player_history; boost::shared_ptr _dkdms; boost::filesystem::path _cinemas_file; + boost::filesystem::path _dkdm_recipients_file; bool _show_hints_before_make_dcp; bool _confirm_kdm_email; dcp::NameFormat _kdm_filename_format; + dcp::NameFormat _dkdm_filename_format; dcp::NameFormat _kdm_container_name_format; dcp::NameFormat _dcp_metadata_filename_format; dcp::NameFormat _dcp_asset_filename_format;