以前こんなのを書いたけど
Clutter Gst 3.0.14 Reference Manual: Clutter Gst 3.0.14 Reference Manual
ClutterGst.VideoTexture なんて 3.0 の現在ではもう無い。
今はどうすれば ClutterGst を扱えるのかな?
そういえば Sushi は Gjs だったな。
一応、Sushi は Nautilus にて Space Key でプレビューするアプリね。
Fedora には最初から入っているよ。
だったらコイツのコードを参考にすればいいじゃないか。
って VideoTexture のまんまや!
Nautilus で動画をプレビューすると緑色でやはり表示できない。
[sushi] viewer: gst: port to ClutterGst 3.0
見つけた、十月にはコミットされているはずなんだけどなぁ。
自力で置き換えして試してみる、Gjs は面倒だから Python で。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #!/usr/bin/env python3 import sys, gi gi.require_version( "Gtk" , "3.0" ) gi.require_version( "ClutterGst" , "3.0" ) gi.require_version( "GtkClutter" , "1.0" ) from gi.repository import Gtk, Gdk, ClutterGst, GtkClutter, Clutter class ClPlayer(Gtk.Window): def __init__( self ): Gtk.Window.__init__( self ) # new self .actor = Clutter.Actor.new() self .content = ClutterGst.Aspectratio.new() self .player = ClutterGst.Playback.new() # set self .content.set_player( self .player) self .actor.set_content( self .content) self .actor.show() # size self .actor.set_width( 320 ) self .actor.set_height( 180 ) # add self .embed = GtkClutter.Embed() self .stage = self .embed.get_stage() self .stage.add_child( self .actor) self .add( self .embed) # play self .player.set_playing( True ) # show self .resize( 320 , 180 ) self .show_all() def do_delete_event( self , event): Gtk.main_quit() #Clutter.init(sys.argv) # Error GtkClutter.init(sys.argv) ClutterGst.init(sys.argv) win = ClPlayer() Gtk.main() |
思っていたより簡単だった。
よしコレで我が Y901x の GtkHeaderBar 化に取り掛かりできそうだ。
いやまあ、いいかげんに自分で気になってきたので。
実は今まで Ubuntu 環境での Clutter がよく解らないので避けていた。
GNOME プロジェクトの成果物依存から脱却したいココは絶対に導入しないだろうし。
Ubuntu Sushi その1 – Nautilusでプレビューを行うアプリの紹介・Sushiの使い方 – kledgeb
でも Sushi を入れるだけで依存関係から必要な環境がそろうようだ。
だったら Clutter も問題ないか、多分まだ 3.0 じゃない気がするけど。