From 91f94491733d790d41e39b3604d67d3c3561bf01 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 24 Oct 2013 15:42:32 +0100 Subject: Add Time constructor from ticks; fix Time::to_ticks(). --- src/dcp_time.cc | 15 ++++++++++++++- src/dcp_time.h | 2 ++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/dcp_time.cc b/src/dcp_time.cc index 7d3111d2..ccedd8ce 100644 --- a/src/dcp_time.cc +++ b/src/dcp_time.cc @@ -42,6 +42,19 @@ Time::Time (int frame, int frames_per_second) set (double (frame) / frames_per_second); } +Time::Time (int64_t ticks) +{ + h = ticks / (60 * 60 * 25); + ticks -= int64_t (h) * 60 * 60 * 25; + m = ticks / (60 * 25); + ticks -= int64_t (m) * 60 * 25; + s = ticks / 25; + ticks -= int64_t (s) * 25; + t = ticks; + + std::cout << "Hello: " << h << " " << m << " " << s << " " << t << "\n"; +} + void Time::set (double ss) { @@ -235,6 +248,6 @@ Time::to_string () const int64_t Time::to_ticks () const { - return t + s * 25 + m * 60 * 25 + h * 60 * 60 * 25; + return int64_t(t) + int64_t(s) * 25 + int64_t(m) * 60 * 25 + int64_t(h) * 60 * 60 * 25; } diff --git a/src/dcp_time.h b/src/dcp_time.h index 10e495f9..92cee9a0 100644 --- a/src/dcp_time.h +++ b/src/dcp_time.h @@ -39,6 +39,8 @@ class Time public: Time () : h (0), m (0), s (0), t (0) {} + Time (int64_t ticks); + /** Construct a Time from a frame index (starting from 0) * and a frames per second count. */ -- cgit v1.2.3