X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fcolour_conversion.cc;h=cb3a92c1a428ffa4988356b7eb06c1bfb4551a4e;hb=5229b795b9d7cafe174496fbc6bca8d62f4a3ff0;hp=3c076b030ed19ee7d483f130287b8e73c3303270;hpb=1cdedd1c19bd34f1c41043f9bbeae39cb54a0ed8;p=dcpomatic.git diff --git a/src/lib/colour_conversion.cc b/src/lib/colour_conversion.cc index 3c076b030..cb3a92c1a 100644 --- a/src/lib/colour_conversion.cc +++ b/src/lib/colour_conversion.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2013 Carl Hetherington + Copyright (C) 2013-2015 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,6 +28,7 @@ #include #include #include +#include #include "i18n.h" @@ -39,6 +40,8 @@ using boost::shared_ptr; using boost::optional; using boost::dynamic_pointer_cast; +vector PresetColourConversion::_presets; + ColourConversion::ColourConversion () : dcp::ColourConversion (dcp::ColourConversion::srgb_to_xyz ()) { @@ -165,7 +168,7 @@ ColourConversion::as_xml (xmlpp::Node* node) const optional ColourConversion::preset () const { - vector presets = Config::instance()->colour_conversions (); + vector presets = PresetColourConversion::all (); size_t i = 0; while (i < presets.size() && (presets[i].conversion != *this)) { ++i; @@ -233,13 +236,6 @@ PresetColourConversion::PresetColourConversion (cxml::NodePtr node, int version) } -void -PresetColourConversion::as_xml (xmlpp::Node* node) const -{ - conversion.as_xml (node); - node->add_child("Name")->add_child_text (name); -} - bool operator== (ColourConversion const & a, ColourConversion const & b) { @@ -257,3 +253,12 @@ operator== (PresetColourConversion const & a, PresetColourConversion const & b) { return a.name == b.name && a.conversion == b.conversion; } + +void +PresetColourConversion::setup_colour_conversion_presets () +{ + _presets.push_back (PresetColourConversion (_("sRGB"), dcp::ColourConversion::srgb_to_xyz ())); + _presets.push_back (PresetColourConversion (_("Rec. 601"), dcp::ColourConversion::rec601_to_xyz ())); + _presets.push_back (PresetColourConversion (_("Rec. 709"), dcp::ColourConversion::rec709_to_xyz ())); + _presets.push_back (PresetColourConversion (_("P3"), dcp::ColourConversion::p3_to_xyz ())); +}