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)
43 if self._node is None:
45 return self._node.title
49 if self._node is None:
51 return self._node.subtitle
54 def can_navigate(self):
55 if self._node is None:
57 return self.node.can_navigate
64 if self._state == "play":
67 self.emit("state_change", self._state)
68 _moduleLogger.info("play")
71 if self._state == "pause":
74 self.emit("state_change", self._state)
75 _moduleLogger.info("pause")
78 if self._state == "stop":
81 self.set_piece_by_node(None)
82 self.emit("state_change", self._state)
83 _moduleLogger.info("stop")
86 _moduleLogger.info("back")
89 _moduleLogger.info("next")
92 gobject.type_register(Player)