- /* Do this calculation with frames so that we can round
- to a frame boundary at the start rather than the end.
- */
- int64_t f = rint (t.seconds() * fps);
-
- int const h = f / (3600 * fps);
- f -= h * 3600 * fps;
- int const m = f / (60 * fps);
- f -= m * 60 * fps;
- int const s = f / fps;
- f -= s * fps;
-
- checked_set (_hours, lexical_cast<string> (h));
- checked_set (_minutes, lexical_cast<string> (m));
- checked_set (_seconds, lexical_cast<string> (s));
- checked_set (_frames, lexical_cast<string> (f));
-
- _fixed->SetLabel (wxString::Format ("%02d:%02d:%02d.%02" wxLongLongFmtSpec "d", h, m, s, f));
-}
-
-DCPTime
-Timecode::get (int fps) const
-{
- DCPTime t;
- string const h = wx_to_std (_hours->GetValue ());
- t += DCPTime::from_seconds (lexical_cast<int> (h.empty() ? "0" : h) * 3600);
- string const m = wx_to_std (_minutes->GetValue());
- t += DCPTime::from_seconds (lexical_cast<int> (m.empty() ? "0" : m) * 60);
- string const s = wx_to_std (_seconds->GetValue());
- t += DCPTime::from_seconds (lexical_cast<int> (s.empty() ? "0" : s));
- string const f = wx_to_std (_frames->GetValue());
- t += DCPTime::from_seconds (lexical_cast<double> (f.empty() ? "0" : f) / fps);
-
- return t;
+ checked_set (_hours, "");
+ checked_set (_minutes, "");
+ checked_set (_seconds, "");
+ checked_set (_frames, "");
+ _fixed->SetLabel ("");