6 _moduleLogger = logging.getLogger(__name__)
9 class Player(gobject.GObject):
13 gobject.SIGNAL_RUN_LAST,
15 (gobject.TYPE_PYOBJECT, ),
18 gobject.SIGNAL_RUN_LAST,
20 (gobject.TYPE_PYOBJECT, ),
24 def __init__(self, index):
25 gobject.GObject.__init__(self)
30 def set_piece_by_node(self, node):
31 assert node.is_leaf() or node is None
32 if self._node is node:
35 self.emit("title_change", self._state)
39 if self._node is None:
41 return self._node.title
45 if self._node is None:
47 return self._node.subtitle
50 def can_navigate(self):
51 if self._node is None:
53 return self.node.can_navigate
60 if self._state == "play":
63 self.emit("state_change", self._state)
64 _moduleLogger.info("play")
67 if self._state == "pause":
70 self.emit("state_change", self._state)
71 _moduleLogger.info("pause")
74 if self._state == "stop":
77 self.set_piece_by_node(None)
78 self.emit("state_change", self._state)
79 _moduleLogger.info("stop")
82 _moduleLogger.info("back")
85 _moduleLogger.info("next")
88 gobject.type_register(Player)