ignore mplex buffer underruns since they apperently only occur at the very end of...
[enigma2.git] / lib / python / Plugins / Extensions / DVDBurn / TitleCutter.py
index d8ba5a412f723154b6ec5fa5f886db79bf731e20..016eb71f111a85321adaf538fcf038501a3cdf3d 100644 (file)
@@ -1,17 +1,46 @@
 from Plugins.Extensions.CutListEditor.plugin import CutListEditor
+from Components.ServiceEventTracker import ServiceEventTracker
+from enigma import iPlayableService, iServiceInformation
 
 class TitleCutter(CutListEditor):
-       def __init__(self, session, title):
-               CutListEditor.__init__(self, session, title.source)
-               #, title.cutlist)
+       def __init__(self, session, t):
+               CutListEditor.__init__(self, session, t.source)
+               self.skin = CutListEditor.skin
+               self.session = session
+               self.t = t
+               self.__event_tracker = ServiceEventTracker(screen=self, eventmap=
+                       {
+                               iPlayableService.evUpdatedInfo: self.getPMTInfo,
+                               iPlayableService.evCuesheetChanged: self.refillList
+                       })
+               self.onExecBegin.remove(self.showTutorial)
+
+       def getPMTInfo(self):
+               service = self.session.nav.getCurrentService()
+               audio = service and service.audioTracks()
+               n = audio and audio.getNumberOfTracks() or 0
+               if n > 0:
+                       for x in range(n):
+                               i = audio.getTrackInfo(x)
+                               language = i.getLanguage()
+                               description = i.getDescription()
+                               if description == "MPEG":
+                                       description = "MP2"
+                               self.t.audiotracks.append((language, description))
+               print "[DVDBurn getAudioTracks]", self.t.audiotracks
+               sVideoType = service.info().getInfo(iServiceInformation.sVideoType)
+               print "[DVDBurn getVideoType]", sVideoType
+               if sVideoType != 0:
+                       self.close(False)
 
        def exit(self):
                self.session.nav.stopService()
                self.close(self.cut_list[:])
 
 class CutlistReader(TitleCutter):
-       def __init__(self, session, title):
-               TitleCutter.__init__(self, session, title)
-               self.tutorial_seen = True
-               self.session.nav.stopService()
-               self.close(self.cut_list[:])
+       def __init__(self, session, t):
+               TitleCutter.__init__(self, session, t)
+
+       def getAudioTracks(self):
+               TitleCutter.getAudioTracks()
+               self.exit()
\ No newline at end of file