rendered paste bodyIndex: elisa/core/player/player.py
===================================================================
--- elisa/core/player/player.py (révision 1170)
+++ elisa/core/player/player.py (copie de travail)
@@ -618,8 +618,17 @@
def fullscreen(self):
" should be implemented by SurfacePlayer "
+ def set_visualization_plugin(self, name = None):
+ r = gst.registry_get_default()
+ l = [x for x in r.get_feature_list(gst.ElementFactory) \
+ if (gst.ElementFactory.get_klass(x) == "Visualization")]
+ if l:
+ e = l.pop() #FIXME: check config for default plugin
+ vis_plug = gst.element_factory_make(e.get_name())
+ if self._playbin:
+ print "setting property"
+ self._playbin.set_property('vis-plugin', vis_plug)
-
if __name__ == '__main__':
# usage:
Index: elisa/core/plugins/skins/default/skin.py
===================================================================
--- elisa/core/plugins/skins/default/skin.py (révision 1170)
+++ elisa/core/plugins/skins/default/skin.py (copie de travail)
@@ -417,9 +417,16 @@
self.reset_background()
self.show_menu()
- def _player_playing(self, playable):
+ def _player_playing(self, playable, first_time):
if playable.contains_video():
self.hide_menu()
+ else:
+ player = common.get_application().get_player()
+ show_visualization = True #FIXME: check config file
+ if show_visualization and first_time:
+ player.set_visualization_plugin()
+ self.set_background_image(player.get_stream())
+
#self.show_dock()
def _player_error(self, error):