Update of /cvsroot/freevo/freevo/src/audio
In directory sc8-pr-cvs1:/tmp/cvs-serv5422
Modified Files:
player.py
Log Message:
support more than one player
Index: player.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/audio/player.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** player.py 8 Nov 2003 13:19:06 -0000 1.9
--- player.py 22 Nov 2003 15:30:55 -0000 1.10
***************
*** 10,13 ****
--- 10,16 ----
# -----------------------------------------------------------------------
# $Log$
+ # Revision 1.10 2003/11/22 15:30:55 dischi
+ # support more than one player
+ #
# Revision 1.9 2003/11/08 13:19:06 dischi
# add AUDIOCD as plugin type
***************
*** 62,65 ****
--- 65,69 ----
from gui.GUIObject import GUIObject
+ import config
import skin
import rc
***************
*** 81,96 ****
self.item = item
! if item.type == 'radio':
! self.player = plugin.getbyname(plugin.RADIO_PLAYER)
! elif item.filename.startswith('cdda:/'):
! self.player = plugin.getbyname(plugin.AUDIOCD_PLAYER)
! else:
! self.player = plugin.getbyname(plugin.AUDIO_PLAYER)
self.running = False
! def play(self):
! if self.player.is_playing():
self.stop()
if self.menuw and self.menuw.visible:
self.menuw.hide(clear=False)
--- 85,109 ----
self.item = item
! self.player = None
self.running = False
+
! def play(self, player=None):
!
! if self.player and self.player.is_playing():
self.stop()
+ if player:
+ self.player = player
+ else:
+ self.possible_player = []
+ for p in plugin.getbyname(plugin.AUDIO_PLAYER, True):
+ rating = p.rate(self.item) * 10
+ if config.AUDIO_PREFERED_PLAYER == p.name:
+ rating += 1
+ self.possible_player.append((rating, p))
+ self.possible_player.sort(lambda l, o: -cmp(l[0], o[0]))
+ self.player = self.possible_player[0][1]
+
if self.menuw and self.menuw.visible:
self.menuw.hide(clear=False)
***************
*** 110,113 ****
--- 123,144 ----
self.refresh()
+ def try_next_player(self):
+ self.stop()
+ _debug_('error, try next player')
+ player = None
+ next = False
+ for r, p in self.possible_player:
+ if next:
+ player = p
+ break
+ if p == self.player:
+ next = True
+
+ if player:
+ self.play(player=player)
+ return 1
+ _debug_('no more players found')
+ return 0
+
def stop(self):
self.player.stop()
***************
*** 116,119 ****
--- 147,151 ----
rc.app(None)
+
def show(self):
if not self.visible:
***************
*** 122,125 ****
--- 154,158 ----
rc.app(self.player)
+
def hide(self):
if self.visible:
***************
*** 128,131 ****
--- 161,165 ----
rc.app(None)
+
def refresh(self):
"""
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog