Merge master.
[dcpomatic.git] / src / lib / config.h
index 3cfaa12007677a1c4f6939a9751ba4a127dee824..55a172d78df40ed7c62025ff60c5422c7e9406fc 100644 (file)
@@ -33,6 +33,7 @@
 #include <dcp/signer.h>
 #include "isdcf_metadata.h"
 #include "colour_conversion.h"
+#include "video_content.h"
 
 class ServerDescription;
 class Scaler;
@@ -134,7 +135,7 @@ public:
                return _default_still_length;
        }
 
-       Ratio const * default_scale () const {
+       VideoContentScale default_scale () const {
                return _default_scale;
        }
 
@@ -146,8 +147,8 @@ public:
                return _default_dcp_content_type;
        }
 
-       dcp::XMLMetadata dcp_metadata () const {
-               return _dcp_metadata;
+       std::string dcp_issuer () const {
+               return _dcp_issuer;
        }
 
        int default_j2k_bandwidth () const {
@@ -221,7 +222,17 @@ public:
        int log_types () const {
                return _log_types;
        }
-       
+
+#ifdef DCPOMATIC_WINDOWS       
+       bool win32_console () const {
+               return _win32_console;
+       }
+#endif 
+
+       std::vector<boost::filesystem::path> history () const {
+               return _history;
+       }
+
        /** @param n New number of local encoding threads */
        void set_num_local_encoding_threads (int n) {
                _num_local_encoding_threads = n;
@@ -303,7 +314,7 @@ public:
                changed ();
        }
 
-       void set_default_scale (Ratio const * s) {
+       void set_default_scale (VideoContentScale s) {
                _default_scale = s;
                changed ();
        }
@@ -318,8 +329,8 @@ public:
                changed ();
        }
 
-       void set_dcp_metadata (dcp::XMLMetadata m) {
-               _dcp_metadata = m;
+       void set_dcp_issuer (std::string i) {
+               _dcp_issuer = i;
                changed ();
        }
 
@@ -414,6 +425,20 @@ public:
                _log_types = t;
                changed ();
        }
+
+#ifdef DCPOMATIC_WINDOWS       
+       void set_win32_console (bool c) {
+               _win32_console = c;
+               changed ();
+       }
+#endif 
+
+       void clear_history () {
+               _history.clear ();
+               changed ();
+       }
+
+       void add_to_history (boost::filesystem::path p);
        
        void changed ();
        boost::signals2::signal<void ()> Changed;
@@ -423,7 +448,7 @@ public:
 
 private:
        Config ();
-       boost::filesystem::path file (bool) const;
+       boost::filesystem::path file () const;
        void read ();
        void write () const;
        void make_decryption_keys ();
@@ -457,10 +482,10 @@ private:
        ISDCFMetadata _default_isdcf_metadata;
        boost::optional<std::string> _language;
        int _default_still_length;
-       Ratio const * _default_scale;
+       VideoContentScale _default_scale;
        Ratio const * _default_container;
        DCPContentType const * _default_dcp_content_type;
-       dcp::XMLMetadata _dcp_metadata;
+       std::string _dcp_issuer;
        int _default_j2k_bandwidth;
        int _default_audio_delay;
        std::vector<PresetColourConversion> _colour_conversions;
@@ -482,7 +507,11 @@ private:
        /** maximum allowed J2K bandwidth in bits per second */
        int _maximum_j2k_bandwidth;
        int _log_types;
-
+#ifdef DCPOMATIC_WINDOWS       
+       bool _win32_console;
+#endif 
+       std::vector<boost::filesystem::path> _history;
+       
        /** Singleton instance, or 0 */
        static Config* _instance;
 };