All pastes #268438 Raw Edit

Something

public text v1 · immutable
·published 2006-12-05 19:00 UTC
rendered paste body
Index: 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):