summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-03-14 22:59:54 +0000
committerCarl Hetherington <cth@carlh.net>2019-03-17 00:24:27 +0000
commit7cbd4f09eaeda373662aaddef90d2d070a564b68 (patch)
tree455ba2575f380cd4979dc16672e38a1ca5836825 /src
parent0db53e30cebc38b2e9e0d8b29aa0c1959d6c165b (diff)
Add Marker enum.
Diffstat (limited to 'src')
-rw-r--r--src/types.cc57
-rw-r--r--src/types.h16
2 files changed, 73 insertions, 0 deletions
diff --git a/src/types.cc b/src/types.cc
index 9af5f119..d27b2ec1 100644
--- a/src/types.cc
+++ b/src/types.cc
@@ -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);
+}
diff --git a/src/types.h b/src/types.h
index 2652524c..a0965e83 100644
--- a/src/types.h
+++ b/src/types.h
@@ -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