X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fconfig.h;h=5981e799488f0a1dd7ad8a3b2a4a1d13c1d91983;hb=ccacce39c39d16977ab6c1592fcb6e941b05ddff;hp=3371e48bfc3b5dfa5cc1815b04de8d9f33c8d1c4;hpb=d461d2685050842cb86875f5a5aa62505779b9ed;p=dcpomatic.git diff --git a/src/lib/config.h b/src/lib/config.h index 3371e48bf..5981e7994 100644 --- a/src/lib/config.h +++ b/src/lib/config.h @@ -25,10 +25,8 @@ #ifndef DCPOMATIC_CONFIG_H #define DCPOMATIC_CONFIG_H -#include "isdcf_metadata.h" #include "types.h" #include "state.h" -#include "edid.h" #include "audio_mapping.h" #include #include @@ -166,10 +164,6 @@ public: return _show_experimental_audio_processors; } - ISDCFMetadata default_isdcf_metadata () const { - return _default_isdcf_metadata; - } - boost::optional language () const { return _language; } @@ -226,6 +220,10 @@ public: return _default_interop; } + std::map default_metadata () const { + return _default_metadata; + } + bool upload_after_make_dcp () { return _upload_after_make_dcp; } @@ -392,6 +390,9 @@ public: return _jump_to_selected; } + /* This could be an enum class but we use the enum a lot to index _nagged + * so it means a lot of casts. + */ enum Nag { NAG_DKDM_CONFIG, NAG_ENCRYPTED_METADATA, @@ -400,6 +401,7 @@ public: NAG_IMPORT_DECRYPTION_CHAIN, NAG_DELETE_DKDM, NAG_32_ON_64, + NAG_TOO_MANY_DROPPED_FRAMES, NAG_COUNT }; @@ -537,14 +539,14 @@ public: AudioMapping audio_mapping (int output_channels); - int minimum_frame_size () const { - return _minimum_frame_size; - } - std::vector custom_languages () const { return _custom_languages; } + boost::optional add_files_path () const { + return _add_files_path; + } + /* SET (mostly) */ void set_master_encoding_threads (int n) { @@ -632,10 +634,6 @@ public: maybe_set (_show_experimental_audio_processors, e, SHOW_EXPERIMENTAL_AUDIO_PROCESSORS); } - void set_default_isdcf_metadata (ISDCFMetadata d) { - maybe_set (_default_isdcf_metadata, d); - } - void set_language (std::string l) { if (_language && _language.get() == l) { return; @@ -705,6 +703,10 @@ public: maybe_set (_default_interop, i); } + void set_default_metadata (std::map const& metadata) { + maybe_set (_default_metadata, metadata); + } + void set_upload_after_make_dcp (bool u) { maybe_set (_upload_after_make_dcp, u); } @@ -1056,12 +1058,13 @@ public: void set_audio_mapping (AudioMapping m); void set_audio_mapping_to_default (); - void set_minimum_frame_size (int size) { - maybe_set (_minimum_frame_size, size); - } - void add_custom_language (dcp::LanguageTag tag); + void set_add_files_path (boost::filesystem::path p) { + _add_files_path = p; + changed (); + } + void changed (Property p = OTHER); boost::signals2::signal Changed; /** Emitted if read() failed on an existing Config file. There is nothing @@ -1092,7 +1095,8 @@ public: void save_template (std::shared_ptr film, std::string name) const; bool existing_template (std::string name) const; std::list templates () const; - boost::filesystem::path template_path (std::string name) const; + boost::filesystem::path template_read_path (std::string name) const; + boost::filesystem::path template_write_path (std::string name) const; void rename_template (std::string old_name, std::string new_name) const; void delete_template (std::string name) const; @@ -1100,7 +1104,8 @@ public: static void drop (); static void restore_defaults (); static bool have_existing (std::string); - static boost::filesystem::path config_file (); + static boost::filesystem::path config_read_file (); + static boost::filesystem::path config_write_file (); private: Config (); @@ -1170,8 +1175,6 @@ private: 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; /** Default length of still image content (seconds) */ int _default_still_length; @@ -1187,6 +1190,7 @@ private: int _default_j2k_bandwidth; int _default_audio_delay; bool _default_interop; + std::map _default_metadata; /** Default directory to offer to write KDMs to; if it's not set, the home directory will be offered. */ @@ -1275,8 +1279,8 @@ private: boost::optional _player_playlist_directory; boost::optional _player_kdm_directory; boost::optional _audio_mapping; - int _minimum_frame_size; std::vector _custom_languages; + boost::optional _add_files_path; static int const _current_version;