Merge master.
[dcpomatic.git] / src / lib / config.h
index 0e9c4a60aed4ade7c699b949823625ddedf7bdfa..91926750b8a9a44b37096c144756fe6dca65ff95 100644 (file)
@@ -21,8 +21,8 @@
  *  @brief Class holding configuration.
  */
 
-#ifndef DVDOMATIC_CONFIG_H
-#define DVDOMATIC_CONFIG_H
+#ifndef DCPOMATIC_CONFIG_H
+#define DCPOMATIC_CONFIG_H
 
 #include <vector>
 #include <boost/shared_ptr.hpp>
@@ -107,6 +107,10 @@ public:
                return _language;
        }
 
+       int default_still_length () const {
+               return _default_still_length;
+       }
+
        /** @param n New number of local encoding threads */
        void set_num_local_encoding_threads (int n) {
                _num_local_encoding_threads = n;
@@ -165,14 +169,24 @@ public:
        void set_language (std::string l) {
                _language = l;
        }
-       
+
+       void unset_language () {
+               _language = boost::none;
+       }
+
+       void set_default_still_length (int s) {
+               _default_still_length = s;
+       }
+
        void write () const;
 
        static Config* instance ();
+       static void drop ();
 
 private:
        Config ();
-       std::string file () const;
+       std::string file (bool) const;
+       void read_old_metadata ();
 
        /** number of threads to use for J2K encoding on the local machine */
        int _num_local_encoding_threads;
@@ -201,6 +215,7 @@ private:
        /** Default DCI metadata for newly-created Films */
        DCIMetadata _default_dci_metadata;
        boost::optional<std::string> _language;
+       int _default_still_length;
 
        /** Singleton instance, or 0 */
        static Config* _instance;