private void UpdateTick()
{
seek_bar.InhibitValueChangeEvent ();
seek_bar.Value = Math.Max (0, Math.Min (1, Duration > 0 ? Position / Duration : 0));
seek_bar.UninhibitValueChangeEvent ();
TimeSpan duration = TimeSpan.FromMilliseconds (Duration);
TimeSpan position = TimeSpan.FromMilliseconds (Position);
elapsed.Text = DurationStatusFormatters.ConfusingPreciseFormatter (position);
remaining.Text = "-" + DurationStatusFormatters.ConfusingPreciseFormatter (duration - position);
}