Add Marker enum.
authorCarl Hetherington <cth@carlh.net>
Thu, 14 Mar 2019 22:59:54 +0000 (22:59 +0000)
committerCarl Hetherington <cth@carlh.net>
Sun, 17 Mar 2019 00:24:27 +0000 (00:24 +0000)
src/types.cc
src/types.h

index 9af5f119c666217e9fe5186a7c1599db3fc35bca..d27b2ec186ece6773d0646309040927b2afd0eae 100644 (file)
@@ -369,3 +369,60 @@ dcp::content_kind_from_string (string kind)
 
        throw BadContentKindError (kind);
 }
+
+string
+dcp::marker_to_string (dcp::Marker m)
+{
+       switch (m) {
+       case FFOC:
+               return "FFOC";
+       case LFOC:
+               return "LFOC";
+       case FFTC:
+               return "FFTC";
+       case LFTC:
+               return "LFTC";
+       case FFOI:
+               return "FFOI";
+       case LFOI:
+               return "LFOI";
+       case FFEC:
+               return "FFEC";
+       case LFEC:
+               return "LFEC";
+       case FFMC:
+               return "FFMC";
+       case LFMC:
+               return "LFMC";
+       }
+
+       DCP_ASSERT (false);
+}
+
+dcp::Marker
+dcp::marker_from_string (string s)
+{
+       if (s == "FFOC") {
+               return FFOC;
+       } else if (s == "LFOC") {
+               return LFOC;
+       } else if (s == "FFTC") {
+               return FFTC;
+       } else if (s == "LFTC") {
+               return LFTC;
+       } else if (s == "FFOI") {
+               return FFOI;
+       } else if (s == "LFOI") {
+               return LFOI;
+       } else if (s == "FFEC") {
+               return FFEC;
+       } else if (s == "LFEC") {
+               return LFEC;
+       } else if (s == "FFMC") {
+               return FFMC;
+       } else if (s == "LFMC") {
+               return LFMC;
+       }
+
+       DCP_ASSERT (false);
+}
index 2652524cb52023af20b1beb0228912c91e2431d1..a0965e8364790fa6129e1cf4a72588ea6116c18f 100644 (file)
@@ -276,6 +276,22 @@ const float ASPECT_ADJUST_EPSILON = 1e-3;
  */
 const float ALIGN_EPSILON = 1e-3;
 
+enum Marker {
+       FFOC, ///< first frame of composition
+       LFOC, ///< last frame of composition
+       FFTC, ///< first frame of title credits
+       LFTC, ///< last frame of title credits
+       FFOI, ///< first frame of intermission
+       LFOI, ///< last frame of intermission
+       FFEC, ///< first frame of end credits
+       LFEC, ///< last frame of end credits
+       FFMC, ///< first frame of moving credits
+       LFMC  ///< last frame of moving credits
+};
+
+std::string marker_to_string (Marker);
+Marker marker_from_string (std::string);
+
 }
 
 #endif