SOLVED.
Sometimes I need my head screwing on correctly.
The problem is not in the timer_update routine but in the playback_start routine.
The following code needs to be added before we create a new timer to ensure that the current timer is destroyed before a new one is created.
if self.timer_id: gobject.source_remove(self.timer_id)
This ensures that only one timer exists at a time otherwise we end up with multiple timers all doing the same thing, that is why the cpu usage increases.
SOLVED.
Sometimes I need my head screwing on correctly.
The problem is not in the timer_update routine but in the playback_start routine.
The following code needs to be added before we create a new timer to ensure that the current timer is destroyed before a new one is created.
if self.timer_id:
gobject. source_ remove( self.timer_ id)
This ensures that only one timer exists at a time otherwise we end up with multiple timers all doing the same thing, that is why the cpu usage increases.
Regards
David