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