summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/config.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index 79a7b01f1..1a97eaa0d 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -71,6 +71,7 @@ Config::Config ()
_colour_conversions.push_back (PresetColourConversion (_("sRGB"), 2.4, true, libdcp::colour_matrix::srgb_to_xyz, 2.6));
_colour_conversions.push_back (PresetColourConversion (_("sRGB non-linearised"), 2.4, false, libdcp::colour_matrix::srgb_to_xyz, 2.6));
+ _colour_conversions.push_back (PresetColourConversion (_("Rec. 709"), 2.4, false, libdcp::colour_matrix::rec709_to_xyz, 2.2));
}
void
@@ -85,6 +86,8 @@ Config::read ()
f.read_file (file (false));
optional<string> c;
+ optional<int> version = f.optional_number_child<int> ("Version");
+
_num_local_encoding_threads = f.number_child<int> ("NumLocalEncodingThreads");
_default_directory = f.string_child ("DefaultDirectory");
_server_port = f.number_child<int> ("ServerPort");
@@ -133,6 +136,13 @@ Config::read ()
_colour_conversions.push_back (PresetColourConversion (*i));
}
+ if (!version) {
+ /* Loading version 0 (before Rec. 709 was added as a preset).
+ Add it in.
+ */
+ _colour_conversions.push_back (PresetColourConversion (_("Rec. 709"), 2.4, false, libdcp::colour_matrix::rec709_to_xyz, 2.2));
+ }
+
list<shared_ptr<cxml::Node> > cin = f.node_children ("Cinema");
for (list<shared_ptr<cxml::Node> >::iterator i = cin.begin(); i != cin.end(); ++i) {
/* Slightly grotty two-part construction of Cinema here so that we can use
@@ -263,6 +273,7 @@ Config::write () const
xmlpp::Document doc;
xmlpp::Element* root = doc.create_root_node ("Config");
+ root->add_child("Version")->add_child_text ("1");
root->add_child("NumLocalEncodingThreads")->add_child_text (lexical_cast<string> (_num_local_encoding_threads));
root->add_child("DefaultDirectory")->add_child_text (_default_directory.string ());
root->add_child("ServerPort")->add_child_text (lexical_cast<string> (_server_port));