Hi, I'm trying to create a fade-out effect with a video frame, but I get
opacity=0 when the timeline ends.
I test the same code with a image texture and works correctly...
some sample code:
import clutter
import cluttergst
class image(clutter.Texture):
def __init__(self, *args, **kwargs):
clutter.Texture.__init__(self)
def set_file(self):
self.set_from_file('image.png')
class videoPlayer(cluttergst.VideoTexture):
def __init__(self, *args, **kwargs):
cluttergst.VideoTexture.__init__(self)
self.connect('eos', self.eos)
self.connect('error', self.error)
def play(self, f):
self.set_uri(f)
self.set_playing(True)
def stop(self):
self.set_playing(False)
def eos(self, data):
self.play(self.get_uri())
def error(self, error, data):
pass
def out_completed(timeline, data):
start, end = data.get_bounds()
data.set_bounds(end, start)
#timeline.start()
def in_completed(timeline, data):
print 'completado in'
data.start()
stage = clutter.Stage()
stage.connect('destroy', clutter.main_quit)
stage.set_size(500, 500)
v = videoPlayer()
v.play('file:///home/flaco/weeds.avi')
## for fixed image testing
#v = image()
#v.set_file()
timeline_out = clutter.Timeline(2500)
alpha_out = clutter.Alpha(timeline_out, clutter.EASE_IN_SINE)
fade_out = clutter.BehaviourOpacity(255, 0, alpha_out)
fade_out.apply(v)
timeline_out.start()
timeline_out.connect('completed', out_completed, fade_out)
stage.add(v)
v.set_size(500, 500)
v.show()
stage.show_all()
clutter.main()