diff options
| author | Andreas Frisch <andreas.frisch@multimedia-labs.de> | 2008-09-11 19:31:46 +0000 |
|---|---|---|
| committer | Andreas Frisch <andreas.frisch@multimedia-labs.de> | 2008-09-11 19:31:46 +0000 |
| commit | 17cd8cc301444bb2c81b50c9e57f15ef1de0987a (patch) | |
| tree | 57aef366779eec7630b78feb11648e8f30a47f89 /lib/python/Plugins | |
| parent | cc8dceba41cdc3f1cb5a16c86bd3676101233c00 (diff) | |
| download | enigma2-17cd8cc301444bb2c81b50c9e57f15ef1de0987a.tar.gz enigma2-17cd8cc301444bb2c81b50c9e57f15ef1de0987a.zip | |
read audio stream formats and descriptions from PMT and use them for DVD authoring
Diffstat (limited to 'lib/python/Plugins')
| -rw-r--r-- | lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py | 1 | ||||
| -rw-r--r-- | lib/python/Plugins/Extensions/DVDBurn/Process.py | 2 | ||||
| -rw-r--r-- | lib/python/Plugins/Extensions/DVDBurn/TitleCutter.py | 42 |
3 files changed, 37 insertions, 8 deletions
diff --git a/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py b/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py index 3d19bc48..67b410ce 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py +++ b/lib/python/Plugins/Extensions/DVDBurn/DVDTitle.py @@ -9,6 +9,7 @@ class DVDTitle: self.inputfile = "" self.cutlist = [ ] self.chaptermarks = [ ] + self.audiotracks = [ ] self.timeCreate = None def addService(self, service): diff --git a/lib/python/Plugins/Extensions/DVDBurn/Process.py b/lib/python/Plugins/Extensions/DVDBurn/Process.py index 74de6aa7..12d85b45 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/Process.py +++ b/lib/python/Plugins/Extensions/DVDBurn/Process.py @@ -523,6 +523,8 @@ def CreateAuthoringXML(job): authorxml.append(' </menus>\n') authorxml.append(' <titles>\n') for i in range( nr_titles ): + for audiotrack in job.project.titles[i].audiotracks: + authorxml.append(' <audio format="'+audiotrack[0]+'" lang="'+audiotrack[1]+'" />\n') chapters = ','.join(["%d:%02d:%02d.%03d" % (p / (90000 * 3600), p % (90000 * 3600) / (90000 * 60), p % (90000 * 60) / 90000, (p % 90000) / 90) for p in job.project.titles[i].chaptermarks]) title_no = i+1 title_filename = job.workspace + "/dvd_title_%d.mpg" % (title_no) diff --git a/lib/python/Plugins/Extensions/DVDBurn/TitleCutter.py b/lib/python/Plugins/Extensions/DVDBurn/TitleCutter.py index d8ba5a41..8f1adf1a 100644 --- a/lib/python/Plugins/Extensions/DVDBurn/TitleCutter.py +++ b/lib/python/Plugins/Extensions/DVDBurn/TitleCutter.py @@ -1,17 +1,43 @@ from Plugins.Extensions.CutListEditor.plugin import CutListEditor +from Components.ServiceEventTracker import ServiceEventTracker 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.getAudioTracks, + iPlayableService.evCuesheetChanged: self.refillList + }) + self.onExecBegin.remove(self.showTutorial) + + def getAudioTracks(self): + service = self.session.nav.getCurrentService() + audio = service and service.audioTracks() + n = audio and audio.getNumberOfTracks() or 0 + print "self.t", self.t + print "self.t.audiotracks", self.t.audiotracks + if n > 0: + for x in range(n): + i = audio.getTrackInfo(x) + language = i.getLanguage()[:2] + description = i.getDescription() + if description == "MPEG": + description = "mp2" + self.t.audiotracks.append((description, language)) + print "audiotracks", self.t.audiotracks 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 |
