X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FAudioSelection.py;h=a0bfcab9490c720382aa84fc744efe0dbc82ead2;hp=2cae1de929cc3442f10ec206b6a006929379743f;hb=fe72b7929c2f0b5dbac3040b303d195923735fc8;hpb=9529d3ec43c9d81811dd5efa4c998821df90c9b5 diff --git a/lib/python/Screens/AudioSelection.py b/lib/python/Screens/AudioSelection.py index 2cae1de..a0bfcab 100644 --- a/lib/python/Screens/AudioSelection.py +++ b/lib/python/Screens/AudioSelection.py @@ -14,9 +14,10 @@ from enigma import iPlayableService from Tools.ISO639 import LanguageCodes from Tools.BoundFunction import boundFunction FOCUS_CONFIG, FOCUS_STREAMS = range(2) +[PAGE_AUDIO, PAGE_SUBTITLES] = ["audio", "subtitles"] class AudioSelection(Screen, ConfigListScreen): - def __init__(self, session, infobar=None): + def __init__(self, session, infobar=None, page=PAGE_AUDIO): Screen.__init__(self, session) self["streams"] = List([]) @@ -48,14 +49,14 @@ class AudioSelection(Screen, ConfigListScreen): }, -3) self.settings = ConfigSubsection() - choicelist = [("audio",_("audio tracks")), ("subtitles",_("Subtitles"))] - self.settings.menupage = ConfigSelection(choices = choicelist) - self.settings.menupage.addNotifier(self.fillList) + choicelist = [(PAGE_AUDIO,_("audio tracks")), (PAGE_SUBTITLES,_("Subtitles"))] + self.settings.menupage = ConfigSelection(choices = choicelist, default=page) self.onLayoutFinish.append(self.__layoutFinished) def __layoutFinished(self): self["config"].instance.setSelectionEnable(False) self.focus = FOCUS_STREAMS + self.settings.menupage.addNotifier(self.fillList) def fillList(self, arg=None): streams = [] @@ -66,10 +67,9 @@ class AudioSelection(Screen, ConfigListScreen): self.audioTracks = audio = service and service.audioTracks() n = audio and audio.getNumberOfTracks() or 0 - if self.settings.menupage.getValue() == "audio": + if self.settings.menupage.getValue() == PAGE_AUDIO: self.setTitle(_("Select audio track")) if SystemInfo["CanDownmixAC3"]: - print "config.av.downmix_ac3.value=", config.av.downmix_ac3.value self.settings.downmix = ConfigOnOff(default=config.av.downmix_ac3.value) self.settings.downmix.addNotifier(self.changeAC3Downmix, initial_call = False) conflist.append(getConfigListEntry(_("AC3 downmix"), self.settings.downmix)) @@ -77,16 +77,12 @@ class AudioSelection(Screen, ConfigListScreen): if n > 0: self.audioChannel = service.audioChannel() - print "self.audioChannel.getCurrentChannel()", self.audioChannel.getCurrentChannel() choicelist = [("0",_("left")), ("1",_("stereo")), ("2", _("right"))] self.settings.channelmode = ConfigSelection(choices = choicelist, default = str(self.audioChannel.getCurrentChannel())) self.settings.channelmode.addNotifier(self.changeMode, initial_call = False) conflist.append(getConfigListEntry(_("Channel"), self.settings.channelmode)) self["key_green"].setBoolean(True) - selectedAudio = self.audioTracks.getCurrentTrack() - print "selectedAudio:", selectedAudio - for x in range(n): number = str(x) i = audio.getTrackInfo(x) @@ -115,14 +111,14 @@ class AudioSelection(Screen, ConfigListScreen): else: streams = [] + conflist.append(('',)) + self["key_green"].setBoolean(False) - elif self.settings.menupage.getValue() == "subtitles": + elif self.settings.menupage.getValue() == PAGE_SUBTITLES: self.setTitle(_("Subtitle selection")) - - self.settings.dummy = ConfigNothing() - conflist.append(getConfigListEntry("", self.settings.dummy)) + conflist.append(('',)) + conflist.append(('',)) self["key_red"].setBoolean(False) - conflist.append(getConfigListEntry("", self.settings.dummy)) self["key_green"].setBoolean(False) if self.subtitlesEnabled(): @@ -158,9 +154,9 @@ class AudioSelection(Screen, ConfigListScreen): elif x[0] == 1: description = "TTX" number = "%x%02x" % (x[3],x[2]) - + elif x[0] == 2: - types = (" UTF-8 text "," SSA / AAS "," .SRT file ") + types = ("UTF-8 text","SSA / AAS",".SRT file") description = types[x[2]] streams.append((x, "", number, description, language, selected)) @@ -183,23 +179,19 @@ class AudioSelection(Screen, ConfigListScreen): self.fnc(*self.args) Plugins = [ (p.name, PluginCaller(self.infobar.runPlugin, p)) for p in plugins.getPlugins(where = PluginDescriptor.WHERE_AUDIOMENU) ] - - print "Plugins", Plugins - self.settings.dummy = ConfigNothing() if len(Plugins): self["key_blue"].setBoolean(True) - conflist.append(getConfigListEntry(Plugins[0][0], self.settings.dummy)) + conflist.append(getConfigListEntry(Plugins[0][0], ConfigNothing())) self.plugincallfunc = Plugins[0][1] + if len(Plugins) > 1: + print "these plugins are installed but not displayed in the dialog box:", Plugins[1:] self["config"].list = conflist self["config"].l.setList(conflist) - print "setting self[streams].list:", streams self["streams"].list = streams - print "setting self[streams].setIndex:", selectedidx self["streams"].setIndex(selectedidx) - print "debug1" def __updatedInfo(self): self.fillList() @@ -213,7 +205,6 @@ class AudioSelection(Screen, ConfigListScreen): return self.infobar.subtitles_enabled def enableSubtitle(self, subtitles): - print "[enableSubtitle]", subtitles if self.infobar.selected_subtitle != subtitles: self.infobar.subtitles_enabled = False self.infobar.selected_subtitle = subtitles @@ -221,7 +212,6 @@ class AudioSelection(Screen, ConfigListScreen): self.infobar.subtitles_enabled = True def changeAC3Downmix(self, downmix): - print "changeAC3Downmix config.av.downmix_ac3.value=", config.av.downmix_ac3.value, downmix.getValue() if downmix.getValue() == True: config.av.downmix_ac3.value = True else: @@ -229,12 +219,10 @@ class AudioSelection(Screen, ConfigListScreen): config.av.downmix_ac3.save() def changeMode(self, mode): - print "changeMode", mode, mode.getValue() if mode is not None: self.audioChannel.selectChannel(int(mode.getValue())) def changeAudio(self, audio): - print "changeAudio", audio, "self.session.nav.getCurrentService().audioTracks().getNumberOfTracks():", self.session.nav.getCurrentService().audioTracks().getNumberOfTracks() track = int(audio) if isinstance(track, int): if self.session.nav.getCurrentService().audioTracks().getNumberOfTracks() > track: @@ -252,7 +240,7 @@ class AudioSelection(Screen, ConfigListScreen): ConfigListScreen.keyRight(self) elif hasattr(self, "plugincallfunc"): self.plugincallfunc() - if self.focus == FOCUS_STREAMS and self["streams"].count(): + if self.focus == FOCUS_STREAMS and self["streams"].count() and config == False: self["streams"].setIndex(self["streams"].count()-1) def keyRed(self): @@ -269,7 +257,6 @@ class AudioSelection(Screen, ConfigListScreen): def keyBlue(self): if self["key_blue"].getBoolean(): - print "colorkey(3)" self.colorkey(3) def colorkey(self, idx): @@ -277,7 +264,6 @@ class AudioSelection(Screen, ConfigListScreen): self.keyRight(True) def keyUp(self): - print "[keyUp]", self["streams"].getIndex() if self.focus == FOCUS_CONFIG: self["config"].instance.moveSelection(self["config"].instance.moveUp) elif self.focus == FOCUS_STREAMS: @@ -290,7 +276,6 @@ class AudioSelection(Screen, ConfigListScreen): self["streams"].selectPrevious() def keyDown(self): - print "[keyDown]", self["config"].getCurrentIndex(), len(self["config"].getList())-1 if self.focus == FOCUS_CONFIG: if self["config"].getCurrentIndex() < len(self["config"].getList())-1: self["config"].instance.moveSelection(self["config"].instance.moveDown) @@ -302,13 +287,12 @@ class AudioSelection(Screen, ConfigListScreen): self["streams"].selectNext() def keyOk(self): - print "[keyok]", self["streams"].list, self["streams"].getCurrent() if self.focus == FOCUS_STREAMS and self["streams"].list: cur = self["streams"].getCurrent() - if self.settings.menupage.getValue() == "audio" and cur[0] is not None: + if self.settings.menupage.getValue() == PAGE_AUDIO and cur[0] is not None: self.changeAudio(cur[2]) self.__updatedInfo() - if self.settings.menupage.getValue() == "subtitles" and cur[0] is not None: + if self.settings.menupage.getValue() == PAGE_SUBTITLES and cur[0] is not None: if self.infobar.selected_subtitle == cur[0]: self.enableSubtitle(None) selectedidx = self["streams"].getIndex() @@ -317,9 +301,14 @@ class AudioSelection(Screen, ConfigListScreen): else: self.enableSubtitle(cur[0]) self.__updatedInfo() - #self.close() + self.close(0) elif self.focus == FOCUS_CONFIG: self.keyRight() def cancel(self): self.close(0) + +class SubtitleSelection(AudioSelection): + def __init__(self, session, infobar=None): + AudioSelection.__init__(self, session, infobar, page=PAGE_SUBTITLES) + self.skinName = ["AudioSelection"]