+ def on_position_timeout(self):
+ if the_player.playing():
+ self.set_position(*the_player.get_position_duration())
+ return True
+
+ def start_position_timer(self):
+ if self._position_timer is not None:
+ self.stop_position_timer()
+ self._position_timer = gobject.timeout_add(1000, self.on_position_timeout)
+
+ def stop_position_timer(self):
+ if self._position_timer is not None:
+ gobject.source_remove(self._position_timer)
+ self._position_timer = None
+
+ def clear_position(self):
+ self.progress.set_value(0)
+
+ def set_position(self, time_elapsed, total_time):
+ value = (float(time_elapsed) / float(total_time)) if total_time else 0
+ self.progress.set_value( value )
+