Author: dmeyer
Date: Mon Apr 17 11:17:32 2006
New Revision: 1403

Added:
   trunk/player/src/generic.py
Modified:
   trunk/player/src/__init__.py
   trunk/player/test/play.py

Log:
add generic player class

Modified: trunk/player/src/__init__.py
==============================================================================
--- trunk/player/src/__init__.py        (original)
+++ trunk/player/src/__init__.py        Mon Apr 17 11:17:32 2006
@@ -1,3 +1,2 @@
 from base import *
-import xine
-import mplayer
+from generic import Player

Added: trunk/player/src/generic.py
==============================================================================
--- (empty file)
+++ trunk/player/src/generic.py Mon Apr 17 11:17:32 2006
@@ -0,0 +1,27 @@
+import xine
+import mplayer
+from base import *
+
+class Player(object):
+    def __init__(self):
+        object.__setattr__(self, 'player', None)
+
+    def open(self, mrl):
+        if self.player:
+            self.player.stop()
+            self.player = None
+        cls = get_player_class(mrl)
+        if not cls:
+            raise PlayerError("No supported player found to play %s", mrl)
+        object.__setattr__(self, 'player', cls())
+        return self.player.open(mrl)
+        
+    def __getattr__(self, attr):
+        if not self.player:
+            raise PlayerError("No mrl loaded")
+        return getattr(self.player, attr)
+    
+    def __setattr__(self, attr, value):
+        if not self.player:
+            raise PlayerError("No mrl loaded")
+        return setattr(self.player, attr, value)

Modified: trunk/player/test/play.py
==============================================================================
--- trunk/player/test/play.py   (original)
+++ trunk/player/test/play.py   Mon Apr 17 11:17:32 2006
@@ -9,11 +9,6 @@
     print "Usage: %s [videofile]" % sys.argv[0]
     sys.exit(0)
 
-cls = kaa.player.get_player_class(sys.argv[1])
-if not cls:
-    print "No supported player found to play:", sys.argv[1]
-    sys.exit(0)
-
 def handle_lirc_event(code, player):
     lirc_map = { "exit": "q", "menu": "m", "select": "space",
                  "up": "up", "down": "down", "left": "left", "right": "right",
@@ -133,10 +128,10 @@
     
 
 
-player = cls()
+player = kaa.player.Player()
+player.open(sys.argv[1])
 player.delay = 0
 print "Playing file with '%s' player" % player.get_player_id()
-player.open(sys.argv[1])
 player.signals["start"].connect(dump_info, player)
 player.play()
 player.get_window().set_fullscreen()


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to