X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/b798eda0c349de892b15ad4b37f0a4e5533d4e8a..43b204fbde9c5b36848320079eb7e9576536ddc3:/lib/python/Components/ServicePosition.py diff --git a/lib/python/Components/ServicePosition.py b/lib/python/Components/ServicePosition.py index 7bfef931..80e5e3db 100644 --- a/lib/python/Components/ServicePosition.py +++ b/lib/python/Components/ServicePosition.py @@ -2,7 +2,7 @@ from PerServiceDisplay import * from enigma import eTimer -from enigma import pNavigation, iSeekableServicePtr +from enigma import iPlayableService, iSeekableServicePtr class ServicePosition(PerServiceDisplay): TYPE_LENGTH = 0, @@ -14,8 +14,8 @@ class ServicePosition(PerServiceDisplay): self.updateTimer.timeout.get().append(self.update) PerServiceDisplay.__init__(self, navcore, { - pNavigation.evNewService: self.newService, - pNavigation.evStopService: self.stopEvent + iPlayableService.evStart: self.newService, + iPlayableService.evEnd: self.stopEvent }) self.type = type # self.setType(type) @@ -26,21 +26,7 @@ class ServicePosition(PerServiceDisplay): def setType(self, type): self.type = type - seek = iSeekableServicePtr() - service = self.navcore.getCurrentService() - - self.updateTimer.stop() - self.available = 0 - - if service != None: - seek = service.seek() - if seek != None: - if self.type != self.TYPE_LENGTH: - self.updateTimer.start(500) - - self.length = self.get(self.TYPE_LENGTH) - self.available = 1 - + self.updateTimer.start(500) self.update() def get(self, what): @@ -59,16 +45,23 @@ class ServicePosition(PerServiceDisplay): return -1 def update(self): - if self.available: + seek = None + service = self.navcore.getCurrentService() + if service != None: + seek = service.seek() + + if seek is not None: if self.type == self.TYPE_LENGTH: - l = self.length + l = self.get(self.TYPE_LENGTH) elif self.type == self.TYPE_POSITION: l = self.get(self.TYPE_POSITION) elif self.type == self.TYPE_REMAINING: - l = self.length - self.get(self.TYPE_POSITION) + l = self.get(self.TYPE_LENGTH) - self.get(self.TYPE_POSITION) self.setText("%d:%02d" % (l/60, l%60)) + self.updateTimer.start(500) else: + self.updateTimer.start(10000) self.setText("-:--") def stopEvent(self):