X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FPlugins%2FExtensions%2FDVDBurn%2FTitleCutter.py;h=71a7f239ef00b37b126e0797f65676c045519db0;hp=be5ad245a410ccf5f35905b73ee84f7c58813819;hb=1b50c31e8c9a2d690500feac0065fd1ace941c80;hpb=a6bde254f00e1cab9871d60f583c18999c08ca71 diff --git a/lib/python/Plugins/Extensions/DVDBurn/TitleCutter.py b/lib/python/Plugins/Extensions/DVDBurn/TitleCutter.py index be5ad24..71a7f23 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/TitleCutter.py +++ b/lib/python/Plugins/Extensions/DVDBurn/TitleCutter.py @@ -1,6 +1,7 @@ from Plugins.Extensions.CutListEditor.plugin import CutListEditor from Components.ServiceEventTracker import ServiceEventTracker from enigma import iPlayableService, iServiceInformation +from Tools.Directories import fileExists class TitleCutter(CutListEditor): def __init__(self, session, t): @@ -20,24 +21,24 @@ class TitleCutter(CutListEditor): audio = service and service.audioTracks() n = audio and audio.getNumberOfTracks() or 0 if n > 0: - from DVDTitle import ConfigFixedText, ConfigActiveTrack + from DVDTitle import ConfigFixedText from TitleProperties import languageChoices - from Components.config import config, ConfigSubsection, ConfigSelection + from Components.config import config, ConfigSubsection, ConfigSubList, ConfigSelection, ConfigYesNo + self.t.properties.audiotracks = ConfigSubList() for x in range(n): i = audio.getTrackInfo(x) - language = i.getLanguage() + DVB_lang = i.getLanguage() description = i.getDescription() pid = str(i.getPID()) if description == "MPEG": description = "MP2" - if not languageChoices.langdict.has_key(language): - language="nolang" - print "[audiotrack] pid:", pid, "description:", description, "language:", language + print "[audiotrack] pid:", pid, "description:", description, "language:", DVB_lang, "count:", x, "active:", (x < 8) self.t.properties.audiotracks.append(ConfigSubsection()) - self.t.properties.audiotracks[-1].active = ConfigActiveTrack() + self.t.properties.audiotracks[-1].active = ConfigYesNo(default = (x < 8)) self.t.properties.audiotracks[-1].format = ConfigFixedText(description) - self.t.properties.audiotracks[-1].language = ConfigSelection(choices = languageChoices.choices, default=language) + self.t.properties.audiotracks[-1].language = ConfigSelection(choices = languageChoices.choices, default=languageChoices.getLanguage(DVB_lang)) self.t.properties.audiotracks[-1].pid = ConfigFixedText(pid) + self.t.properties.audiotracks[-1].DVB_lang = ConfigFixedText(DVB_lang) sAspect = service.info().getInfo(iServiceInformation.sAspect) if sAspect in ( 1, 2, 5, 6, 9, 0xA, 0xD, 0xE ): aspect = "4:3" @@ -46,14 +47,42 @@ class TitleCutter(CutListEditor): self.t.properties.aspect.setValue(aspect) self.t.VideoType = service.info().getInfo(iServiceInformation.sVideoType) + def checkAndGrabThumb(self): + if not fileExists(self.t.inputfile.rsplit('.',1)[0] + ".png"): + CutListEditor.grabFrame(self) + def exit(self): + if self.t.VideoType == -1: + self.getPMTInfo() + self.checkAndGrabThumb() self.session.nav.stopService() self.close(self.cut_list[:]) class CutlistReader(TitleCutter): + skin = """ + + + + + + + {"template": [ + MultiContentEntryText(text = 1), + MultiContentEntryText(text = 2) + ], + "fonts": [gFont("Regular", 18)], + "itemHeight": 20 + } + + + + """ + def __init__(self, session, t): TitleCutter.__init__(self, session, t) + self.skin = CutlistReader.skin def getPMTInfo(self): TitleCutter.getPMTInfo(self) + TitleCutter.checkAndGrabThumb(self) self.close(self.cut_list[:])