- float sec_float = float (frame) / frames_per_second;
- t = (int (floor (sec_float * 1000)) % 1000) / 4;
- s = floor (sec_float);
+ set (double (frame) / frames_per_second);
+}
+
+Time::Time (int64_t ticks)
+{
+ h = ticks / (60 * 60 * 250);
+ ticks -= int64_t (h) * 60 * 60 * 250;
+ m = ticks / (60 * 250);
+ ticks -= int64_t (m) * 60 * 250;
+ s = ticks / 250;
+ ticks -= int64_t (s) * 250;
+ t = ticks;
+}
+
+void
+Time::set (double ss)
+{
+ t = (int (round (ss * 1000)) % 1000) / 4;
+ s = floor (ss);