- int const h = t / (3600 * TIME_HZ);
- t -= h * 3600 * TIME_HZ;
- int const m = t / (60 * TIME_HZ);
- t -= m * 60 * TIME_HZ;
- int const s = t / TIME_HZ;
- t -= s * TIME_HZ;
- int const f = t * fps / TIME_HZ;
-
- _hours->SetValue (wxString::Format (wxT ("%d"), h));
- _minutes->SetValue (wxString::Format (wxT ("%d"), m));
- _seconds->SetValue (wxString::Format (wxT ("%d"), s));
- _frames->SetValue (wxString::Format (wxT ("%d"), f));
+ int const h = t.seconds() / 3600;
+ t -= DCPTime::from_seconds (h * 3600);
+ int const m = t.seconds() / 60;
+ t -= DCPTime::from_seconds (m * 60);
+ int const s = t.seconds();
+ t -= DCPTime::from_seconds (s);
+ int const f = rint (t.seconds() * 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.%02d", h, m, s, f));