You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(32) |
Jun
(60) |
Jul
(52) |
Aug
(67) |
Sep
(167) |
Oct
(186) |
Nov
(173) |
Dec
(220) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(37) |
Feb
(66) |
Mar
(89) |
Apr
(71) |
May
(32) |
Jun
(61) |
Jul
(64) |
Aug
(99) |
Sep
(33) |
Oct
(31) |
Nov
(50) |
Dec
(41) |
| 2004 |
Jan
(9) |
Feb
(9) |
Mar
(25) |
Apr
(23) |
May
(8) |
Jun
|
Jul
(1) |
Aug
(9) |
Sep
(1) |
Oct
(31) |
Nov
(38) |
Dec
|
| 2005 |
Jan
(16) |
Feb
(49) |
Mar
(14) |
Apr
(1) |
May
|
Jun
(12) |
Jul
(25) |
Aug
(18) |
Sep
(48) |
Oct
(76) |
Nov
(20) |
Dec
|
| 2006 |
Jan
(16) |
Feb
(12) |
Mar
(4) |
Apr
(5) |
May
(77) |
Jun
(37) |
Jul
(15) |
Aug
|
Sep
(3) |
Oct
(15) |
Nov
(7) |
Dec
(27) |
| 2007 |
Jan
(3) |
Feb
(2) |
Mar
|
Apr
|
May
(7) |
Jun
(18) |
Jul
(44) |
Aug
(12) |
Sep
(1) |
Oct
(13) |
Nov
(15) |
Dec
(5) |
| 2008 |
Jan
|
Feb
|
Mar
(16) |
Apr
(2) |
May
(8) |
Jun
(1) |
Jul
|
Aug
|
Sep
(8) |
Oct
(6) |
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
(2) |
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
(3) |
| 2010 |
Jan
(8) |
Feb
(8) |
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(17) |
Oct
(7) |
Nov
(3) |
Dec
|
| 2011 |
Jan
(34) |
Feb
(47) |
Mar
(12) |
Apr
(1) |
May
(2) |
Jun
(2) |
Jul
(20) |
Aug
(4) |
Sep
(31) |
Oct
(16) |
Nov
(26) |
Dec
(40) |
| 2012 |
Jan
(10) |
Feb
(8) |
Mar
|
Apr
(5) |
May
(8) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(8) |
| 2013 |
Jan
(2) |
Feb
(33) |
Mar
(21) |
Apr
(10) |
May
(29) |
Jun
(19) |
Jul
(6) |
Aug
(4) |
Sep
|
Oct
(21) |
Nov
(21) |
Dec
(7) |
| 2014 |
Jan
(3) |
Feb
(12) |
Mar
(9) |
Apr
(4) |
May
(12) |
Jun
|
Jul
|
Aug
(5) |
Sep
(23) |
Oct
(29) |
Nov
(2) |
Dec
(1) |
| 2015 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
(8) |
|
From: Kouhei S. <ko...@co...> - 2013-04-06 09:01:18
|
須藤です。
Ruby-GNOME2プロジェクトはRuby-GNOME2 1.2.6をリリースし(てい)
ました。
このリリースではRuby/Popplerとcairoを一緒に使ったときにうま
く動かないバグを修正しています。
Windows用のgemにはビルド済みのバイナリをバンドルしていますが、
バンドルするGTK+ 3を最新のGTK+ 3.8.0にしました!
== お願い
=== Ruby/GTK3に関して
Ruby/GTK3のサンプルの多くはRuby/GTK2から移行しきっていません。
これらのサンプルはまだたくさん警告を出力します。すべてのサン
プルをRuby/GTK2から移行したいと思っています。この作業を手伝っ
て欲しいです。
具体的には以下のような作業になります。
% gem install gtk3
% git clone gi...@gi...:ruby-gnome2/ruby-gnome2.git
% cd ruby-gnome2/gtk3/gtk-demo
% ruby main.rb # たくさんの警告がでます。
% vim xxx.rb # 警告やエラーを直して欲しいす。
# 期待する挙動はRuby/GTK2のサンプルを動かしてみてください。
# % cd ${RUBY_GNOME2_TOP_DIR}/gtk2/gtk-demo
# % ruby main.rb
# GTK+ 3のオリジナルのサンプルも参考にしてください。
# https://git.gnome.org/browse/gtk+/tree/demos/gtk-demo
# もしかしたら、GTK+ 3から移行していないサンプルもあるか
# もしれません。そんなサンプルを見つけたらRuby/GTK3へポー
# ティングして欲しいです。
↑の作業をしてpull requestを送ってくれるとうれしいです。単位
は細かくていいです。大きいのがドカンとくるよりは細かく送って
くれたほうが確認しやすくてうれしいです。なので、少し進めたら
送ってくれると嬉しいです。
この作業の流れはgtk-demo用ですが、他にもgtk3/misc/と
gtk3/testgtk/にもサンプルがあります。これらに関しても手伝っ
てくれるとうれしいです。
=== GObject Introspectionベースのバインディングに関して
既存のバインディングの中で、可能なものはGObject
Introspectionベースのバインディングに置き換えていきたいと思っ
ています。具体的には、まずは、Ruby/GStreamerとRuby/GooCanvas
を置き換えたいと思っています。その作業を手伝ってもらえないで
しょうか。
これらはAPIが多くてなかなか完成しなく、まだ「実験的」な扱い
のライブラリです。しかも、新しいバージョンへの対応もできてい
ません。(GStreamerは1.0.0がリリースされました!)
GObject Introspectionベースのバインディングにすることにより、
半自動的に新しいバージョンにも対応できるようになり、開発者に
とっても利用者にとってもうれしくなります。
で、やって欲しい作業ですが、サンプルを移植して欲しいです。
こんな風にすると作業を開始できます。おかげさまでGStreamerの
方は移植が進んでいます!
GStreamerの場合:
% gem install gobject-introspection
% git clone gi...@gi...:ruby-gnome2/ruby-gnome2.git
% cd ruby-gnome2/gstreamer-gi
% cd vim sample/xxx.rb
require "gst"
Gst.init
# サンプルを移植する
% ruby -I sample sample/xxx.rb
GStreamerのサンプルは
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/
以下にあるようです。例えば、以下がサンプルです。
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/helloworld/helloworld.c
GooCanvasの場合:
% gem install gobject-introspection
% git clone gi...@gi...:ruby-gnome2/ruby-gnome2.git
% cd ruby-gnome2/goocanvas
% cd vim sample/xxx.rb
require "goocanvas-gi"
# サンプルを移植する
% ruby -I sample sample/xxx.rb
GooCanvasのサンプルはここにあります。
http://git.gnome.org/browse/goocanvas/tree/demo
どれもサンプルをひとつ移植するごとにpull requestを送っても
らえるとうれしいです。
また、中にはうまく移植できないものもあるかもしれません。その
ときはpull requestかメーリングリストで教えてください。
Ruby/GObjectIntrospectionで未実装な機能が必要かもしれません。
== インストール方法
% gem install gtk2
% gem install gtk3
== Ruby-GNOME2 1.2.6: 2013-04-02
Ruby/Popplerのバグを修正したリリース!
=== 変更点
==== Ruby/GLib2
* 改良
* 非推奨となっているGLib::Completionを削除。
* 非推奨となっているg_suorce_get_current_time()の使用を止めた。
* [windows] バンドルしているGLibを3.8.0にあげた。
* [windows] バンドルしているglib-networkingを3.8.0にあげた。
* [windows] バンドルしているGnuTLSを3.1.10にあげた。
==== Ruby/ATK
* 改良
* [windows] バンドルしているATKを2.8.0にあげた。
==== Ruby/GdkPixbuf2
* 改良
* [windows] バンドルしているgdk-pixbufを2.28.0にあげた。
==== Ruby/Pango
* 改良
* [windows] バンドルしているPangoを1.34.0にあげた。
==== Ruby/GDK3
* 改良
* [windows] バンドルしているGTK+を3.8.0にあげた。
==== Ruby/Poppler
* 修正
* Poppler::Page#renderが動作しない問題を修正。
[SF.net#184] [HARUYAMA Seigoさんが報告]
==== Ruby/GooCanvas
* 改良
* Ruby/GObjectIntrospectionベースのサンプルを追加。
[GitHub #139] [Masafumi Yokoyamaさんがパッチ提供]
=== 感謝
* Masafumi Yokoyamaさん
* HARUYAMA Seigoさん
|
|
From: myokoym <my...@gm...> - 2013-04-05 15:03:11
|
横山です。
WindowsでRuby/GTKを使っていたらSegmentation faultに出会いました。
調べたところ、Windowsでjpgファイルとgifファイルを同時に使うと起きるようです。
(Linuxでは再現しませんでした。)
## 再現コード(gtk3のサンプルファイルを使用)
require 'gtk3'
Gdk::Pixbuf.new("background.jpg")
Gdk::Pixbuf.new("gtk-logo-rgb.gif")
## メッセージ
C:\work\ruby-gnome2-master\gtk3\sample\gtk-demo>ruby jpg-and-gif-together.rb
jpg-and-gif-together.rb: line 3
GLib-GObject-WARNING **:cannot register existing type `GdkPixbufGdipAnim'
jpg-and-gif-together.rb: line 3
GLib-CRITICAL **:g_once_init_leave: assertion `result != 0' failed
jpg-and-gif-together.rb: line 3
GLib-GObject-CRITICAL **:g_object_new: assertion `G_TYPE_IS_OBJECT
(object_type)' failed
jpg-and-gif-together.rb:3: [BUG] Segmentation fault
詳細はgistに貼ってあります。
https://gist.github.com/myokoym/5319283
自力では特定できなそうなので、ご相談させてください。
--
Masafumi Yokoyama @myokoym
|
|
From: Takashi N. <nak...@ni...> - 2013-04-03 13:55:23
|
中島です。 (2013年04月03日 22:35), Kouhei Sutou wrote: > あ、もう入っています。 > gstreamer-gi/じゃなくてglib2/の方での対応だったんですよ。 これは失礼しました。glib2もビルドしたら、writable failedメッセージは 消えました。 > ちょっと、adapterまわりは難易度高めなので、これは飛ばして他 > のやつに着手したほうがいいかもです。。。 そうします(^^;)。 |
|
From: Kouhei S. <ko...@co...> - 2013-04-03 13:35:18
|
須藤です。 In <515...@ni...> "Re: [ruby-gnome2-devel-ja] gi使用時のGst::Bufferがwritableにならない" on Wed, 03 Apr 2013 21:39:49 +0900, Takashi Nakajima <nak...@ni...> wrote: > 3月末はバタバタしてましたがまた戻ってきました。 おかえりなさい! > (2013年03月21日 23:47), Kouhei Sutou wrote: >> とりあえず、Gst::Bufferはwritableになるようにしました。 >> が、そのあとのadapterにpushしたバッファーをtakeしていくやつ >> を使うとクラッシュします。これは、adapterがtakeすると、デー >> タの所有者をバッファーからadapterに変えないといけない(バッ >> ファーは所有権を手放さないといけない)のですが、今はそこらへ >> んに対応できていなくて、バッファーもadapterもデータを開放し >> ようとしてクラッシュします。 >> >> 所有権周りをごにょごにょすればいいんですが、それをいい感じに >> するにはもう少し作業が必要そうなので途中報告でした。。。 > > 対応ありがとうございます! 今pull --rebaseして試してみましたが、 > git masterへの反映はまだですよね? 同じようだったので。 あ、もう入っています。 gstreamer-gi/じゃなくてglib2/の方での対応だったんですよ。 > ところで、私の環境ではadapter_test.rbのtakeメソッドに別の問題が出ています。 > Cの方ではGstAdapterのtake関数は > > gpointer gst_adapter_take (GstAdapter *adapter, gsize nbytes); > > と定義してあって、明らかにnbytesはinputだと思うのですが、 > 私の環境(Fedora 18)ではGstBase-1.0.girのAdapterクラス、 > takeメソッドの定義に > > <parameters> > <parameter name="nbytes" > direction="out" > caller-allocates="0" > transfer-ownership="full"> > <doc xml:whitespace="preserve">the number of bytes to take</doc> > <type name="gsize" c:type="gsize"/> > </parameter> > </parameters> > > なんて書いてあります。ここでdirectionが"out"なためだと思うのですが、 > Rubyでgi経由で > > data = @adapter.take(params.read_size) > > のようにtakeを呼ぶと > > /home/nakajima/Projects/ruby/gtk/ruby-gnome2/gobject-introspection/lib/gobject-introspection/loader.rb:221:in > `validate_arguments': Gst::Adapter#take: wrong number of arguments (1 > for 0) (ArgumentError) > > といったエラーになってしまいます。 > > 私のところだけなんでしょうか? あぁ、こちらでもそうですねぇ。 なんか、前に調べたような。。。 GStreamerのlibs/gst/base/gstadapter.cのgst_adapter_take()の コメントで * Returns: (transfer full) (array length=nbytes) (element-type guint8): * oven-fresh hot data, or #NULL if @nbytes bytes are not available とあるんですが、このうちの (array length=nbytes) のせいでoutになるんですよねぇ。 たしかにinなんですが、ドキュメントを読むと戻り値のデータの長 さもnbytesになるので、戻り値をRubyのオブジェクトに変換すると きにはnbytesの情報が欲しくなるんですよ。まぁ、イレギュラーで すねぇ。バインディング用の関数を提供してもらうのがよい気がし ますねぇ。 gst_adapter_take_XXX(adapter, nbytes, out_nbytes) みたいなので、out_nbytesのところにnybtesと同じ値をいれてくれ る的なやつがあるとよさそうな。。。 ちょっと、adapterまわりは難易度高めなので、これは飛ばして他 のやつに着手したほうがいいかもです。。。 |
|
From: Takashi N. <nak...@ni...> - 2013-04-03 12:43:28
|
中島です。 3月末はバタバタしてましたがまた戻ってきました。 (2013年03月21日 23:47), Kouhei Sutou wrote: > とりあえず、Gst::Bufferはwritableになるようにしました。 > が、そのあとのadapterにpushしたバッファーをtakeしていくやつ > を使うとクラッシュします。これは、adapterがtakeすると、デー > タの所有者をバッファーからadapterに変えないといけない(バッ > ファーは所有権を手放さないといけない)のですが、今はそこらへ > んに対応できていなくて、バッファーもadapterもデータを開放し > ようとしてクラッシュします。 > > 所有権周りをごにょごにょすればいいんですが、それをいい感じに > するにはもう少し作業が必要そうなので途中報告でした。。。 対応ありがとうございます! 今pull --rebaseして試してみましたが、 git masterへの反映はまだですよね? 同じようだったので。 ところで、私の環境ではadapter_test.rbのtakeメソッドに別の問題が出ています。 Cの方ではGstAdapterのtake関数は gpointer gst_adapter_take (GstAdapter *adapter, gsize nbytes); と定義してあって、明らかにnbytesはinputだと思うのですが、 私の環境(Fedora 18)ではGstBase-1.0.girのAdapterクラス、 takeメソッドの定義に <parameters> <parameter name="nbytes" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:whitespace="preserve">the number of bytes to take</doc> <type name="gsize" c:type="gsize"/> </parameter> </parameters> なんて書いてあります。ここでdirectionが"out"なためだと思うのですが、 Rubyでgi経由で data = @adapter.take(params.read_size) のようにtakeを呼ぶと /home/nakajima/Projects/ruby/gtk/ruby-gnome2/gobject-introspection/lib/gobject-introspection/loader.rb:221:in `validate_arguments': Gst::Adapter#take: wrong number of arguments (1 for 0) (ArgumentError) といったエラーになってしまいます。 私のところだけなんでしょうか? |
|
From: myokoym <my...@gm...> - 2013-03-27 13:12:39
|
>> サンプルの移植を行なっていると、 >> 非推奨となった定数の警告が出るのですが、 >> 修正候補が定数とシンボルの2つあるようです。 >> >> 例: >> 'Gtk::Window::TOPLEVEL' has been deprecated. >> Use 'Gtk::Window::Type::TOPLEVEL' or ':toplevel'. >> >> プロジェクトのサンプル全体として、どちらかに統一すべきでしょうか? > > シンボルでおねがいします! 了解です!シンボルを使うようにします。 |
|
From: Kouhei S. <ko...@co...> - 2013-03-27 13:07:27
|
須藤です。 In <CAE...@ma...> "[ruby-gnome2-devel-ja] deprecatedのWARNINGが出た場合、ConstantとSymbolのどちらを使うか" on Wed, 27 Mar 2013 22:03:28 +0900, myokoym <my...@gm...> wrote: > サンプルの移植を行なっていると、 > 非推奨となった定数の警告が出るのですが、 > 修正候補が定数とシンボルの2つあるようです。 > > 例: > 'Gtk::Window::TOPLEVEL' has been deprecated. > Use 'Gtk::Window::Type::TOPLEVEL' or ':toplevel'. > > プロジェクトのサンプル全体として、どちらかに統一すべきでしょうか? シンボルでおねがいします! |
|
From: myokoym <my...@gm...> - 2013-03-27 13:03:35
|
横山です。 サンプルの移植を行なっていると、 非推奨となった定数の警告が出るのですが、 修正候補が定数とシンボルの2つあるようです。 例: 'Gtk::Window::TOPLEVEL' has been deprecated. Use 'Gtk::Window::Type::TOPLEVEL' or ':toplevel'. プロジェクトのサンプル全体として、どちらかに統一すべきでしょうか? 私は、ひとつのサンプル内で統一されていれば、どちらでもよいのかなと思っています。 既にpull requestしたサンプル(goocanvas/sample/simple-demo.rb)があるのですが、そちらにはシンボルを使いました。 -- Masafumi Yokoyama |
|
From: Kouhei S. <ko...@co...> - 2013-03-25 15:00:05
|
須藤です。 In <CAE...@ma...> "Re: [ruby-gnome2-devel-ja] goocanvas-gi の sample/xxx.rb の location について" on Mon, 25 Mar 2013 23:58:13 +0900, myokoym <my...@gm...> wrote: > ありがとうございます、できました!typelibが必要なのですね。 > 私の環境はUbuntu12.04のaptなのですが、typelibはgir1.2-から始まるパッケージで提供されているようで、これをインストールしていませんでした。 > http://pkgs.org/ubuntu-12.04/ubuntu-universe-i386/gir1.2-goocanvas-2.0-9_2.0.1-0ubuntu1_i386.deb.html > これをインストールしたところ、見事にGlib::Errorが解消されました。 よかったです! > 作業状況ですが、ちょっとずるして既存のサンプルをgi向けに移植してpull requestしましたので、ご確認ください。 はい!すでにマージ済みです! |
|
From: myokoym <my...@gm...> - 2013-03-25 14:58:20
|
横山です。 2013/3/25 Kouhei Sutou <ko...@co...>: >> ちなみに、Goo.initすると以下のエラーが出ました。 >> >> /home/myokoym/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/gobject-introspection-1.2.4/lib/gobject-introspection/loader.rb:35:in >> `require': Typelib file for namespace 'GooCanvas' (any version) not >> found (GLib::Error) > > うーん、goocanvas2-develがインストールされていないんですか > ねぇ。GooCanvas-2.0.typelibというのがないとダメなんですよ。 > ありがとうございます、できました!typelibが必要なのですね。 私の環境はUbuntu12.04のaptなのですが、typelibはgir1.2-から始まるパッケージで提供されているようで、これをインストールしていませんでした。 http://pkgs.org/ubuntu-12.04/ubuntu-universe-i386/gir1.2-goocanvas-2.0-9_2.0.1-0ubuntu1_i386.deb.html これをインストールしたところ、見事にGlib::Errorが解消されました。 作業状況ですが、ちょっとずるして既存のサンプルをgi向けに移植してpull requestしましたので、ご確認ください。 -- Masafumi Yokoyama |
|
From: Kouhei S. <ko...@co...> - 2013-03-25 12:33:20
|
須藤です。 In <CAE...@ma...> "Re: [ruby-gnome2-devel-ja] goocanvas-gi の sample/xxx.rb の location について" on Mon, 25 Mar 2013 00:58:35 +0900, myokoym <my...@gm...> wrote: > ちなみに、Goo.initすると以下のエラーが出ました。 > > /home/myokoym/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/gobject-introspection-1.2.4/lib/gobject-introspection/loader.rb:35:in > `require': Typelib file for namespace 'GooCanvas' (any version) not > found (GLib::Error) うーん、goocanvas2-develがインストールされていないんですか ねぇ。GooCanvas-2.0.typelibというのがないとダメなんですよ。 > あと、gstreamerの移植の方で気になったのですが、requireするのはgst-giの方ではないでしょうか。 > > -require "gst" > +require "gst-gi" > Gst.init > # サンプルを移植する > -% ruby -I sample sample/xxx.rb > +% ruby -I ../gstreamer/sample sample/xxx.rb gstreamer-gi/の方はgst.rbにリネームしたのでgstで大丈夫なので す! |
|
From: myokoym <my...@gm...> - 2013-03-24 15:58:42
|
横山です。
2013年3月18日 21:48 Kouhei Sutou <ko...@co...>:
>> 作成した sample/xxx.rb の置き場所を確認させてください。
>>
>> 1. 既存の goocanvas プロジェクト
>> 2. 新規で goocanvas-gi プロジェクトを作成
>>
>> たぶん 1. でいいのかなと思うのですが、
>> gstreamer が 2. だったので質問してみました。
>
> 1.でいいです!
> 作業中に共存するのはムリだなぁと思ったら2.にいくと思いますが、
> たぶん、GStreamerと違って1.でいける気がしています。
> (GStreamerはいろいろやっていて特殊なのです。。。)
ありがとうございます、了解しました!
作業状況ですが、少し詰まっています。
試しに、すでに作成されていたsimple-demo.rbのrequireをgiに変えて実行してみたのですが、Goo::CanvasクラスがNameErrorとなってしまいました。
% gem install gobject-introspection
% git clone gi...@gi...:ruby-gnome2/ruby-gnome2.git
% cd ruby-gnome2/goocanvas
% cp sample/simple-demo.rb sample/simple-demo-gi.rb
% vi sample/simple-demo-gi.rb
% diff -u -s0 sample/simple-demo.rb sample/simple-demo-gi.rb
--- sample/simple-demo.rb
+++ sample/simple-demo-gi.rb
@@ -2 +2 @@
-require 'goocanvas'
+require 'goocanvas-gi'
% ruby -I sample sample/simple-demo-gi.rb
sample/simple-demo-gi.rb:5:in `<main>': 'Gtk::Window::TOPLEVEL' has
been deprecated. Use 'Gtk::Window::Type::TOPLEVEL' or':toplevel'.
sample/simple-demo-gi.rb:11:in `<main>': 'Gtk::SHADOW_IN' has been
deprecated. Use 'Gtk::ShadowType::IN' or ':in'.
sample/simple-demo-gi.rb:15:in `<main>': uninitialized constant
Goo::Canvas (NameError)
Gooモジュールは定義されていましたが、Goo::Canvasが未定義のようです。
p Module.constants.include?(:Goo) #=> true
p Goo.constants #=> [:LOG_DOMAIN, :Loader]
ちなみに、Goo.initすると以下のエラーが出ました。
/home/myokoym/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/gobject-introspection-1.2.4/lib/gobject-introspection/loader.rb:35:in
`require': Typelib file for namespace 'GooCanvas' (any version) not
found (GLib::Error)
from /home/myokoym/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/gobject-introspection-1.2.4/lib/gobject-introspection/loader.rb:35:in
`load'
from /home/myokoym/dev/ruby/ruby-gnome2/goocanvas/sample/goocanvas-gi.rb:35:in
`init'
from sample/simple-demo-gi.rb:10:in `<main>'
今は、少しずつgoocanvas-giとgobject-introspectionを見ているところです。
あと、gstreamerの移植の方で気になったのですが、requireするのはgst-giの方ではないでしょうか。
-require "gst"
+require "gst-gi"
Gst.init
# サンプルを移植する
-% ruby -I sample sample/xxx.rb
+% ruby -I ../gstreamer/sample sample/xxx.rb
勘違いでしたらすみません。。。
|
|
From: Kouhei S. <ko...@co...> - 2013-03-24 11:39:10
|
須藤です。
Ruby-GNOME2プロジェクトはRuby-GNOME2 1.2.4をリリースしまし
た。
このリリースからRuby/WebKitGtk2を追加しました。これは、GTK+
2でWebKitを使うためのライブラリです。
== お願い
=== Ruby/GTK3に関して
Ruby/GTK3のサンプルの多くはRuby/GTK2から移行しきっていません。
これらのサンプルはまだたくさん警告を出力します。すべてのサン
プルをRuby/GTK2から移行したいと思っています。この作業を手伝っ
て欲しいです。
具体的には以下のような作業になります。
% gem install gtk3
% git clone gi...@gi...:ruby-gnome2/ruby-gnome2.git
% cd ruby-gnome2/gtk3/gtk-demo
% ruby main.rb # たくさんの警告がでます。
% vim xxx.rb # 警告やエラーを直して欲しいす。
# 期待する挙動はRuby/GTK2のサンプルを動かしてみてください。
# % cd ${RUBY_GNOME2_TOP_DIR}/gtk2/gtk-demo
# % ruby main.rb
# GTK+ 3のオリジナルのサンプルも参考にしてください。
# https://git.gnome.org/browse/gtk+/tree/demos/gtk-demo
# もしかしたら、GTK+ 3から移行していないサンプルもあるか
# もしれません。そんなサンプルを見つけたらRuby/GTK3へポー
# ティングして欲しいです。
↑の作業をしてpull requestを送ってくれるとうれしいです。単位
は細かくていいです。大きいのがドカンとくるよりは細かく送って
くれたほうが確認しやすくてうれしいです。なので、少し進めたら
送ってくれると嬉しいです。
この作業の流れはgtk-demo用ですが、他にもgtk3/misc/と
gtk3/testgtk/にもサンプルがあります。これらに関しても手伝っ
てくれるとうれしいです。
=== GObject Introspectionベースのバインディングに関して
既存のバインディングの中で、可能なものはGObject
Introspectionベースのバインディングに置き換えていきたいと思っ
ています。具体的には、まずは、Ruby/GStreamerとRuby/GooCanvas
を置き換えたいと思っています。その作業を手伝ってもらえないで
しょうか。
これらはAPIが多くてなかなか完成しなく、まだ「実験的」な扱い
のライブラリです。しかも、新しいバージョンへの対応もできてい
ません。(GStreamerは1.0.0がリリースされました!)
GObject Introspectionベースのバインディングにすることにより、
半自動的に新しいバージョンにも対応できるようになり、開発者に
とっても利用者にとってもうれしくなります。
で、やって欲しい作業ですが、サンプルを移植して欲しいです。
こんな風にすると作業を開始できます。おかげさまでGStreamerの
方は移植が進んでいます!
GStreamerの場合:
% gem install gobject-introspection
% git clone gi...@gi...:ruby-gnome2/ruby-gnome2.git
% cd ruby-gnome2/gstreamer-gi
% cd vim sample/xxx.rb
require "gst"
Gst.init
# サンプルを移植する
% ruby -I sample sample/xxx.rb
GStreamerのサンプルは
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/
以下にあるようです。例えば、以下がサンプルです。
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/helloworld/helloworld.c
GooCanvasの場合:
% gem install gobject-introspection
% git clone gi...@gi...:ruby-gnome2/ruby-gnome2.git
% cd ruby-gnome2/goocanvas
% cd vim sample/xxx.rb
require "goocanvas-gi"
# サンプルを移植する
% ruby -I sample sample/xxx.rb
GooCanvasのサンプルはここにあります。
http://git.gnome.org/browse/goocanvas/tree/demo
どれもサンプルをひとつ移植するごとにpull requestを送っても
らえるとうれしいです。
また、中にはうまく移植できないものもあるかもしれません。その
ときはpull requestかメーリングリストで教えてください。
Ruby/GObjectIntrospectionで未実装な機能が必要かもしれません。
== インストール方法
% gem install gtk2
% gem install gtk3
== Ruby-GNOME2 1.2.4: 2013-03-24
Ruby/WebKitGtk2を追加したリリース!
=== 変更点
==== 全体
* 改良
* mswin64のサポートを開始。(まだぜんぜん終わっていません。)
[GitHub #135] [usaさんがパッチ提供]
==== Ruby/GLib2
* 改良
* 必要のないGBoxedオブジェクトのコピーを減らした。
==== Ruby/GdkPixbuf2
* 修正
* typoでビルドエラーになっていた問題を修正。
==== Ruby/GtkSourceView2
* 改良
* CentOS 6では自動でRPMをインストールするようにした。
==== Ruby/GObjectIntrospection
* 改良
* メソッド引数のバリデーションに失敗した時のメッセージに
メソッド名を入れるようにした。
* バージョンを指定してロードできるようにした。
==== Ruby/GTK3
* 改良
* [windows] gschemas.compiledを追加した。
[ruby-talk:406026] [Regis d'Aubaredeさんが報告]
==== Ruby/WebKitGtk2
* New!
[GitHub #136] [eumarioさんがパッチ提供]
=== 感謝
* usaさん
* Regis d'Aubaredeさん
* eumarioさん
|
|
From: Kouhei S. <ko...@co...> - 2013-03-21 14:48:04
|
須藤です。 まだできていないんですが、途中報告。。。 In <513...@ni...> "Re: [ruby-gnome2-devel-ja] gi使用時のGst::Bufferがwritableにならない" on Sun, 03 Mar 2013 00:58:20 +0900, Takashi Nakajima <nak...@ni...> wrote: >>> 3. Gst::Bufferがwritableにならない > (snip) >> これは、だいぶ切ないですねぇ。 そもそも、Gst::BufferがGst::MiniObject >> のサブクラスになってい ないのがアレですねぇ。ここもがんばらないといけ >> ないのか。。。 今週は来週のぐんまRuby会議01の準備をしないといけなく >> て、次の 週は一週間岩手に行っていたりするので、再来週以降にがんばりま >> す。。。 Ruby/GObjectIntrospectionのLoaderでGst::Buffer用のstructのク >> ラスを定義するときにGst::MiniObjectを使うようにすればいける ような気が >> するんですけどねぇ。。。それだけじゃ足りない気もし ますが。。。 > > 了解しました。それではまた後日ということで。 とりあえず、Gst::Bufferはwritableになるようにしました。 が、そのあとのadapterにpushしたバッファーをtakeしていくやつ を使うとクラッシュします。これは、adapterがtakeすると、デー タの所有者をバッファーからadapterに変えないといけない(バッ ファーは所有権を手放さないといけない)のですが、今はそこらへ んに対応できていなくて、バッファーもadapterもデータを開放し ようとしてクラッシュします。 所有権周りをごにょごにょすればいいんですが、それをいい感じに するにはもう少し作業が必要そうなので途中報告でした。。。 |
|
From: Kouhei S. <ko...@co...> - 2013-03-18 12:49:03
|
須藤です。 In <CAE...@ma...> "[ruby-gnome2-devel-ja] goocanvas-gi の sample/xxx.rb の location について" on Mon, 18 Mar 2013 21:25:04 +0900, myokoym <my...@gm...> wrote: > GooCanvas に興味があるので、 サンプルの移植をお手伝いしたいのですが、 ありがとうございます!!! > 作成した sample/xxx.rb の置き場所を確認させてください。 > > 1. 既存の goocanvas プロジェクト > 2. 新規で goocanvas-gi プロジェクトを作成 > > たぶん 1. でいいのかなと思うのですが、 > gstreamer が 2. だったので質問してみました。 1.でいいです! 作業中に共存するのはムリだなぁと思ったら2.にいくと思いますが、 たぶん、GStreamerと違って1.でいける気がしています。 (GStreamerはいろいろやっていて特殊なのです。。。) > # C は詳しくないのですが、 > # 勉強を兼ねてでいいでしょうか。。。 はい、もちろんです! |
|
From: myokoym <my...@gm...> - 2013-03-18 12:25:13
|
はじめまして、横山昌史@myokoymです。 GooCanvas に興味があるので、 サンプルの移植をお手伝いしたいのですが、 作成した sample/xxx.rb の置き場所を確認させてください。 1. 既存の goocanvas プロジェクト 2. 新規で goocanvas-gi プロジェクトを作成 たぶん 1. でいいのかなと思うのですが、 gstreamer が 2. だったので質問してみました。 # C は詳しくないのですが、 # 勉強を兼ねてでいいでしょうか。。。 -- Masafumi Yokoyama |
|
From: Kouhei S. <ko...@co...> - 2013-03-17 13:36:46
|
須藤です。 In <CAG...@ma...> "Re: [ruby-gnome2-devel-ja] Windowsへのinstallでエラー" on Sun, 17 Mar 2013 22:28:58 +0900, whiteleaf <2nd...@gm...> wrote: >> これだとどうなりますか? >> gem install gtk2 --platform=x86-mingw32 > > これに関してですが、gem update --system で gem を最新にしたところ、gem install gtk2 で > ruby 2.0.0 でもインストールすることが出来ました。2.0.0 付属の gem が古くてバグっているようです。 > (一応2.0.0p0なんですけどね……) おぉ。。。 そうですかぁ。そんな修正入っていたかしら。。。 > インストールについての不具合および不明な点について全て解決することが出来ました。 > ご対応ありがとうございました。 いえいえ! 報告と確認ありがとうございました! |
|
From: whiteleaf <2nd...@gm...> - 2013-03-17 13:29:35
|
whiteleaf です。 2013年3月17日 21:25 Kouhei Sutou <ko...@co...>: > うーん、gtk2だけx86-mingw32の方じゃなくてソースしか入ってい > ない方をfetchしていますねぇ。Webからだとちゃんとあるんですけ > ど。。。 > https://rubygems.org/gems/gtk2/versions/1.2.3-x86-mingw32 > > これだとどうなりますか? > gem install gtk2 --platform=x86-mingw32 これに関してですが、gem update --system で gem を最新にしたところ、gem install gtk2 で ruby 2.0.0 でもインストールすることが出来ました。2.0.0 付属の gem が古くてバグっているようです。 (一応2.0.0p0なんですけどね……) インストールについての不具合および不明な点について全て解決することが出来ました。 ご対応ありがとうございました。 |
|
From: Kouhei S. <ko...@co...> - 2013-03-17 13:23:59
|
須藤です。 Ruby-GNOME2プロジェクトはRuby-GNOME2 1.2.3をリリースしまし た。 Ruby-GNOME2 1.2.2もリリースしていたんですが、アナウンスはし ていませんでした。すみません。 このリリースからRuby 2.0.0をサポートしています。具体的には、 Windows用のバイナリ入りのgemにRuby 1.9.3とRuby 2.0.0用のバイ ナリが含まれています。一方、Ruby 1.8.7のバイナリは含めないよ うにしました。これは、そろそろRuby 1.8.7のサポートが終了する からです。 == お願い 既存のバインディングの中で、可能なものはGObject Introspectionベースのバインディングに置き換えていきたいと思っ ています。具体的には、まずは、Ruby/GStreamerとRuby/GooCanvas を置き換えたいと思っています。その作業を手伝ってもらえないで しょうか。 これらはAPIが多くてなかなか完成しなく、まだ「実験的」な扱い のライブラリです。しかも、新しいバージョンへの対応もできてい ません。(GStreamerは1.0.0がリリースされました!) GObject Introspectionベースのバインディングにすることにより、 半自動的に新しいバージョンにも対応できるようになり、開発者に とっても利用者にとってもうれしくなります。 で、やって欲しい作業ですが、サンプルを移植して欲しいです。 こんな風にすると作業を開始できます。おかげさまでGStreamerの 方は移植が進んでいます! GStreamerの場合: % gem install gobject-introspection % git clone gi...@gi...:ruby-gnome2/ruby-gnome2.git % cd ruby-gnome2/gstreamer-gi % cd vim sample/xxx.rb require "gst" Gst.init # サンプルを移植する % ruby -I sample sample/xxx.rb GStreamerのサンプルは http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/ 以下にあるようです。例えば、以下がサンプルです。 http://cgit.freedesktop.org/gstreamer/gstreamer/tree/tests/examples/helloworld/helloworld.c GooCanvasの場合: % gem install gobject-introspection % git clone gi...@gi...:ruby-gnome2/ruby-gnome2.git % cd ruby-gnome2/goocanvas % cd vim sample/xxx.rb require "goocanvas-gi" # サンプルを移植する % ruby -I sample sample/xxx.rb GooCanvasのサンプルはここにあります。 http://git.gnome.org/browse/goocanvas/tree/demo どれもサンプルをひとつ移植するごとにpull requestを送っても らえるとうれしいです。 また、中にはうまく移植できないものもあるかもしれません。その ときはpull requestかメーリングリストで教えてください。 Ruby/GObjectIntrospectionで未実装な機能が必要かもしれません。 == インストール方法 % gem install gtk2 % gem install gtk3 == Ruby-GNOME2 1.2.3: 2013-03-17 1.2.2を整理したリリース! === 変更点 ==== Ruby/GTK2 * シグナルハンドラーを元に戻す処理が必要なくなったので削除 した。 ==== Ruby/GTK3 * シグナルハンドラーを元に戻す処理が必要なくなったので削除 した。 == Ruby-GNOME2 1.2.2: 2013-03-11 Ruby 2.0.0サポートリリース! === 変更点 ==== Ruby/GLib2 * 改良 * Ruby 2.0.0上でのテストをサポート。 [GitHub #134] [mtasakaさんが報告] ==== Ruby/Poppler * 改良 * 非推奨だったGDKサポートを削除 ==== Ruby/GDK3 * 改良 * Ruby 2.0.0対応。 [GitHub#129] [TOMITA Masahiroさんが報告] ==== Ruby/GObjectIntrospection * 改良 * GTypeベースではないフラグをサポート。 * GTypeベースではないenumをサポート。 * コールバック関数をカスタマイズできるようにした。 * .hをインストールするようにした。 * .pcをインストールするようにした。 * もっとRubyっぽい名前を使うようにした。 * メソッドの出力変数が複数個あるときはエラーが起きても例 外をあげないようにした。 * Loader.start_callback_dispatch_thread()を追加。 * 引数のバリデーションをサポート。 * 戻り値が1つのときは配列にしないようにした。 * Enumeratorをサポートした。 * コンストラクター用のメソッドを見えないようにした。 ==== Ruby/GtkSourceView3 * 修正 * debパッケージ名が間違っていたのを修正。 ==== Ruby/Clutter * 修正 * 初期化チェックが間違っていたので修正した。 * 意図せずClutter.initが上書きされていた問題を修正。 ==== Ruby/ClutterGTK * 修正 * 初期化チェックが間違っていたので修正した。 ==== Ruby/WebKitGTK * 修正 * 初期化チェックが間違っていたので修正した。 === 感謝 * Vincent Carmonaさん (まだリリースされていないGObject Introspectionベースの GStreamerバインディングに関連で) * TOMITA Masahiroさん * NAKAJIMA Takashiさん (まだリリースされていないGObject Introspectionベースの GStreamerバインディングに関連で) * mtasakaさん |
|
From: Kouhei S. <ko...@co...> - 2013-03-17 12:25:42
|
須藤です。 In <CAG...@ma...> "Re: [ruby-gnome2-devel-ja] Windowsへのinstallでエラー" on Sun, 17 Mar 2013 19:42:28 +0900, whiteleaf <2nd...@gm...> wrote: > 1.2.3ではRuby 1.9.3でもrequireできるようになっているはずです! > > ruby1.9.3でインストール及び動作確認(ウィンドウ表示しただけですが)が出来ました > 、ありがとうございます。 よかったです! > > ■ruby 2.0.0 (32bit版) > > gtk2 のインストール途中で止まる > > これは、おかしいですね。。。 > パッケージを作りなおしたのでもう一度試してもらえますか? > > c:\Application\Ruby>gem install gtk2 > Fetching: glib2-1.2.3-x86-mingw32.gem (100%) > Successfully installed glib2-1.2.3-x86-mingw32 > Fetching: atk-1.2.3-x86-mingw32.gem (100%) > Successfully installed atk-1.2.3-x86-mingw32 > Fetching: pango-1.2.3-x86-mingw32.gem (100%) > Successfully installed pango-1.2.3-x86-mingw32 > Fetching: gdk_pixbuf2-1.2.3-x86-mingw32.gem (100%) > Successfully installed gdk_pixbuf2-1.2.3-x86-mingw32 > Fetching: gtk2-1.2.3.gem (100%) > ERROR: Error installing gtk2: > The 'gtk2' native gem requires installed build tools. > > Please update your PATH to include build tools or download the DevKit > from 'http://rubyinstaller.org/downloads' and follow the instructions > at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit' > > また同じエラーが出てしまいました。ちなみに DevKit はインストールしていません。 > 複雑な構成のgemはいまいちよくわからないので調査追跡が出来ずに申し訳ありません。 うーん、gtk2だけx86-mingw32の方じゃなくてソースしか入ってい ない方をfetchしていますねぇ。Webからだとちゃんとあるんですけ ど。。。 https://rubygems.org/gems/gtk2/versions/1.2.3-x86-mingw32 これだとどうなりますか? gem install gtk2 --platform=x86-mingw32 > あと、これは全くこっちの環境のせいなのですが、 > アンチウィルスソフトの Avast 8.0 で > > Infection Details > URL: http://tokyo-m.rubygems.org/gems/gdk_pixbuf2-1.2.3-x86-mingw32.gem| > data.tar.gz|data.tar|vendor\local\bin\gdk-pixbuf-pixdata.exe > Process: C:\Application\Ruby193_rbi\bin\ruby.exe > Infection: Win32:Malware-gen > > と pixbuf2 がマルウェアと認識されて止まります。インストール時だけAvast止めてイ > ンストールしました。 おぉ。。。切ないですねぇ。。。 |
|
From: whiteleaf <2nd...@gm...> - 2013-03-17 10:43:05
|
whiteleaf です。
2013年3月17日 19:09 Kouhei Sutou <ko...@co...>:
>
> > ■ruby 1.9.3
> > gtk2 が require 出来ず。
>
> これ、パッケージの作り方に失敗していて、
> ${GEM_HOME}/glib-XXX/lib/glib2.soがあるのが問題でした。
> このglib2.soはRuby 2.0.0用の.so <http://2.0.xn--0-gbuv25x.so>
> なので、1.9でこれをrequireし
> てしまうとエラーになってしまうのです。
>
> ということで、1.2.3をリリースしました!
> 1.2.3ではRuby 1.9.3でもrequireできるようになっているはずです!
>
ruby1.9.3でインストール及び動作確認(ウィンドウ表示しただけですが)が出来ました、ありがとうございます。
>
> > ■ruby 1.8.7
> > gtk2 が require 出来ず。
>
> 1.2.2からRuby 1.8のサポートをやめました。(Ruby 1.8.7のサポー
> トがあと数ヶ月で終了するので。)
> 今後、サポートする予定はないので、Ruby 1.9.3か2.0.0を使って
> ください。
>
1.8.7 は何かヒントになると思い、一応試しただけで使う予定はないので問題ありません。
> > ■ruby 2.0.0 (32bit版)
> > gtk2 のインストール途中で止まる
>
> これは、おかしいですね。。。
> パッケージを作りなおしたのでもう一度試してもらえますか?
>
c:\Application\Ruby>gem install gtk2
Fetching: glib2-1.2.3-x86-mingw32.gem (100%)
Successfully installed glib2-1.2.3-x86-mingw32
Fetching: atk-1.2.3-x86-mingw32.gem (100%)
Successfully installed atk-1.2.3-x86-mingw32
Fetching: pango-1.2.3-x86-mingw32.gem (100%)
Successfully installed pango-1.2.3-x86-mingw32
Fetching: gdk_pixbuf2-1.2.3-x86-mingw32.gem (100%)
Successfully installed gdk_pixbuf2-1.2.3-x86-mingw32
Fetching: gtk2-1.2.3.gem (100%)
ERROR: Error installing gtk2:
The 'gtk2' native gem requires installed build tools.
Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'
また同じエラーが出てしまいました。ちなみに DevKit はインストールしていません。
複雑な構成のgemはいまいちよくわからないので調査追跡が出来ずに申し訳ありません。
あと、これは全くこっちの環境のせいなのですが、
アンチウィルスソフトの Avast 8.0 で
Infection Details
URL:
http://tokyo-m.rubygems.org/gems/gdk_pixbuf2-1.2.3-x86-mingw32.gem|data.tar.gz|data.tar|vendor\local\bin\gdk-pixbuf-pixdata.exe
Process: C:\Application\Ruby193_rbi\bin\ruby.exe
Infection: Win32:Malware-gen
と pixbuf2 がマルウェアと認識されて止まります。インストール時だけAvast止めてインストールしました。
一応ご報告です。
|
|
From: Kouhei S. <ko...@co...> - 2013-03-17 10:10:08
|
須藤です。
In <CAG...@ma...>
"[ruby-gnome2-devel-ja] Windowsへのinstallでエラー" on Wed, 13 Mar 2013 18:20:39 +0900,
whiteleaf <2nd...@gm...> wrote:
> Ruby-GNOME2 を Windows(7の64bit) にインストールしたところでエラーになって先に進
> めません。
す、すみません。。。
> ■ruby 1.9.3
> gtk2 が require 出来ず。
これ、パッケージの作り方に失敗していて、
${GEM_HOME}/glib-XXX/lib/glib2.soがあるのが問題でした。
このglib2.soはRuby 2.0.0用の.soなので、1.9でこれをrequireし
てしまうとエラーになってしまうのです。
ということで、1.2.3をリリースしました!
1.2.3ではRuby 1.9.3でもrequireできるようになっているはずです!
> ■ruby 1.8.7
> gtk2 が require 出来ず。
1.2.2からRuby 1.8のサポートをやめました。(Ruby 1.8.7のサポー
トがあと数ヶ月で終了するので。)
今後、サポートする予定はないので、Ruby 1.9.3か2.0.0を使って
ください。
> ■ruby 2.0.0 (32bit版)
> gtk2 のインストール途中で止まる
これは、おかしいですね。。。
パッケージを作りなおしたのでもう一度試してもらえますか?
|
|
From: whiteleaf <2nd...@gm...> - 2013-03-13 09:21:16
|
はじめまして whiteleaf ともうします。 Ruby-GNOME2 を Windows(7の64bit) にインストールしたところでエラーになって先に進めません。 使用した Ruby のバイナリは http://rubyinstaller.org/ の mingw 版です。 事前準備: 1. インストールしたてのまっさらな Ruby 各種 2. gem install gtk2 ■ruby 1.9.3 gtk2 が require 出来ず。 c:\Application\Ruby>ruby -ve 'require "gtk2"' ruby 1.9.3p392 (2013-02-22) [i386-mingw32] c:/Application/Ruby/193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:i n `require': 126: 指定されたモジュールが見つかりません。 - c:/Application/Ruby /193/lib/ruby/gems/1.9.1/gems/glib2-1.2.2-x86-mingw32/lib/glib2.so (LoadError) from c:/Application/Ruby/193/lib/ruby/site_ruby/1.9.1/rubygems/custom_re quire.rb:60:in `rescue in require' from c:/Application/Ruby/193/lib/ruby/site_ruby/1.9.1/rubygems/custom_re quire.rb:35:in `require' from c:/Application/Ruby/193/lib/ruby/gems/1.9.1/gems/glib2-1.2.2-x86-mi ngw32/lib/glib2.rb:100:in `rescue in <top (required)>' from c:/Application/Ruby/193/lib/ruby/gems/1.9.1/gems/glib2-1.2.2-x86-mi ngw32/lib/glib2.rb:96:in `<top (required)>' from c:/Application/Ruby/193/lib/ruby/site_ruby/1.9.1/rubygems/custom_re quire.rb:36:in `require' from c:/Application/Ruby/193/lib/ruby/site_ruby/1.9.1/rubygems/custom_re quire.rb:36:in `require' from c:/Application/Ruby/193/lib/ruby/gems/1.9.1/gems/gtk2-1.2.2-x86-min gw32/lib/gtk2/base.rb:12:in `<top (required)>' from c:/Application/Ruby/193/lib/ruby/site_ruby/1.9.1/rubygems/custom_re quire.rb:36:in `require' from c:/Application/Ruby/193/lib/ruby/site_ruby/1.9.1/rubygems/custom_re quire.rb:36:in `require' from c:/Application/Ruby/193/lib/ruby/gems/1.9.1/gems/gtk2-1.2.2-x86-min gw32/lib/gtk2.rb:11:in `<top (required)>' from c:/Application/Ruby/193/lib/ruby/site_ruby/1.9.1/rubygems/custom_re quire.rb:60:in `require' from c:/Application/Ruby/193/lib/ruby/site_ruby/1.9.1/rubygems/custom_re quire.rb:60:in `rescue in require' from c:/Application/Ruby/193/lib/ruby/site_ruby/1.9.1/rubygems/custom_re quire.rb:35:in `require' from -e:1:in `<main>' ■ruby 1.8.7 gtk2 が require 出来ず。 c:\Application\Ruby>ruby -v -rubygems -e 'require "gtk2"' ruby 1.8.7 (2012-10-12 patchlevel 371) [i386-mingw32] (このタイミングで) > ruby.exe システムエラー > コンピューターに msvcrt-ruby200.dll がないため、プログラムを開始出来ません。 > この問題を解決するには、プログラムを再インストールしてみてください。 (というエラーダイアログ×2回) c:/Application/Ruby/187/lib/ruby/gems/1.8/gems/glib2-1.2.2-x86-mingw32/lib/glib2 .so: 126: 指定されたモジュールが見つかりません。 - c:/Application/Ruby/187/lib /ruby/gems/1.8/gems/glib2-1.2.2-x86-mingw32/lib/glib2.so (LoadError) from c:/Application/Ruby/187/lib/ruby/site_ruby/1.8/rubygems/custom_requ ire.rb:60:in `require' from c:/Application/Ruby/187/lib/ruby/gems/1.8/gems/glib2-1.2.2-x86-ming w32/lib/glib2.rb:100 from c:/Application/Ruby/187/lib/ruby/site_ruby/1.8/rubygems/custom_requ ire.rb:36:in `gem_original_require' from c:/Application/Ruby/187/lib/ruby/site_ruby/1.8/rubygems/custom_requ ire.rb:36:in `require' from c:/Application/Ruby/187/lib/ruby/gems/1.8/gems/gtk2-1.2.2-x86-mingw 32/lib/gtk2/base.rb:12 from c:/Application/Ruby/187/lib/ruby/site_ruby/1.8/rubygems/custom_requ ire.rb:36:in `gem_original_require' from c:/Application/Ruby/187/lib/ruby/site_ruby/1.8/rubygems/custom_requ ire.rb:36:in `require' from c:/Application/Ruby/187/lib/ruby/gems/1.8/gems/gtk2-1.2.2-x86-mingw 32/lib/gtk2.rb:11 from c:/Application/Ruby/187/lib/ruby/site_ruby/1.8/rubygems/custom_requ ire.rb:60:in `gem_original_require' from c:/Application/Ruby/187/lib/ruby/site_ruby/1.8/rubygems/custom_requ ire.rb:60:in `require' from -e:1 ■ruby 2.0.0 (32bit版) gtk2 のインストール途中で止まる c:\Application\Ruby>gem install gtk2 Fetching: glib2-1.2.2-x86-mingw32.gem (100%) Successfully installed glib2-1.2.2-x86-mingw32 Fetching: atk-1.2.2-x86-mingw32.gem (100%) Successfully installed atk-1.2.2-x86-mingw32 Fetching: cairo-1.12.4-x86-mingw32.gem (100%) Successfully installed cairo-1.12.4-x86-mingw32 Fetching: pango-1.2.2-x86-mingw32.gem (100%) Successfully installed pango-1.2.2-x86-mingw32 Fetching: gdk_pixbuf2-1.2.2-x86-mingw32.gem (100%) Successfully installed gdk_pixbuf2-1.2.2-x86-mingw32 ERROR: Error installing gtk2: The 'gtk2' native gem requires installed build tools. Please update your PATH to include build tools or download the DevKit from 'http://rubyinstaller.org/downloads' and follow the instructions at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit' 1.9.3 で動かずに唸ってたのですが、1.8.7 でエラーダイアログが出て、これが 問題の根幹な気がしますが(リンクしてはいけないのをリンクしてる?)、 これはどのようにしたらよろしいでしょうか。 # ちなみに gtk3 も同じ状況です。 |
|
From: Takashi N. <nak...@ni...> - 2013-03-02 16:08:41
|
中島です。 (2013年03月02日 22:08), Kouhei Sutou wrote: >> 1. GstBaseのバインディング >> このadapter_test.cは、GstBase-1.0.girに定義されている >> GstAdapterを使っています。こちらGstBaseのバインディングの >> 作成予定はありますでしょうか? > ぜんぜん気付いていませんでした! > みてみたら、GstBaseもGStreamerと同じリポジトリに入っているの > で、gstreamer-giの中に作るのが適切ですね。 > > ということで、ぶちこんでおきました。 ありがとうございます。さっそくいただきました。 >> 2. Gst::Bufferの生成方法 (snip) > あ、これはですね。 > > buf = Gst::Buffer.new(nil, size, nil) > > でいけます。コンストラクターが複数あるときは、initialize_XXX > を作って、initializeでディスパッチするようにしています。なの > で、new()の引数を変えるだけで適切なinitialize_XXXが呼ばれま > す。(gst_buffer_new_allocate()は引数が3つなので3つ渡さない > といけない。2つだとgst_buffer_new_wrapped()にディスパッチさ > れてしまう。) > > initialize_XXXの方は間違って使わないようにprivateにしておき > ました。 なるほど、それでnewしか見当たらなかったんですね。納得です。 ただ、残念ながら下記3.は変わりませんでした... >> 3. Gst::Bufferがwritableにならない (snip) > これは、だいぶ切ないですねぇ。 そもそも、Gst::BufferがGst::MiniObject > のサブクラスになってい ないのがアレですねぇ。ここもがんばらないといけ > ないのか。。。 今週は来週のぐんまRuby会議01の準備をしないといけなく > て、次の 週は一週間岩手に行っていたりするので、再来週以降にがんばりま > す。。。 Ruby/GObjectIntrospectionのLoaderでGst::Buffer用のstructのク > ラスを定義するときにGst::MiniObjectを使うようにすればいける ような気が > するんですけどねぇ。。。それだけじゃ足りない気もし ますが。。。 了解しました。それではまた後日ということで。 |
|
From: Kouhei S. <ko...@co...> - 2013-03-02 13:28:43
|
須藤です。 In <513...@ni...> "[ruby-gnome2-devel-ja] gi使用時のGst::Bufferがwritableにならない" on Sat, 02 Mar 2013 20:21:25 +0900, Takashi Nakajima <nak...@ni...> wrote: > giを使ったGStreamerのサンプルを移植中ですが、今度はadapter > フォルダのadapter_test.cについて、以下3点ご教示お願いします。 ありがとうございます! > 1. GstBaseのバインディング > このadapter_test.cは、GstBase-1.0.girに定義されている > GstAdapterを使っています。こちらGstBaseのバインディングの > 作成予定はありますでしょうか? ぜんぜん気付いていませんでした! みてみたら、GstBaseもGStreamerと同じリポジトリに入っているの で、gstreamer-giの中に作るのが適切ですね。 ということで、ぶちこんでおきました。 > なお、試しにgst.rbのモジュール名とLoaderのパラメータを > "GstBase"に変えたものをrequireしてみたところ、 > GstBase::Adapter.newは通ったようです。 require "gst"するだけで、Gst::Adapter.newできるようにしてお きました。GstBase-1.0.girをのぞいたら c:identifier-prefixes="Gst"となっていたので、GstBase::XXXで はなく、Gst::XXXにしておきました。 > 2. Gst::Bufferの生成方法 > AdapterにGst::Bufferを与えるのですが、これを生成する関数として、 > オリジナル使用の gst_buffer_new_and_alloc() の v.1.0版と思われる、 > gst_buffer_new_allocate() を使いたいと考えています。 > しかしgiの Gst::Bufferには new_allocate というコンストラクタが定義 > されておらず、 > buf = Gst::Buffer.new > buf.initialize_new_allocate(nil, size) > という形になっているようです。 > これで生成と初期化はできているようですが、気分としては > buf = Gst::Buffer.new_allocate(nil, size) > などで一発生成できるとうれしいです。 あ、これはですね。 buf = Gst::Buffer.new(nil, size, nil) でいけます。コンストラクターが複数あるときは、initialize_XXX を作って、initializeでディスパッチするようにしています。なの で、new()の引数を変えるだけで適切なinitialize_XXXが呼ばれま す。(gst_buffer_new_allocate()は引数が3つなので3つ渡さない といけない。2つだとgst_buffer_new_wrapped()にディスパッチさ れてしまう。) initialize_XXXの方は間違って使わないようにprivateにしておき ました。 > 3. Gst::Bufferがwritableにならない > 上記生成したGst::Bufferに、 > buf.memset(0, 0, size) > で0クリアしようとしたところ、コンソールに大量のメッセージ > > (adapter_test.rb:8776): GStreamer-CRITICAL **: gst_buffer_memset: > assertion `gst_buffer_is_writable (buffer)' failed > > が出力され、書き込みに失敗しました。 > GStreamerのリファレンスによると、Bufferのrefcountが1でなければ > ならないらしいですが、上記 2. のコードだとカウントが上がってしまうので > しょうか? > なお、refcountを確認したいのですが、Buffer内でカウントを持っているらしい > GstMiniObjectを以下のように参照すると > > puts buf.mini_object.refcount > > 以下のエラーになります。 > > /home/nakajima/Projects/ruby/gtk/ruby-gnome2/gobject-introspection/lib/gobject-introspection/loader.rb:150:in > `get_field_value': failed to get field value (ArgumentError) > from > /home/nakajima/Projects/ruby/gtk/ruby-gnome2/gobject-introspection/lib/gobject-introspection/loader.rb:150:in > `block (2 levels) in load_fields' これは、だいぶ切ないですねぇ。 そもそも、Gst::BufferがGst::MiniObjectのサブクラスになってい ないのがアレですねぇ。ここもがんばらないといけないのか。。。 今週は来週のぐんまRuby会議01の準備をしないといけなくて、次の 週は一週間岩手に行っていたりするので、再来週以降にがんばりま す。。。 Ruby/GObjectIntrospectionのLoaderでGst::Buffer用のstructのク ラスを定義するときにGst::MiniObjectを使うようにすればいける ような気がするんですけどねぇ。。。それだけじゃ足りない気もし ますが。。。 |