Add test for incorrect ISDCF name with full-frame content, and fix it (#1118).
authorCarl Hetherington <cth@carlh.net>
Tue, 2 Jan 2018 17:48:54 +0000 (17:48 +0000)
committerCarl Hetherington <cth@carlh.net>
Tue, 2 Jan 2018 17:48:54 +0000 (17:48 +0000)
ChangeLog
src/lib/config.cc
src/lib/hints.cc
src/lib/ratio.cc
test/isdcf_name_test.cc
test/ratio_test.cc

index 29e00378c42a1e4506ef2478640ff7dff225118c..f99f1d3eb3ebfb24d5a24ee08c369965edcbeaea 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2018-01-02  Carl Hetherington  <cth@carlh.net>
 
+       * Fix generated ISDCF name with full-frame content (#1118).
+
        * Fix downloading of certificates on Windows (#1124).
 
        * Version 2.11.34 released.
index 8dabcb71dcd4d1ff70f82155ab635192218d84b0..48568975e7150e66a39da4ce14e348de056c5b5b 100644 (file)
@@ -496,7 +496,7 @@ Config::write_config () const
        if (_default_container) {
                /* [XML:opt] DefaultContainer ID of default container
                 * to use when creating new films (<code>185</code>,<code>239</code> or
-                * <code>full-frame</code>).
+                * <code>190</code>).
                */
                root->add_child("DefaultContainer")->add_child_text (_default_container->id ());
        }
index eb3cc73aaf281508e327c63480e2161888561949..b5edd7cc4adae7ab938370e26775de368ffda9fc 100644 (file)
@@ -83,7 +83,7 @@ get_hints (shared_ptr<const Film> film)
                        Ratio const * r = i->video->scale().ratio ();
                        if (r && r->id() == "239") {
                                ++scope;
-                       } else if (r && r->id() != "239" && r->id() != "full-frame") {
+                       } else if (r && r->id() != "239" && r->id() != "190") {
                                ++flat_or_narrower;
                        }
                }
@@ -99,7 +99,7 @@ get_hints (shared_ptr<const Film> film)
                hints.push_back (_("All of your content is at 1.85:1 or narrower but your DCP's container is Scope (2.39:1).  This will pillar-box your content inside a Flat (1.85:1) frame.  You may prefer to set your DCP's container to Flat (1.85:1) in the \"DCP\" tab."));
        }
 
-       if (film_container != "185" && film_container != "239" && film_container != "full-frame") {
+       if (film_container != "185" && film_container != "239" && film_container != "190") {
                hints.push_back (_("Your DCP uses an unusual container ratio.  This may cause problems on some projectors.  If possible, use Flat or Scope for the DCP container ratio"));
        }
 
index 40be9558f9d6af89917250d598ed5c76438f51a8..eae12b061ca0dd04e9692d3cd85eb5e28dd00dd5 100644 (file)
@@ -34,16 +34,16 @@ vector<Ratio const *> Ratio::_ratios;
 void
 Ratio::setup_ratios ()
 {
-       _ratios.push_back (new Ratio (float(1290) / 1080, "119",        _("1.19"),              optional<string>(),      "119"));
-       _ratios.push_back (new Ratio (float(1440) / 1080, "133",        _("1.33 (4:3)"),        optional<string>(),      "133"));
-       _ratios.push_back (new Ratio (float(1485) / 1080, "138",        _("1.38 (Academy)"),    optional<string>(),      "137"));
-       _ratios.push_back (new Ratio (float(1544) / 1080, "143",        _("1.43 (IMAX)"),       optional<string>(),      "143"));
-       _ratios.push_back (new Ratio (float(1800) / 1080, "166",        _("1.66"),              optional<string>(),      "166"));
-       _ratios.push_back (new Ratio (float(1920) / 1080, "178",        _("1.78 (16:9 or HD)"), optional<string>(),      "178"));
-       _ratios.push_back (new Ratio (float(1998) / 1080, "185",        _("1.85 (Flat)"),       string(_("DCI Flat")),   "F"));
-       _ratios.push_back (new Ratio (float(2048) /  872, "235",        _("2.35 (35mm Scope)"), optional<string>(),      "S"));
-       _ratios.push_back (new Ratio (float(2048) /  858, "239",        _("2.39 (Scope)"),      string(_("DCI Scope")),  "S"));
-       _ratios.push_back (new Ratio (float(2048) / 1080, "full-frame", _("1.90 (Full frame)"), string(_("Full frame")), "C"));
+       _ratios.push_back (new Ratio (float(1290) / 1080, "119", _("1.19"),              optional<string>(),      "119"));
+       _ratios.push_back (new Ratio (float(1440) / 1080, "133", _("1.33 (4:3)"),        optional<string>(),      "133"));
+       _ratios.push_back (new Ratio (float(1485) / 1080, "138", _("1.38 (Academy)"),    optional<string>(),      "137"));
+       _ratios.push_back (new Ratio (float(1544) / 1080, "143", _("1.43 (IMAX)"),       optional<string>(),      "143"));
+       _ratios.push_back (new Ratio (float(1800) / 1080, "166", _("1.66"),              optional<string>(),      "166"));
+       _ratios.push_back (new Ratio (float(1920) / 1080, "178", _("1.78 (16:9 or HD)"), optional<string>(),      "178"));
+       _ratios.push_back (new Ratio (float(1998) / 1080, "185", _("1.85 (Flat)"),       string(_("DCI Flat")),   "F"));
+       _ratios.push_back (new Ratio (float(2048) /  872, "235", _("2.35 (35mm Scope)"), optional<string>(),      "S"));
+       _ratios.push_back (new Ratio (float(2048) /  858, "239", _("2.39 (Scope)"),      string(_("DCI Scope")),  "S"));
+       _ratios.push_back (new Ratio (float(2048) / 1080, "190", _("1.90 (Full frame)"), string(_("Full frame")), "C"));
 }
 
 Ratio const *
@@ -105,7 +105,7 @@ Ratio::containers ()
        vector<Ratio const *> r;
        r.push_back (Ratio::from_id ("185"));
        r.push_back (Ratio::from_id ("239"));
-       r.push_back (Ratio::from_id ("full-frame"));
+       r.push_back (Ratio::from_id ("190"));
        return r;
 }
 
index f59e02edf41b80fb333d6cca25a06142bcae6d0f..96ef5a420d681ef43703ad38bf14f51b15e12a50 100644 (file)
@@ -97,6 +97,9 @@ BOOST_AUTO_TEST_CASE (isdcf_name_test)
 
        content->video->set_scale (VideoContentScale (Ratio::from_id ("239")));
        BOOST_CHECK_EQUAL (film->isdcf_name(false), "MyNiceFilmWith_XSN-2_F-239_DE-fr_US-R_4K_DI_20140704_PP_SMPTE_OV");
+
+       content->video->set_scale (VideoContentScale (Ratio::from_id ("190")));
+       BOOST_CHECK_EQUAL (film->isdcf_name(false), "MyNiceFilmWith_XSN-2_F-190_DE-fr_US-R_4K_DI_20140704_PP_SMPTE_OV");
        content->video->set_scale (VideoContentScale (Ratio::from_id ("133")));
 
        /* Test 3D */
index 573e8899e6b6452594f5cc0fae17e15eae8416c2..43f1d2a15b8cc8d58d8b5bccd26590fd94d7eea9 100644 (file)
@@ -63,7 +63,7 @@ BOOST_AUTO_TEST_CASE (ratio_test)
        BOOST_CHECK (r);
        BOOST_CHECK_EQUAL (fit_ratio_within (r->ratio(), dcp::Size (2048, 1080)), dcp::Size (2048, 858));
 
-       r = Ratio::from_id ("full-frame");
+       r = Ratio::from_id ("190");
        BOOST_CHECK (r);
        BOOST_CHECK_EQUAL (fit_ratio_within (r->ratio(), dcp::Size (2048, 1080)), dcp::Size (2048, 1080));
 }