servicemp3.cpp: more simple/flexible streaming detection
[enigma2.git] / lib / python / Components / Renderer / PositionGauge.py
index cb1cad50a930d577786e3de516a96f021d4d9d59..3f93d82ecbd0dd7cc683a44edf212ef9fce7970d 100644 (file)
@@ -5,17 +5,23 @@ class PositionGauge(Renderer):
        def __init__(self):
                Renderer.__init__(self)
                self.__position = 0
+               self.__seek_position = 0
                self.__length = 0
+               self.__seek_enable = 0
                self.__cutlist = [ ]
        
        GUI_WIDGET = ePositionGauge
        
        def postWidgetCreate(self, instance):
-               self.changed()
+               self.changed((self.CHANGED_DEFAULT,))
+               self.cutlist_changed()
                instance.setInOutList(self.__cutlist)
 
-       def changed(self):
-               (self.length, self.position) = (self.source.length or 0, self.source.position or 0)
+       def changed(self, what):
+               if what[0] == self.CHANGED_CLEAR:
+                       (self.length, self.position) = 0
+               else:
+                       (self.length, self.position) = (self.source.length or 0, self.source.position or 0)
 
        def cutlist_changed(self):
                self.cutlist = self.source.cutlist or [ ]
@@ -44,8 +50,29 @@ class PositionGauge(Renderer):
                return self.__cutlist
        
        def setCutlist(self, cutlist):
-               self.__cutlist = cutlist
-               if self.instance is not None:
-                       self.instance.setInOutList(cutlist)
+               if self.__cutlist != cutlist:
+                       self.__cutlist = cutlist
+                       if self.instance is not None:
+                               self.instance.setInOutList(cutlist)
 
        cutlist = property(getCutlist, setCutlist)
+
+       def getSeekEnable(self):
+               return self.__seek_enable
+       
+       def setSeekEnable(self, val):
+               self.__seek_enable = val
+               if self.instance is not None:
+                       self.instance.enableSeekPointer(val)
+
+       seek_pointer_enabled = property(getSeekEnable, setSeekEnable)
+
+       def getSeekPosition(self):
+               return self.__seek_position
+       
+       def setSeekPosition(self, pos):
+               self.__seek_position = pos
+               if self.instance is not None:
+                       self.instance.setSeekPosition(pos)
+       
+       seek_pointer_position = property(getSeekPosition, setSeekPosition)