Add hint when making a FTR without FFEC/FFMC markers (#1804).
authorCarl Hetherington <cth@carlh.net>
Sat, 21 Nov 2020 21:38:45 +0000 (22:38 +0100)
committerCarl Hetherington <cth@carlh.net>
Sat, 21 Nov 2020 22:02:49 +0000 (23:02 +0100)
src/lib/hints.cc
src/lib/hints.h

index 6228f0a48a7df0e6e2ebce0d5988b7b8a3bf061e..14022bb591f6515eb62924ae655ae32cf3bac9e6 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
-    Copyright (C) 2016-2019 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2016-2020 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
 
     This file is part of DCP-o-matic.
 
@@ -18,6 +18,7 @@
 
 */
 
 
 */
 
+#include "dcp_content_type.h"
 #include "hints.h"
 #include "types.h"
 #include "film.h"
 #include "hints.h"
 #include "types.h"
 #include "film.h"
@@ -326,6 +327,7 @@ Hints::thread ()
        check_vob ();
        check_3d_in_2d ();
        check_loudness ();
        check_vob ();
        check_3d_in_2d ();
        check_loudness ();
+       check_ffec_and_ffmc_in_smpte_feature ();
 
        emit (bind(boost::ref(Progress), _("Examining closed captions")));
 
 
        emit (bind(boost::ref(Progress), _("Examining closed captions")));
 
@@ -403,3 +405,13 @@ Hints::film () const
        DCPOMATIC_ASSERT (film);
        return film;
 }
        DCPOMATIC_ASSERT (film);
        return film;
 }
+
+
+void
+Hints::check_ffec_and_ffmc_in_smpte_feature ()
+{
+       shared_ptr<const Film> f = film();
+       if (!f->interop() && f->dcp_content_type()->libdcp_kind() == dcp::FEATURE && (!f->marker(dcp::FFEC) || !f->marker(dcp::FFMC))) {
+               hint (_("SMPTE DCPs with the type FTR (feature) should have markers for the first frame of end credits (FFEC) and the first frame of moving credits (FFMC).  You should add these markers using the 'Markers' button in the DCP tab."));
+       }
+}
index 7a907462562687ab74e6e5eb2daf85e8c286b4e2..b5a26998def529d8131d6c8f8c9c8b535baca781 100644 (file)
@@ -61,6 +61,7 @@ private:
        void check_vob ();
        void check_3d_in_2d ();
        void check_loudness ();
        void check_vob ();
        void check_3d_in_2d ();
        void check_loudness ();
+       void check_ffec_and_ffmc_in_smpte_feature ();
 
        boost::weak_ptr<const Film> _film;
        boost::thread _thread;
 
        boost::weak_ptr<const Film> _film;
        boost::thread _thread;