Use an enum class for Marker.
authorCarl Hetherington <cth@carlh.net>
Fri, 15 Jan 2021 22:11:47 +0000 (23:11 +0100)
committerCarl Hetherington <cth@carlh.net>
Sun, 17 Jan 2021 19:13:23 +0000 (20:13 +0100)
src/reel_markers_asset.cc
src/types.cc
src/types.h
test/markers_test.cc

index de73980e09cad699e1a6d2e7741ac7ff053e8642..c0ad6b57a8a5a7ca5278a2653dd106d3f8c41d26 100644 (file)
@@ -123,16 +123,16 @@ ReelMarkersAsset::equals (shared_ptr<const ReelMarkersAsset> other, EqualityOpti
                return false;
        }
 
-       if (get(FFOC) != other->get(FFOC) ||
-           get(LFOC) != other->get(LFOC) ||
-           get(FFTC) != other->get(FFTC) ||
-           get(LFTC) != other->get(LFTC) ||
-           get(FFOI) != other->get(FFOI) ||
-           get(LFOI) != other->get(LFOI) ||
-           get(FFEC) != other->get(FFEC) ||
-           get(LFEC) != other->get(LFEC) ||
-           get(FFMC) != other->get(FFMC) ||
-           get(LFMC) != other->get(LFMC)) {
+       if (get(Marker::FFOC) != other->get(Marker::FFOC) ||
+           get(Marker::LFOC) != other->get(Marker::LFOC) ||
+           get(Marker::FFTC) != other->get(Marker::FFTC) ||
+           get(Marker::LFTC) != other->get(Marker::LFTC) ||
+           get(Marker::FFOI) != other->get(Marker::FFOI) ||
+           get(Marker::LFOI) != other->get(Marker::LFOI) ||
+           get(Marker::FFEC) != other->get(Marker::FFEC) ||
+           get(Marker::LFEC) != other->get(Marker::LFEC) ||
+           get(Marker::FFMC) != other->get(Marker::FFMC) ||
+           get(Marker::LFMC) != other->get(Marker::LFMC)) {
                return false;
        }
 
index 4f089e2eec9a5d3644cf4f5264acf96abd96e36f..0ff65abd6b7eb60f00acac6559f943b5800a305c 100644 (file)
@@ -388,25 +388,25 @@ string
 dcp::marker_to_string (dcp::Marker m)
 {
        switch (m) {
-       case FFOC:
+       case Marker::FFOC:
                return "FFOC";
-       case LFOC:
+       case Marker::LFOC:
                return "LFOC";
-       case FFTC:
+       case Marker::FFTC:
                return "FFTC";
-       case LFTC:
+       case Marker::LFTC:
                return "LFTC";
-       case FFOI:
+       case Marker::FFOI:
                return "FFOI";
-       case LFOI:
+       case Marker::LFOI:
                return "LFOI";
-       case FFEC:
+       case Marker::FFEC:
                return "FFEC";
-       case LFEC:
+       case Marker::LFEC:
                return "LFEC";
-       case FFMC:
+       case Marker::FFMC:
                return "FFMC";
-       case LFMC:
+       case Marker::LFMC:
                return "LFMC";
        }
 
@@ -417,25 +417,25 @@ dcp::Marker
 dcp::marker_from_string (string s)
 {
        if (s == "FFOC") {
-               return FFOC;
+               return Marker::FFOC;
        } else if (s == "LFOC") {
-               return LFOC;
+               return Marker::LFOC;
        } else if (s == "FFTC") {
-               return FFTC;
+               return Marker::FFTC;
        } else if (s == "LFTC") {
-               return LFTC;
+               return Marker::LFTC;
        } else if (s == "FFOI") {
-               return FFOI;
+               return Marker::FFOI;
        } else if (s == "LFOI") {
-               return LFOI;
+               return Marker::LFOI;
        } else if (s == "FFEC") {
-               return FFEC;
+               return Marker::FFEC;
        } else if (s == "LFEC") {
-               return LFEC;
+               return Marker::LFEC;
        } else if (s == "FFMC") {
-               return FFMC;
+               return Marker::FFMC;
        } else if (s == "LFMC") {
-               return LFMC;
+               return Marker::LFMC;
        }
 
        DCP_ASSERT (false);
index 3bd5c2c39b755e3a5ef5c48377ccd2da9083ff8e..7f9c3e8b43275e9776627d61c6c6fb7f43bdad58 100644 (file)
@@ -311,7 +311,7 @@ const float ASPECT_ADJUST_EPSILON = 1e-3;
  */
 const float ALIGN_EPSILON = 1e-3;
 
-enum Marker {
+enum class Marker {
        FFOC, ///< first frame of composition
        LFOC, ///< last frame of composition
        FFTC, ///< first frame of title credits
index fe4fbb05484eeacda8444abe406980f5f5dce408..e7cb3a5ded3efb5ae196f5535ca3d5fab70c5307 100644 (file)
@@ -47,16 +47,16 @@ BOOST_AUTO_TEST_CASE (markers_write_test)
        dcp::CPL cpl("Markers test", dcp::TEST);
 
        shared_ptr<dcp::ReelMarkersAsset> asset (new dcp::ReelMarkersAsset(dcp::Fraction(24, 1), 0));
-       asset->set (dcp::FFOC, dcp::Time(1, 1, 9, 16, 24));
-       asset->set (dcp::LFOC, dcp::Time(2, 5, 3, 0, 24));
-       asset->set (dcp::FFTC, dcp::Time(0, 6, 4, 2, 24));
-       asset->set (dcp::LFTC, dcp::Time(0, 6, 4, 18, 24));
-       asset->set (dcp::FFOI, dcp::Time(3, 6, 4, 18, 24));
-       asset->set (dcp::LFOI, dcp::Time(3, 2, 4, 18, 24));
-       asset->set (dcp::FFEC, dcp::Time(3, 2, 7, 18, 24));
-       asset->set (dcp::LFEC, dcp::Time(3, 2, 8, 18, 24));
-       asset->set (dcp::FFMC, dcp::Time(4, 2, 8, 18, 24));
-       asset->set (dcp::LFMC, dcp::Time(4, 3, 8, 18, 24));
+       asset->set (dcp::Marker::FFOC, dcp::Time(1, 1, 9, 16, 24));
+       asset->set (dcp::Marker::LFOC, dcp::Time(2, 5, 3, 0, 24));
+       asset->set (dcp::Marker::FFTC, dcp::Time(0, 6, 4, 2, 24));
+       asset->set (dcp::Marker::LFTC, dcp::Time(0, 6, 4, 18, 24));
+       asset->set (dcp::Marker::FFOI, dcp::Time(3, 6, 4, 18, 24));
+       asset->set (dcp::Marker::LFOI, dcp::Time(3, 2, 4, 18, 24));
+       asset->set (dcp::Marker::FFEC, dcp::Time(3, 2, 7, 18, 24));
+       asset->set (dcp::Marker::LFEC, dcp::Time(3, 2, 8, 18, 24));
+       asset->set (dcp::Marker::FFMC, dcp::Time(4, 2, 8, 18, 24));
+       asset->set (dcp::Marker::LFMC, dcp::Time(4, 3, 8, 18, 24));
 
        shared_ptr<dcp::Reel> reel (new dcp::Reel());
        reel->add (asset);
@@ -80,26 +80,26 @@ BOOST_AUTO_TEST_CASE (markers_read_test, * boost::unit_test::depends_on("markers
        shared_ptr<dcp::ReelMarkersAsset> markers = reel->main_markers ();
        BOOST_REQUIRE (markers);
 
-       BOOST_REQUIRE (markers->get(dcp::FFOC));
-       BOOST_CHECK (markers->get(dcp::FFOC) == dcp::Time(1, 1, 9, 16, 24));
-       BOOST_REQUIRE (markers->get(dcp::LFOC));
-       BOOST_CHECK (markers->get(dcp::LFOC) == dcp::Time(2, 5, 3, 0, 24));
-       BOOST_REQUIRE (markers->get(dcp::FFTC));
-       BOOST_CHECK (markers->get (dcp::FFTC) == dcp::Time(0, 6, 4, 2, 24));
-       BOOST_REQUIRE (markers->get(dcp::LFTC));
-       BOOST_CHECK (markers->get (dcp::LFTC) == dcp::Time(0, 6, 4, 18, 24));
-       BOOST_REQUIRE (markers->get(dcp::FFOI));
-       BOOST_CHECK (markers->get (dcp::FFOI) == dcp::Time(3, 6, 4, 18, 24));
-       BOOST_REQUIRE (markers->get(dcp::LFOI));
-       BOOST_CHECK (markers->get (dcp::LFOI) == dcp::Time(3, 2, 4, 18, 24));
-       BOOST_REQUIRE (markers->get(dcp::FFEC));
-       BOOST_CHECK (markers->get (dcp::FFEC) == dcp::Time(3, 2, 7, 18, 24));
-       BOOST_REQUIRE (markers->get(dcp::LFEC));
-       BOOST_CHECK (markers->get (dcp::LFEC) == dcp::Time(3, 2, 8, 18, 24));
-       BOOST_REQUIRE (markers->get(dcp::FFMC));
-       BOOST_CHECK (markers->get (dcp::FFMC) == dcp::Time(4, 2, 8, 18, 24));
-       BOOST_REQUIRE (markers->get(dcp::LFMC));
-       BOOST_CHECK (markers->get (dcp::LFMC) == dcp::Time(4, 3, 8, 18, 24));
+       BOOST_REQUIRE (markers->get(dcp::Marker::FFOC));
+       BOOST_CHECK (markers->get(dcp::Marker::FFOC) == dcp::Time(1, 1, 9, 16, 24));
+       BOOST_REQUIRE (markers->get(dcp::Marker::LFOC));
+       BOOST_CHECK (markers->get(dcp::Marker::LFOC) == dcp::Time(2, 5, 3, 0, 24));
+       BOOST_REQUIRE (markers->get(dcp::Marker::FFTC));
+       BOOST_CHECK (markers->get (dcp::Marker::FFTC) == dcp::Time(0, 6, 4, 2, 24));
+       BOOST_REQUIRE (markers->get(dcp::Marker::LFTC));
+       BOOST_CHECK (markers->get (dcp::Marker::LFTC) == dcp::Time(0, 6, 4, 18, 24));
+       BOOST_REQUIRE (markers->get(dcp::Marker::FFOI));
+       BOOST_CHECK (markers->get (dcp::Marker::FFOI) == dcp::Time(3, 6, 4, 18, 24));
+       BOOST_REQUIRE (markers->get(dcp::Marker::LFOI));
+       BOOST_CHECK (markers->get (dcp::Marker::LFOI) == dcp::Time(3, 2, 4, 18, 24));
+       BOOST_REQUIRE (markers->get(dcp::Marker::FFEC));
+       BOOST_CHECK (markers->get (dcp::Marker::FFEC) == dcp::Time(3, 2, 7, 18, 24));
+       BOOST_REQUIRE (markers->get(dcp::Marker::LFEC));
+       BOOST_CHECK (markers->get (dcp::Marker::LFEC) == dcp::Time(3, 2, 8, 18, 24));
+       BOOST_REQUIRE (markers->get(dcp::Marker::FFMC));
+       BOOST_CHECK (markers->get (dcp::Marker::FFMC) == dcp::Time(4, 2, 8, 18, 24));
+       BOOST_REQUIRE (markers->get(dcp::Marker::LFMC));
+       BOOST_CHECK (markers->get (dcp::Marker::LFMC) == dcp::Time(4, 3, 8, 18, 24));
 
        BOOST_CHECK (markers->equals(markers, dcp::EqualityOptions(), boost::bind(&note_handler, _1, _2)));