fix multiple menu jobs, allow title adding without cutlist editor
[enigma2.git] / lib / python / Plugins / Extensions / DVDBurn / TitleCutter.py
index d8ba5a412f723154b6ec5fa5f886db79bf731e20..163269c74ff05bbe9757ba439c8784398849d0fc 100644 (file)
@@ -1,17 +1,44 @@
 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
+               self.t.sVideoType = service.info().getInfo(iServiceInformation.sVideoType)
+               print "[DVDBurn getVideoType]", self.t.sVideoType
 
        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()
+       def __init__(self, session, t):
+               TitleCutter.__init__(self, session, t)
+
+       def getPMTInfo(self):
+               TitleCutter.getPMTInfo(self)
                self.close(self.cut_list[:])