summaryrefslogtreecommitdiff
path: root/src/lib/colour_conversion.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-05-25 02:48:32 +0100
committerCarl Hetherington <cth@carlh.net>2015-05-25 02:48:32 +0100
commit8167d04e4dde6297ad936dca5dc691818a4dae41 (patch)
tree37aac64d82949ac0086d40259ccd06e35e728597 /src/lib/colour_conversion.cc
parentd8b6ee12af54a37433e96238bdca29171d6e0eb6 (diff)
11b5bf6229b8713dffde89a777cd5181335136f6 from master; default colour conversions depending on type and resolution
Diffstat (limited to 'src/lib/colour_conversion.cc')
-rw-r--r--src/lib/colour_conversion.cc24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/lib/colour_conversion.cc b/src/lib/colour_conversion.cc
index cb3a92c1a..bc11071ee 100644
--- a/src/lib/colour_conversion.cc
+++ b/src/lib/colour_conversion.cc
@@ -222,9 +222,10 @@ PresetColourConversion::PresetColourConversion ()
}
-PresetColourConversion::PresetColourConversion (string n, dcp::ColourConversion conversion_)
+PresetColourConversion::PresetColourConversion (string n, string i, dcp::ColourConversion conversion_)
: conversion (conversion_)
, name (n)
+ , id (i)
{
}
@@ -257,8 +258,21 @@ operator== (PresetColourConversion const & a, PresetColourConversion const & b)
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 ()));
+ _presets.push_back (PresetColourConversion (_("sRGB"), "rgb", dcp::ColourConversion::srgb_to_xyz ()));
+ _presets.push_back (PresetColourConversion (_("Rec. 601"), "rec601", dcp::ColourConversion::rec601_to_xyz ()));
+ _presets.push_back (PresetColourConversion (_("Rec. 709"), "rec709", dcp::ColourConversion::rec709_to_xyz ()));
+ _presets.push_back (PresetColourConversion (_("P3"), "p3", dcp::ColourConversion::p3_to_xyz ()));
}
+
+PresetColourConversion
+PresetColourConversion::from_id (string s)
+{
+ BOOST_FOREACH (PresetColourConversion const& i, _presets) {
+ if (i.id == s) {
+ return i;
+ }
+ }
+
+ DCPOMATIC_ASSERT (false);
+}
+