add selectaudiotrack
authorStephan Reichholf <sreichholf@users.schwerkraft.elitedvb.net>
Tue, 8 Jan 2008 14:48:23 +0000 (14:48 +0000)
committerStephan Reichholf <sreichholf@users.schwerkraft.elitedvb.net>
Tue, 8 Jan 2008 14:48:23 +0000 (14:48 +0000)
webinterface/src/WebComponents/Sources/AudioTracks.py
webinterface/src/web/selectaudiotrack.xml [new file with mode: 0644]
webinterface/src/webif.py

index b2760e7..c7119c6 100644 (file)
@@ -3,15 +3,34 @@ from Tools.ISO639 import LanguageCodes
 
 class AudioTracks( Source ):
     
-    def __init__(self, session):
+    GET = 0
+    SET = 1
+    
+    text="False"
+    
+    def __init__(self, session, func=GET):
         self.session = session
+        self.func = func
         Source.__init__(self)
-        
-    def getList(self):
+    
+    def handleCommand(self, cmd):
+        self.cmd = cmd
+    
+    def setAudioTrack(self):
+        service = self.session.nav.getCurrentService()
+        audio = service and service.audioTracks()
+        cmd = int(self.cmd) - 1
+        if self.session.nav.getCurrentService().audioTracks().getNumberOfTracks() > cmd and cmd >= 0:
+            audio.selectTrack(cmd)
+            return "Success"
+        else:
+            return "Error"
+     
+    def getAudioTracks(self):
         service = self.session.nav.getCurrentService()
         audio = service and service.audioTracks()
-        currentTrack = audio.getCurrentTrack()
         n = audio and audio.getNumberOfTracks() or 0
+        currentTrack = audio.getCurrentTrack()
         tlist = []
 
         if n > 0:
@@ -42,5 +61,6 @@ class AudioTracks( Source ):
         
         return tlist
     
-    list = property(getList)
+    text = property(setAudioTrack)
+    list = property(getAudioTracks)
     lut = {"Description": 0, "Id": 1, "Pid": 2, "Active": 3}
\ No newline at end of file
diff --git a/webinterface/src/web/selectaudiotrack.xml b/webinterface/src/web/selectaudiotrack.xml
new file mode 100644 (file)
index 0000000..712f74d
--- /dev/null
@@ -0,0 +1,3 @@
+<e2:screen name="AudioWebScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
+&lt;e2result><e2:element source="SelectAudioTrack" id="id"><e2:convert type="web:TextToHTML" /></e2:element>&lt;/e2result>
+</e2:screen>
index 767e5ef..66980bd 100644 (file)
@@ -85,7 +85,8 @@ class MessageWebScreen(WebScreen):
 class AudioWebScreen(WebScreen):
        def __init__(self, session,request):
                WebScreen.__init__(self, session,request)
-               self["AudioTracks"] = AudioTracks(session)              
+               self["AudioTracks"] = AudioTracks(session, func=AudioTracks.GET)
+               self["SelectAudioTrack"] = AudioTracks(session, func=AudioTracks.SET)   
 
 class AboutWebScreen(WebScreen):
        def __init__(self, session,request):