Fix write_frame_info again.
[dcpomatic.git] / src / lib / dcpomatic_time.h
index 494aebba73c32583d902608a55d5184a9523af1c..c1d27407a90d2c4c8ba49fb57162109c087187bb 100644 (file)
@@ -132,7 +132,12 @@ public:
        }
 
        template <typename T>
-       int64_t frames (T r) const {
+       int64_t frames_round (T r) const {
+               return llrint (_t * r / HZ);
+       }
+
+       template <typename T>
+       int64_t frames_floor (T r) const {
                return floor (_t * r / HZ);
        }
 
@@ -143,7 +148,7 @@ public:
                /* Do this calculation with frames so that we can round
                   to a frame boundary at the start rather than the end.
                */
-               int64_t ff = frames (r);
+               int64_t ff = frames_round (r);
 
                h = ff / (3600 * r);
                ff -= h * 3600 * r;
@@ -238,6 +243,10 @@ public:
 
        bool overlaps (ContentTimePeriod const & o) const;
        bool contains (ContentTime const & o) const;
+
+       bool operator== (ContentTimePeriod const & o) const {
+               return from == o.from && to == o.to;
+       }
 };
 
 DCPTime min (DCPTime a, DCPTime b);