X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a6bde254f00e1cab9871d60f583c18999c08ca71..5c18a15976bf3bbb2ff39affde3a829d633461a6:/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py diff --git a/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py b/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py index 72071a5e..505dd093 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py +++ b/lib/python/Plugins/Extensions/DVDBurn/TitleProperties.py @@ -25,9 +25,9 @@ class TitleProperties(Screen,ConfigListScreen): - - - + + + """ def __init__(self, session, parent, project, title_idx): @@ -46,6 +46,11 @@ class TitleProperties(Screen,ConfigListScreen): self.properties = project.titles[title_idx].properties ConfigListScreen.__init__(self, []) self.properties.crop = DVDTitle.ConfigFixedText("crop") + self.properties.autochapter.addNotifier(self.initConfigList) + self.properties.aspect.addNotifier(self.initConfigList) + for audiotrack in self.properties.audiotracks: + audiotrack.active.addNotifier(self.initConfigList) + self.initConfigList() self["setupActions"] = ActionMap(["SetupActions", "ColorActions"], @@ -58,7 +63,7 @@ class TitleProperties(Screen,ConfigListScreen): "ok": self.ok, }, -2) - def initConfigList(self): + def initConfigList(self, element=None): self.properties.position = ConfigInteger(default = self.title_idx+1, limits = (1, len(self.project.titles))) title = self.project.titles[self.title_idx] self.list = [] @@ -66,11 +71,11 @@ class TitleProperties(Screen,ConfigListScreen): self.list.append(getConfigListEntry("DVD " + _("Title"), self.properties.menutitle)) self.list.append(getConfigListEntry("DVD " + _("Description"), self.properties.menusubtitle)) for audiotrack in self.properties.audiotracks: - pid = audiotrack.pid.getValue() - self.list.append(getConfigListEntry("burn audio track (%s)" % pid, audiotrack.active)) + DVB_aud = audiotrack.DVB_lang.getValue() or audiotrack.pid.getValue() + self.list.append(getConfigListEntry("burn audio track (%s)" % DVB_aud, audiotrack.active)) if audiotrack.active.getValue(): - self.list.append(getConfigListEntry("audio track (%s) format" % pid, audiotrack.format)) - self.list.append(getConfigListEntry("audio track (%s) language" % pid, audiotrack.language)) + self.list.append(getConfigListEntry("audio track (%s) format" % DVB_aud, audiotrack.format)) + self.list.append(getConfigListEntry("audio track (%s) language" % DVB_aud, audiotrack.language)) self.list.append(getConfigListEntry("DVD " + _("Aspect Ratio"), self.properties.aspect)) if self.properties.aspect.getValue() == "16:9": @@ -78,17 +83,19 @@ class TitleProperties(Screen,ConfigListScreen): else: self.list.append(getConfigListEntry("DVD " + "widescreen", self.properties.crop)) - self["config"].setList(self.list) - infotext = _("Available format variables") + ":\n$i=" + _("Track") + ", $t=" + _("Title") + ", $d=" + _("Description") + ", $l=" + _("length") + ", $c=" + _("chapters") + ",\n" + _("Record") + " $T=" + _("Begin time") + ", $Y=" + _("year") + ", $M=" + _("month") + ", $D=" + _("day") + ",\n$A=" + _("audio tracks") + ", $C=" + _("Channel") + ", $f=" + _("filename") self["info"] = StaticText(infotext) - chapters_count = len(title.chaptermarks) + if len(title.chaptermarks) == 0: + self.list.append(getConfigListEntry(_("Auto chapter split every ? minutes (0=never)"), self.properties.autochapter)) infotext = _("Title") + ': ' + title.DVBname + "\n" + _("Description") + ': ' + title.DVBdescr + "\n" + _("Channel") + ': ' + title.DVBchannel - if chapters_count: + chaptermarks = title.getChapterMarks(template="$h:$m:$s") + chapters_count = len(chaptermarks) + if chapters_count >= 1: infotext += ', ' + str(chapters_count+1) + ' ' + _("chapters") + ' (' - infotext += ' / '.join(title.getChapterMarks()) + ')' + infotext += ' / '.join(chaptermarks) + ')' self["serviceinfo"].setText(infotext) + self["config"].setList(self.list) def editTitle(self): self.parent.editTitle() @@ -96,16 +103,6 @@ class TitleProperties(Screen,ConfigListScreen): def changedConfigList(self): self.initConfigList() - - def keyLeft(self): - ConfigListScreen.keyLeft(self) - if type(self["config"].getCurrent()[1]) in [DVDTitle.ConfigActiveTrack, ConfigSelection]: - self.initConfigList() - - def keyRight(self): - ConfigListScreen.keyRight(self) - if type(self["config"].getCurrent()[1]) in [DVDTitle.ConfigActiveTrack, ConfigSelection]: - self.initConfigList() def exit(self): self.applySettings() @@ -130,9 +127,9 @@ class TitleProperties(Screen,ConfigListScreen): def cancel(self): self.close() +from Tools.ISO639 import LanguageCodes class LanguageChoices(): def __init__(self): - from Tools.ISO639 import LanguageCodes from Components.Language import language as syslanguage syslang = syslanguage.getLanguage()[:2] self.langdict = { } @@ -149,4 +146,26 @@ class LanguageChoices(): self.choices.insert(1,(syslang, self.langdict[syslang])) self.choices.insert(2,("en", self.langdict["en"])) + def getLanguage(self, DVB_lang): + DVB_lang = DVB_lang.lower() + isocodes = [ ] + stripwords = ["stereo", "audio", "description", "2ch"] + for word in stripwords: + DVB_lang = DVB_lang.replace(word,"").strip() + for key, val in LanguageCodes.iteritems(): + if DVB_lang.find(key.lower()) == 0: + if len(key) == 2: + return key + else: + DVB_lang = (LanguageCodes[key])[0] + elif DVB_lang.find(val[0].lower()) > -1: + if len(key) == 2: + return key + else: + DVB_lang = (LanguageCodes[key])[0] + for key, val in self.langdict.iteritems(): + if val == DVB_lang: + return key + return "nolang" + languageChoices = LanguageChoices() \ No newline at end of file