X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/911466bd5e018b80dfbbd5e12c4923e89a980792..d1e450f95a9b79b144a00dcf0f9356ff6cb9bfb2:/lib/python/Components/Converter/ServicePosition.py diff --git a/lib/python/Components/Converter/ServicePosition.py b/lib/python/Components/Converter/ServicePosition.py index e072aa5e..c285385a 100644 --- a/lib/python/Components/Converter/ServicePosition.py +++ b/lib/python/Components/Converter/ServicePosition.py @@ -1,6 +1,7 @@ from Converter import Converter from Poll import Poll from enigma import iPlayableService +from Components.Element import cached class ServicePosition(Converter, Poll, object): TYPE_LENGTH = 0, @@ -27,6 +28,7 @@ class ServicePosition(Converter, Poll, object): s = self.source.service return s and s.seek() + @cached def getPosition(self): seek = self.getSeek() if seek is None: @@ -36,6 +38,7 @@ class ServicePosition(Converter, Poll, object): return 0 return pos[1] + @cached def getLength(self): seek = self.getSeek() if seek is None: @@ -45,11 +48,13 @@ class ServicePosition(Converter, Poll, object): return 0 return length[1] + @cached def getCutlist(self): service = self.source.service cue = service and service.cueSheet() return cue and cue.getCutList() + @cached def getText(self): seek = self.getSeek() if seek is None: @@ -70,13 +75,13 @@ class ServicePosition(Converter, Poll, object): cutlist = property(getCutlist) text = property(getText) - def changed(self, *args): - cutlist_refresh = len(args) and args[0] in [iPlayableService.evCuesheetChanged, iPlayableService.evStart, iPlayableService.evEnd] - time_refresh = not len(args) or args[0] in [iPlayableService.evStart, iPlayableService.evEnd] + def changed(self, what): + cutlist_refresh = what[0] != self.CHANGED_SPECIFIC or what[1] in [iPlayableService.evCuesheetChanged] + time_refresh = what[0] == self.CHANGED_POLL or what[0] == self.CHANGED_SPECIFIC and what[1] in [iPlayableService.evCuesheetChanged] if cutlist_refresh: if self.type == self.TYPE_GAUGE: self.downstream_elements.cutlist_changed() if time_refresh: - self.downstream_elements.changed() + self.downstream_elements.changed(what)