Merge master.
[dcpomatic.git] / src / wx / timecode.cc
index ee5b5604bef4189e95329a360525be0e0bfbaf7b..1ab4b590b2b130b4f7d0c80cd21c766c6706ff41 100644 (file)
@@ -83,12 +83,12 @@ Timecode::Timecode (wxWindow* parent)
 }
 
 void
-Timecode::set (Time t, int fps)
+Timecode::set (DCPTime t, int fps)
 {
        /* Do this calculation with frames so that we can round
           to a frame boundary at the start rather than the end.
        */
-       int64_t f = divide_with_round (t * fps, TIME_HZ);
+       int64_t f = rint (t.seconds() * fps);
        
        int const h = f / (3600 * fps);
        f -= h * 3600 * fps;
@@ -105,18 +105,18 @@ Timecode::set (Time t, int fps)
        _fixed->SetLabel (wxString::Format ("%02d:%02d:%02d.%02" wxLongLongFmtSpec "d", h, m, s, f));
 }
 
-Time
+DCPTime
 Timecode::get (int fps) const
 {
-       Time t = 0;
+       DCPTime t;
        string const h = wx_to_std (_hours->GetValue ());
-       t += lexical_cast<int> (h.empty() ? "0" : h) * 3600 * TIME_HZ;
+       t += DCPTime::from_seconds (lexical_cast<int> (h.empty() ? "0" : h) * 3600);
        string const m = wx_to_std (_minutes->GetValue());
-       t += lexical_cast<int> (m.empty() ? "0" : m) * 60 * TIME_HZ;
+       t += DCPTime::from_seconds (lexical_cast<int> (m.empty() ? "0" : m) * 60);
        string const s = wx_to_std (_seconds->GetValue());
-       t += lexical_cast<int> (s.empty() ? "0" : s) * TIME_HZ;
+       t += DCPTime::from_seconds (lexical_cast<int> (s.empty() ? "0" : s));
        string const f = wx_to_std (_frames->GetValue());
-       t += lexical_cast<int> (f.empty() ? "0" : f) * TIME_HZ / fps;
+       t += DCPTime::from_seconds (lexical_cast<double> (f.empty() ? "0" : f) / fps);
 
        return t;
 }