"zapUp": (self.zapUp, _("previous channel")),
"zapDown": (self.zapDown, _("next channel")),
"historyBack": (self.historyBack, _("previous channel in history")),
- "historyNext": (self.historyNext, _("next channel in history"))
+ "historyNext": (self.historyNext, _("next channel in history")),
+ "openServiceList": (self.openServiceList, _("open service list")),
})
def firstRun(self):
def switchChannelDown(self):
self.servicelist.moveDown()
self.session.execDialog(self.servicelist)
+
+ def openServiceList(self):
+ self.session.execDialog(self.servicelist)
def zapUp(self):
if currentConfigSelectionElement(config.usage.quickzap_bouquet_change) == "yes":
def unPauseService(self):
print "unpause"
+ if self.seekstate == self.SEEK_STATE_PLAY:
+ return 0
self.setSeekState(self.SEEK_STATE_PLAY);
def doSeek(self, seektime):
audio = service.audioTracks()
self.audioTracks = audio
n = audio.getNumberOfTracks()
+ keys = [ "red", "", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"] + [""]*n
+ tlist = []
+ print "tlist:", tlist
if n > 0:
-# self.audioChannel = service.audioChannel()
-# config.audio.audiochannel = configElement_nonSave("config.audio.audiochannel", configSelection, self.audioChannel.getCurrentChannel(), (("left", _("Left >")), ("stereo", _("< Stereo >")), ("right", _("< Right"))))
- tlist = []
+ self.audioChannel = service.audioChannel()
+
for x in range(n):
i = audio.getTrackInfo(x)
language = i.getLanguage()
- description = i.getDescription();
+ description = i.getDescription()
if len(language) == 3:
if language in LanguageCodes:
selectedAudio = tlist[0][1]
tlist.sort(lambda x,y : cmp(x[0], y[0]))
-# tlist.insert(0, getConfigListEntry(_("Audio Channel"), config.audio.audiochannel))
-
- selection = 0
+ selection = 2
for x in tlist:
if x[1] != selectedAudio:
selection += 1
else:
break
-
- self.session.openWithCallback(self.audioSelected, ChoiceBox, title=_("Select audio track"), list = tlist, selection = selection)
+
+ tlist = [([_("Left"), _("Stereo"), _("Right")][self.audioChannel.getCurrentChannel()], "mode"), ("--", "")] + tlist
+ self.session.openWithCallback(self.audioSelected, ChoiceBox, title=_("Select audio track"), list = tlist, selection = selection, keys = keys)
else:
del self.audioTracks
def audioSelected(self, audio):
if audio is not None:
- self.audioTracks.selectTrack(audio[1])
+ if isinstance(audio[1], str):
+ if audio[1] == "mode":
+ keys = ["red", "green", "yellow"]
+ selection = self.audioChannel.getCurrentChannel()
+ tlist = [(_("left"), 0), (_("stereo"), 1), (_("right"), 2)]
+ self.session.openWithCallback(self.modeSelected, ChoiceBox, title=_("Select audio mode"), list = tlist, selection = selection, keys = keys)
+ else:
+ del self.audioChannel
+ if self.session.nav.getCurrentService().audioTracks().getNumberOfTracks() > audio[1]:
+ self.audioTracks.selectTrack(audio[1])
+ else:
+ del self.audioChannel
del self.audioTracks
-# del self.audioChannel
-# del config.audio.audiochannel
+
+ def modeSelected(self, mode):
+ if mode is not None:
+ self.audioChannel.selectChannel(mode[1])
+ del self.audioChannel
class InfoBarSubserviceSelection:
def __init__(self):
def checkSubservicesAvail(self, ev):
if ev == iPlayableService.evUpdatedEventInfo:
service = self.session.nav.getCurrentService()
- subservices = service.subServices()
- if subservices.getNumberOfSubservices() == 0:
+ subservices = service and service.subServices()
+ if not subservices or subservices.getNumberOfSubservices() == 0:
self["SubserviceQuickzapAction"].setEnabled(False)
def nextSubservice(self):
def changeSubservice(self, direction):
service = self.session.nav.getCurrentService()
- subservices = service.subServices()
- n = subservices.getNumberOfSubservices()
- if n > 0:
+ subservices = service and service.subServices()
+ n = subservices and subservices.getNumberOfSubservices()
+ if n and n > 0:
selection = -1
ref = self.session.nav.getCurrentlyPlayingServiceReference()
for x in range(n):
def subserviceSelection(self):
service = self.session.nav.getCurrentService()
- subservices = service.subServices()
+ subservices = service and service.subServices()
- n = subservices.getNumberOfSubservices()
+ n = subservices and subservices.getNumberOfSubservices()
selection = 0
- if n > 0:
+ if n and n > 0:
ref = self.session.nav.getCurrentlyPlayingServiceReference()
tlist = []
for x in range(n):