Add config location versioning (#2090).
[dcpomatic.git] / src / lib / config.h
index 5b64922e61ab3c65a1b7ddcc19af39aebbc569f8..5981e799488f0a1dd7ad8a3b2a4a1d13c1d91983 100644 (file)
@@ -220,6 +220,10 @@ public:
                return _default_interop;
        }
 
+       std::map<std::string, std::string> default_metadata () const {
+               return _default_metadata;
+       }
+
        bool upload_after_make_dcp () {
                return _upload_after_make_dcp;
        }
@@ -699,6 +703,10 @@ public:
                maybe_set (_default_interop, i);
        }
 
+       void set_default_metadata (std::map<std::string, std::string> const& metadata) {
+               maybe_set (_default_metadata, metadata);
+       }
+
        void set_upload_after_make_dcp (bool u) {
                maybe_set (_upload_after_make_dcp, u);
        }
@@ -1087,7 +1095,8 @@ public:
        void save_template (std::shared_ptr<const Film> film, std::string name) const;
        bool existing_template (std::string name) const;
        std::list<std::string> 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;
 
@@ -1095,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 ();
@@ -1180,6 +1190,7 @@ private:
        int _default_j2k_bandwidth;
        int _default_audio_delay;
        bool _default_interop;
+       std::map<std::string, std::string> _default_metadata;
        /** Default directory to offer to write KDMs to; if it's not set,
            the home directory will be offered.
        */