1 from Components.Sources.Source import Source
2 from Tools.ISO639 import LanguageCodes
4 class AudioTracks(Source):
10 def __init__(self, session, func=GET):
12 self.session = session
16 def handleCommand(self, cmd):
19 def setAudioTrack(self):
20 if self.cmd is not None:
21 service = self.session.nav.getCurrentService()
22 audio = service and service.audioTracks()
28 print "COMMAND is %s" % self.cmd
29 if self.session.nav.getCurrentService().audioTracks().getNumberOfTracks() > cmd and cmd >= 0:
30 audio.selectTrack(cmd)
37 def getAudioTracks(self):
38 service = self.session.nav.getCurrentService()
39 audio = service and service.audioTracks()
40 n = audio and audio.getNumberOfTracks() or 0
45 if audio is not None and service is not None:
46 currentTrack = audio.getCurrentTrack()
49 print "[AudioTracks.py] got %s Audiotracks!" % (n)
52 i = audio.getTrackInfo(x)
54 language = i.getLanguage()
55 description = i.getDescription()
58 if LanguageCodes.has_key(language):
59 language = LanguageCodes[language][0]
62 description += " (" + language + ")"
64 description = language
71 tracklist.append((description, x, pid, active))
75 text = property(setAudioTrack)
76 list = property(getAudioTracks)
77 lut = {"Description": 0, "Id": 1, "Pid": 2, "Active": 3}