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...> - 2012-05-27 09:10:01
|
須藤です。 In <201...@dd...> "Re: [ruby-gnome2-devel-ja] FreeBSD ports の ruby-gnome2 のバージョン" on Sat, 26 May 2012 18:36:57 +0900, "KISHIMOTO, Makoto" <ksm...@dd...> wrote: > send-pr のために、その他細かい変更点等を確認しているのですが、 > gtk2 や pango など各ライブラリのディレクトリ中にあった、 > ChangeLog ファイルがなくなっていて、ports のインストールで > 失敗になるので修正が必要でした。 > > これはバージョンアップにともなう変更点として、修正してしまって > ( ports の Makefile と pkg-plist というパッケージのマニフェスト > ファイルから、ChangeLog の記述を削除)良いでしょうか? はい、削除してしまってよいです! ChangeLogはgitに移行したときにやめたのでもう復活することはあ りません。ユーザーからしてみるとChangeLogよりもNEWSの方が有 用だと思うので、そちらを見てもらうという方がいいと思います。 |
|
From: KISHIMOTO, M. <ksm...@dd...> - 2012-05-26 09:37:08
|
きしもとです On Thu, 24 May 2012 21:04:21 +0900 (JST) Kouhei Sutou <ko...@co...> wrote: > 須藤です。 > > In <201...@dd...> > "[ruby-gnome2-devel-ja] FreeBSD ports の ruby-gnome2 のバージョン" on Wed, 23 May 2012 08:58:23 +0900, > "KISHIMOTO, Makoto" <ksm...@dd...> wrote: > > > もし、1.1.0 以降ではビルド中に GCC がクラッシュするためであれば、先日 > > send-pr して( http://www.freebsd.org/cgi/query-pr.cgi?pr=168004 ) > > クラッシュの原因となっていた点を修正していただいたので、新しいバージョン > > でも、問題なくビルドできるはずです(手元ではビルドできています)ので、 > > ruby-gnome2 のアップデートを send-pr しようかと考えています。 > > おぉ、クラッシュする問題があったのですか。 > 今、手元のFreeBSDでRUBY-GNOME2のmasterを試したらクラッシュし > なかったのでsend-prしても大丈夫そうな気がします! send-pr のために、その他細かい変更点等を確認しているのですが、 gtk2 や pango など各ライブラリのディレクトリ中にあった、 ChangeLog ファイルがなくなっていて、ports のインストールで 失敗になるので修正が必要でした。 これはバージョンアップにともなう変更点として、修正してしまって ( ports の Makefile と pkg-plist というパッケージのマニフェスト ファイルから、ChangeLog の記述を削除)良いでしょうか? それ以外には特に大きな修正はありませんでした。 |
|
From: Kouhei S. <ko...@co...> - 2012-05-24 12:20:23
|
須藤です。 In <201...@dd...> "[ruby-gnome2-devel-ja] FreeBSD ports の ruby-gnome2 のバージョン" on Wed, 23 May 2012 08:58:23 +0900, "KISHIMOTO, Makoto" <ksm...@dd...> wrote: > もし、1.1.0 以降ではビルド中に GCC がクラッシュするためであれば、先日 > send-pr して( http://www.freebsd.org/cgi/query-pr.cgi?pr=168004 ) > クラッシュの原因となっていた点を修正していただいたので、新しいバージョン > でも、問題なくビルドできるはずです(手元ではビルドできています)ので、 > ruby-gnome2 のアップデートを send-pr しようかと考えています。 おぉ、クラッシュする問題があったのですか。 今、手元のFreeBSDでRUBY-GNOME2のmasterを試したらクラッシュし なかったのでsend-prしても大丈夫そうな気がします! |
|
From: KISHIMOTO, M. <ksm...@dd...> - 2012-05-23 00:30:10
|
きしもとと申します FreeBSD の ports の ruby-gnome2 のバージョン( RUBY_GNOME_VERSION )が 1.0.3 になっていて、最近のバージョンに追随してないようなのですが、 何か理由とかあってそうなっているのでしょうか? もし、1.1.0 以降ではビルド中に GCC がクラッシュするためであれば、先日 send-pr して( http://www.freebsd.org/cgi/query-pr.cgi?pr=168004 ) クラッシュの原因となっていた点を修正していただいたので、新しいバージョン でも、問題なくビルドできるはずです(手元ではビルドできています)ので、 ruby-gnome2 のアップデートを send-pr しようかと考えています。 よろしくお願いします。 |
|
From: Kouhei S. <ko...@co...> - 2012-04-14 04:16:47
|
須藤です。
In <CAM...@ma...>
"[ruby-gnome2-devel-ja] G_CHILD_xxx の呼び出しタイミングについて" on Fri, 13 Apr 2012 22:21:45 +0900,
Masaaki Aoyagi <mas...@gm...> wrote:
> G_CHILD_xxx マクロはGC回避のために使用していると理解していますが、
> 呼び出しのタイミングが早くメモリリークする恐れがある箇所があると思われます。
>
> 例えば、Gtk::TextView#add_child_at_anchorの場合、
> static VALUE
> rg_add_child_at_anchor(VALUE self, VALUE child, VALUE anchor)
> {
> G_CHILD_ADD(self, child);
> gtk_text_view_add_child_at_anchor(_SELF(self), RVAL2GTKWIDGET(child),
> RVAL2GTKTEXTCHILDANCHOR(anchor));
> return self;
> }
> となっており、childに不正なオブジェクトを渡した場合メモリリークになるはずです。
その通りですね!
> G_CHILD_xxx マクロの呼び出しは、最大限後回しにするように変更しようと思いますが
> よろしいでしょうか?
はい、それがよいと思います!
|
|
From: Kouhei S. <ko...@co...> - 2012-04-14 04:16:14
|
須藤です。
In <CAM...@ma...>
"[ruby-gnome2-devel-ja] Gtk::TextIterを引数にとるメソッドについて" on Fri, 13 Apr 2012 21:46:59 +0900,
Masaaki Aoyagi <mas...@gm...> wrote:
> gtk_text_buffer_get_iter_at_xxx 関数群をGtk::TextBuffer#get_iter_atメソッドにまとめ
> buffer.get_iter_at(100)
> や
> buffer.get_iter_at(line: 10, offset: 5)
> のように使えるようにしたので、これを利用してGtk::TextIterを引数にとるメソッドを
> Gtk::TextIterの代わりにGtk::TextBuffer#get_iter_atの引数と同様な指定も
> できるようにしたいと考えています。
>
> 例えば、Gtk::TextBuffer#deleteの場合、
> buffer.delete(5, 10)
> や
> buffer.delete({line: 10, offset: 5}, {line: 20})
> のように使えるようになります。
>
> いかがでしょうか?
よいと思います!
|
|
From: Masaaki A. <mas...@gm...> - 2012-04-13 13:21:56
|
青柳です。
G_CHILD_xxx マクロはGC回避のために使用していると理解していますが、
呼び出しのタイミングが早くメモリリークする恐れがある箇所があると思われます。
例えば、Gtk::TextView#add_child_at_anchorの場合、
static VALUE
rg_add_child_at_anchor(VALUE self, VALUE child, VALUE anchor)
{
G_CHILD_ADD(self, child);
gtk_text_view_add_child_at_anchor(_SELF(self), RVAL2GTKWIDGET(child),
RVAL2GTKTEXTCHILDANCHOR(anchor));
return self;
}
となっており、childに不正なオブジェクトを渡した場合メモリリークになるはずです。
G_CHILD_xxx マクロの呼び出しは、最大限後回しにするように変更しようと思いますが
よろしいでしょうか?
|
|
From: Masaaki A. <mas...@gm...> - 2012-04-13 12:47:10
|
青柳です。
gtk_text_buffer_get_iter_at_xxx 関数群をGtk::TextBuffer#get_iter_atメソッドにまとめ
buffer.get_iter_at(100)
や
buffer.get_iter_at(line: 10, offset: 5)
のように使えるようにしたので、これを利用してGtk::TextIterを引数にとるメソッドを
Gtk::TextIterの代わりにGtk::TextBuffer#get_iter_atの引数と同様な指定も
できるようにしたいと考えています。
例えば、Gtk::TextBuffer#deleteの場合、
buffer.delete(5, 10)
や
buffer.delete({line: 10, offset: 5}, {line: 20})
のように使えるようになります。
いかがでしょうか?
|
|
From: Kouhei S. <ko...@co...> - 2012-04-09 13:52:57
|
須藤です。
Ruby-GNOME2プロジェクトはRuby-GNOME2 1.1.3をリリースしまし
た。
GLib 2.32以上を使いたい場合はこのバージョンを使ってください。
古いリリースではビルドできません。
== インストール方法
% gem install gtk2
== Ruby-GNOME2 1.1.3: 2012-04-08
1.1.2のバグフィックスリリースです。
==== Ruby/GLib2
* 改良
* gemspecでRubyのバージョンを指定できるようになった。
* [GitHub#106] glib-mkenums.rbがヘッダー内にCプリプロセッ
サのマクロがあっても動くようになった。
GLib 2.31.20と一緒に使う場合はこの変更が必要。
[mtasakaさんが報告]
* [GitHub#107] PPC上でのテストをサポート。
[mtasakaさんが報告]
* 修正
* handler_idの型を修正。
==== Ruby/GTK2
* 改良
* GTK+ < 2.18用にGtk::TreeViewColumn#set_sort_column_idと
Gtk::TreeViewColumn#sort_column_id=を追加。
[ruby-gnome2-devel-en] Gtk::TreeViewColumn
[grant schoepさんが報告]
* Gtk::InfoBarを追加。
* tk::MessageTypeを追加。
* Gtk::ResponseTypeを追加。
* 修正
* GTK+ < 2.12でビルドできなかった問題を修正。
[ruby-gnome2-devel-en] compile problems gtk2, ruby-gnome2-all-1.1.2
[grant schoepさんが報告]
* GTK+ < 2.14でビルドできなかった問題を修正。
[ruby-gnome2-devel-en] NameError: undefined method
`color_selection' for class `Gtk::ColorSelectionDialog'
[grant schoepさんが報告]
==== Ruby/Poppler
* 改良
* [GitHub#97] Poppler::Page#text_layoutを追加。
[Andrey Kutejkoさんがパッチ提供]
* [SF.net#3495948] 不必要なpoppler-cairoチェックを削除。
[Pino Toscanoさんが報告]
* 修正
* [GitHub#96] 子インデックスイテレーターのvalid?の状態を
修正。
[Andrey Kutejkoさんがパッチ提供]
* [GitHub#97] Poppler::Page#get_textの引数チェックを修正。
[Andrey Kutejkoさんが修正]
==== Ruby/VTE
* 修正
* VTE < 0.24でビルドが失敗する問題を修正。
==== Ruby/GStreamer
* 改良
* Gst::Element#seek_simpleを追加。
* 修正
* [GitHub#95] 非同期のテストを修正。
[mtasakaさんが報告]
=== 感謝
* mtasakaさん
* grant schoepさん
* Andrey Kutejkoさん
* Pino Toscanoさん
|
|
From: Kouhei S. <ko...@co...> - 2012-02-26 10:26:46
|
須藤です。 In <CAM...@ma...> "Re: [ruby-gnome2-devel-ja] ruby外のスレッドとの排他制御について" on Thu, 16 Feb 2012 07:34:47 +0900, Masaaki Aoyagi <mas...@gm...> wrote: > rubyのスレッドからG_PROTECT_CALLBACKが呼ばれた際は、そのままコールバック処理を行い、 > それ以外の場合は、コールバックのたびにスレッドを生成しているように見えますが、コールバックのような > 処理には重い処理を書くべきではないと思うので、スレッドを生成する必要はないのではないでしょうか? rbgutil-callback.c:mainloopの中のrb_thread_create()のところ ですね。たしかにそうですね! スレッドプールを作って頑張るのがスジなんですかねぇ。でも、ど うせRubyのスレッドは同時に複数動かないだろうからmainloop()の 中で直接process_request()しちゃってよい気もしますね。。。 |
|
From: Kouhei S. <ko...@co...> - 2012-02-24 09:12:44
|
須藤です。 In <CAM...@ma...> "[ruby-gnome2-devel-ja] Ruby 1.8サポートについて" on Sun, 19 Feb 2012 17:43:08 +0900, Masaaki Aoyagi <mas...@gm...> wrote: > Ruby 1.8のサポートをいずれ終了することになると思いますが、Ruby-GNOME2プロジェクト全体で > 一斉に終了することになる予定でしょうか? 順次の方がいいかと思います。 > もし、パッケージ毎に順次ということであれば、gtk3など新しいパッケージについては1.8サポートを > 切っておきたいと思うのですが、いかがでしょうか? いいと思います! gemspecに↓みたいなのをいれておけばいいはずです。 spec.required_ruby_version = '>= 1.9.2' |
|
From: Masaaki A. <mas...@gm...> - 2012-02-19 08:43:15
|
青柳です。 Ruby 1.8のサポートをいずれ終了することになると思いますが、Ruby-GNOME2プロジェクト全体で 一斉に終了することになる予定でしょうか? もし、パッケージ毎に順次ということであれば、gtk3など新しいパッケージについては1.8サポートを 切っておきたいと思うのですが、いかがでしょうか? |
|
From: Masaaki A. <mas...@gm...> - 2012-02-15 22:34:53
|
青柳です。 >> それと、gstreamerでは確かにrbgutil_start_callback_dispatch_threadを使用しているのですが、 >> G_PROTECT_CALLBACKを使っておらず、rbgutil_start_callback_dispatch_threadを無効に >> しても動くようなので、この仕組みを使ってない気もするのですが、何か勘違いしてますでしょうか? > > あれ、そうですか。 > sample/type-find.rbなんかは > rbgutil_start_callback_dispatch_thread()なしで動かすと↓とい > うのがでませんか? すみません、その通りでした。 それとrbgutil_callback.cを見ていて疑問があるので、教えてください。 rubyのスレッドからG_PROTECT_CALLBACKが呼ばれた際は、そのままコールバック処理を行い、 それ以外の場合は、コールバックのたびにスレッドを生成しているように見えますが、コールバックのような 処理には重い処理を書くべきではないと思うので、スレッドを生成する必要はないのではないでしょうか? |
|
From: Kouhei S. <ko...@co...> - 2012-02-05 09:45:49
|
須藤です。 In <CAM...@ma...> "Re: [ruby-gnome2-devel-ja] ruby外のスレッドとの排他制御について" on Sun, 5 Feb 2012 08:34:37 +0900, Masaaki Aoyagi <mas...@gm...> wrote: >> で、Ruby/GStreamerはどうしているのかというと、Rubyのものじゃ >> ないスレッドからシグナルが飛んできたらRubyのスレッドでイベン >> トを処理して、元のシグナルを受け取ったスレッドにもどしてやる、 >> ということをしています。 >> rbgutil_start_callback_dispatch_thread()というのを呼ぶとこれ >> が動き出すようになります。 > > なるほど。rbgutil_start_callback_dispatch_threadでコールバック処理用のスレッドを動かした上で、 > G_PROTECT_CALLBACKでコールバック処理を依頼すると理解して、そのようにしたら一応 > 動くことが確認できました。 はい、それであっています。 ただ、ふつうのGLibからくるシグナルはRuby/GLib2内部で勝手に G_PROTECT_CALLBACKで呼び出すようになっているので、ふつうは G_PROTECT_CALLBACKを明示的に呼び出さなくてもよいはずです。 たとえば、GLib::Timeout.addとかは自分でブロックを実行するので G_PROTECT_CALLBACKを呼び出さないといけません。(でも、まだ呼 び出すようになっていません。。。) > ただ、自分の作っているアプリでは、デッドロックに入ったような状態になることがあるようで、 > まだ若干怪しいです。 うーん、この仕組みを使っているのがRuby/GStreamerだけでそんな に枯れているとはいえないのでまだ見落としているケースがあるか もです。。。 > それと、gstreamerでは確かにrbgutil_start_callback_dispatch_threadを使用しているのですが、 > G_PROTECT_CALLBACKを使っておらず、rbgutil_start_callback_dispatch_threadを無効に > しても動くようなので、この仕組みを使ってない気もするのですが、何か勘違いしてますでしょうか? あれ、そうですか。 sample/type-find.rbなんかは rbgutil_start_callback_dispatch_thread()なしで動かすと↓とい うのがでませんか? ** ERROR **: Please call rbgutil_start_callback_dispatch_thread() to dispatch a callback from non-ruby thread before callbacks are requested from non-ruby thread. >>> ちなみに、このバインディングはGTK向けであることと、メンテ(特にリファレンス)を手伝って欲しいなぁ >>> と思っているので、もしまともに動くようになったらRuby-GNOME2プロジェクトに入れて頂くことは >>> 可能でしょうか? >> >> あ、今の状態でいれちゃっていいですよ。 >> リポジトリに入っていたほうが参照しやすいですし。 > > ありがとうございます! > 早速入れちゃいました。 ありがとうございます! |
|
From: Masaaki A. <mas...@gm...> - 2012-02-04 23:34:43
|
青柳です。 > で、Ruby/GStreamerはどうしているのかというと、Rubyのものじゃ > ないスレッドからシグナルが飛んできたらRubyのスレッドでイベン > トを処理して、元のシグナルを受け取ったスレッドにもどしてやる、 > ということをしています。 > rbgutil_start_callback_dispatch_thread()というのを呼ぶとこれ > が動き出すようになります。 なるほど。rbgutil_start_callback_dispatch_threadでコールバック処理用のスレッドを動かした上で、 G_PROTECT_CALLBACKでコールバック処理を依頼すると理解して、そのようにしたら一応 動くことが確認できました。 ただ、自分の作っているアプリでは、デッドロックに入ったような状態になることがあるようで、 まだ若干怪しいです。 それと、gstreamerでは確かにrbgutil_start_callback_dispatch_threadを使用しているのですが、 G_PROTECT_CALLBACKを使っておらず、rbgutil_start_callback_dispatch_threadを無効に しても動くようなので、この仕組みを使ってない気もするのですが、何か勘違いしてますでしょうか? >> ちなみに、このバインディングはGTK向けであることと、メンテ(特にリファレンス)を手伝って欲しいなぁ >> と思っているので、もしまともに動くようになったらRuby-GNOME2プロジェクトに入れて頂くことは >> 可能でしょうか? >> ライセンス的にはlibVLCの1.2からLGPLに変わったそうなので、問題ないと思います。 >> (このバインディングはlibVLC 2.0以降対応としています) > > あ、今の状態でいれちゃっていいですよ。 > リポジトリに入っていたほうが参照しやすいですし。 ありがとうございます! 早速入れちゃいました。 |
|
From: Kouhei S. <ko...@co...> - 2012-02-03 15:20:11
|
須藤です。 In <CAM...@ma...> "[ruby-gnome2-devel-ja] ruby外のスレッドとの排他制御について" on Fri, 3 Feb 2012 22:09:29 +0900, Masaaki Aoyagi <mas...@gm...> wrote: > Linux環境で使われているメディア再生エンジンとして、gstreamer、mplayer、vlcが > 代表的だと思いますが、一長一短な所があるのでエンジンを切り替えられるメディアプレイヤーを > 作ろうとしています。そこで、rubyからvlcを利用するための便利なライブラリが見つからなかったので > glibの勉強がてらGTK向けのlibVLCバインディングを書いてみました。 おぉ!すばらしい! > ただ、イベント処理について問題があるので、分かりましたら教えて頂けないでしょうか? > > 問題点: > 例えば、以下のようにイベント処理を入れただけで、GTKのシグナルを受け付けなくなることがある。 > (GTKのメインループが止まっている?) > player.attach_event(:mediaplayer_playing) do |player, event| > p :mediaplayer_playing > end > > 分かっていること: > * libVLCのイベントは、ruby外で生成されたスレッドから上がってくる > * 試しに、rbglib_maincontext.cのrg_poll内の > rb_thread_blocking_region(rg_poll_in_blocking, &info, RUBY_UBF_IO, NULL); > を > rg_poll_in_blocking(&info); > のようにして、GVL解除をしないようにしてやると、この問題に関しては起こらなくなるよう。 > * 何故かサンプルスクリプトのsimple.rbは問題が起こらない > > 恐らくruby外で生成されたスレッドとメインスレッドとの間で何らかの排他制御が必要 > ということなのだと思いますが、こういった場合どういう対応をするのが良いのでしょうか? この説明を読んだだけでまだ動かしていないのですが、GStreamer と同じような仕組みな気がします。GStreamerもGStreamerが作った スレッドからシグナルが飛んできます。(ここでいうシグナルはOS のシグナルじゃなくてGLibのシグナルのことです。念のため。) で、Ruby/GStreamerはどうしているのかというと、Rubyのものじゃ ないスレッドからシグナルが飛んできたらRubyのスレッドでイベン トを処理して、元のシグナルを受け取ったスレッドにもどしてやる、 ということをしています。 rbgutil_start_callback_dispatch_thread()というのを呼ぶとこれ が動き出すようになります。 > ちなみに、このバインディングはGTK向けであることと、メンテ(特にリファレンス)を手伝って欲しいなぁ > と思っているので、もしまともに動くようになったらRuby-GNOME2プロジェクトに入れて頂くことは > 可能でしょうか? > ライセンス的にはlibVLCの1.2からLGPLに変わったそうなので、問題ないと思います。 > (このバインディングはlibVLC 2.0以降対応としています) あ、今の状態でいれちゃっていいですよ。 リポジトリに入っていたほうが参照しやすいですし。 |
|
From: Masaaki A. <mas...@gm...> - 2012-02-03 13:09:39
|
青柳です。
Linux環境で使われているメディア再生エンジンとして、gstreamer、mplayer、vlcが
代表的だと思いますが、一長一短な所があるのでエンジンを切り替えられるメディアプレイヤーを
作ろうとしています。そこで、rubyからvlcを利用するための便利なライブラリが見つからなかったので
glibの勉強がてらGTK向けのlibVLCバインディングを書いてみました。
ただ、イベント処理について問題があるので、分かりましたら教えて頂けないでしょうか?
問題点:
例えば、以下のようにイベント処理を入れただけで、GTKのシグナルを受け付けなくなることがある。
(GTKのメインループが止まっている?)
player.attach_event(:mediaplayer_playing) do |player, event|
p :mediaplayer_playing
end
分かっていること:
* libVLCのイベントは、ruby外で生成されたスレッドから上がってくる
* 試しに、rbglib_maincontext.cのrg_poll内の
rb_thread_blocking_region(rg_poll_in_blocking, &info, RUBY_UBF_IO, NULL);
を
rg_poll_in_blocking(&info);
のようにして、GVL解除をしないようにしてやると、この問題に関しては起こらなくなるよう。
* 何故かサンプルスクリプトのsimple.rbは問題が起こらない
恐らくruby外で生成されたスレッドとメインスレッドとの間で何らかの排他制御が必要
ということなのだと思いますが、こういった場合どういう対応をするのが良いのでしょうか?
ちなみに、このバインディングはGTK向けであることと、メンテ(特にリファレンス)を手伝って欲しいなぁ
と思っているので、もしまともに動くようになったらRuby-GNOME2プロジェクトに入れて頂くことは
可能でしょうか?
ライセンス的にはlibVLCの1.2からLGPLに変わったそうなので、問題ないと思います。
(このバインディングはlibVLC 2.0以降対応としています)
とりあえず、現状のソース(gem)を添付します。 |
|
From: Kouhei S. <ko...@co...> - 2012-01-15 12:00:18
|
須藤です。 In <CAM...@ma...> "Re: [ruby-gnome2-devel-ja] Ruby/GTK3のサンプルを動くようにするパッチ" on Sun, 15 Jan 2012 18:50:19 +0900, Masaaki Aoyagi <mas...@gm...> wrote: >> 英語のMLの方でCarlo E. Prelzさんがgtk3/sample/misc/以下のサン >> プルの一部を動くようにするパッチを作ってくれました。 >> >> http://sourceforge.net/mailarchive/message.php?msg_id=28677678 >> パッチ: http://sourceforge.net/mailarchive/attachment.php?list_name=ruby-gnome2-devel-en&message_id=20120115081011.GB26741%40fluido.as&counter=1 >> >> 青柳さん、たくさんあるのですが、取り込めそうなところは取り込 >> んでもらえませんか? > > 分かりました。見てみます。 ありがとうございます! > ただ、英語MLの方のやり取りを見ていて、GTK3がもう使える状態だと誤解されていないか > ちょっと心配になっているのですが、大丈夫でしょうか? うーん、まぁ、サンプルがどのくらい動くかがわかれば、どのよう な状態なのかは伝わるのではないかと思います。 > # バグを盛り込んでいたようで、お手数おかけしてます。 いえいえ。 テストを追加したので、次からは同じような問題がだいぶ起こりづ らくなると思います。 |
|
From: Masaaki A. <mas...@gm...> - 2012-01-15 09:50:25
|
青柳です。 > 英語のMLの方でCarlo E. Prelzさんがgtk3/sample/misc/以下のサン > プルの一部を動くようにするパッチを作ってくれました。 > > http://sourceforge.net/mailarchive/message.php?msg_id=28677678 > パッチ: http://sourceforge.net/mailarchive/attachment.php?list_name=ruby-gnome2-devel-en&message_id=20120115081011.GB26741%40fluido.as&counter=1 > > 青柳さん、たくさんあるのですが、取り込めそうなところは取り込 > んでもらえませんか? 分かりました。見てみます。 ただ、英語MLの方のやり取りを見ていて、GTK3がもう使える状態だと誤解されていないか ちょっと心配になっているのですが、大丈夫でしょうか? 自分の感覚では、当分リリースできる状態にはならないと思っています。 # バグを盛り込んでいたようで、お手数おかけしてます。 |
|
From: Kouhei S. <ko...@co...> - 2012-01-15 09:24:12
|
須藤です。 英語のMLの方でCarlo E. Prelzさんがgtk3/sample/misc/以下のサン プルの一部を動くようにするパッチを作ってくれました。 http://sourceforge.net/mailarchive/message.php?msg_id=28677678 パッチ: http://sourceforge.net/mailarchive/attachment.php?list_name=ruby-gnome2-devel-en&message_id=20120115081011.GB26741%40fluido.as&counter=1 青柳さん、たくさんあるのですが、取り込めそうなところは取り込 んでもらえませんか? |
|
From: Kouhei S. <ko...@co...> - 2012-01-15 09:06:47
|
須藤です。
Ruby-GNOME2プロジェクトはRuby-GNOME2 1.1.2をリリースしまし
た。
やっぱり残念ながらGTK+ 3対応版ではありません。。。
1.1.1のバグフィックスリリースです。gemでインストールしている
人はアップグレードする必要はありません。
ruby-gtk2-X.Y.Z.tar.gzやruby-gnome2-all-X.Y.Z.tar.gzから
extconf.rb && make installでインストールしている人はアップグ
レードをオススメします。ヘッダーファイルの一部がインストール
されないため、Ruby-GNOME2のライブラリに依存したライブラリの
ビルドに失敗してしまいます。
== インストール方法
% gem install gtk2
== Ruby-GNOME2 1.1.2: 2012-01-15
1.1.1のバグフィックスリリースです。
=== 変更点
==== Ruby/GLib2
* 修正
* [GitHub#94] インストールされるべきヘッダーファイルをちゃ
んとインストールするようにした。
[mtasakaさんが報告]
==== Ruby/Pango
* 修正
* [GitHub#94] インストールされるべきヘッダーファイルをちゃ
んとインストールするようにした。
[mtasakaさんが報告]
==== Ruby/GdkPixbuf2
* 修正
* [GitHub#94] インストールされるべきヘッダーファイルをちゃ
んとインストールするようにした。
[mtasakaさんが報告]
=== 感謝
* mtasakaさん
|
|
From: Kouhei S. <ko...@co...> - 2012-01-14 08:36:17
|
須藤です。
Ruby-GNOME2プロジェクトはRuby-GNOME2 1.1.1をリリースしまし
た。
残念ながらGTK+ 3対応版ではありません。。。
1.1.0のバグフィックスリリースです。1.1.0で入ってしまったバグ
のおかげでRabbitとかが動かなくなったので、Rabbitとかを使って
いる人はアップグレードをオススメします。
== インストール方法
% gem install gtk2
== Ruby-GNOME2 1.1.1: 2012-01-14
1.1.0のバグフィックスリリースです。
=== このリリースの概要
==== Ruby/GLib2
* 修正
* [ruby-list:48587] Re: [ANN] Ruby-GNOME2 1.1.0
GLib::IOChannelWin32Socketの親クラスがおかしい問題を修正。
[ashbbさんが報告]
==== Ruby/GTK2
* 修正
* Gtk::ActionGroup#add_radio_actionsが常に失敗する問題を
修正。
==== Ruby/GStreamer
* 改良
* [win32] FLAC対応。
=== 感謝
* ashbbさん
|
|
From: Kouhei S. <ko...@co...> - 2012-01-08 12:52:22
|
須藤です。
In <CAM...@ma...>
"Re: [ruby-gnome2-devel-ja] gtk3のdrawシグナルについて" on Sun, 8 Jan 2012 07:12:06 +0900,
Masaaki Aoyagi <mas...@gm...> wrote:
>> g_type_from_name("CairoContext")はCAIRO_GOBJECT_TYPE_CONTEXT
>> でいけそうな気がします。
>
> ありがとうございます。
> これ探してたのですが、見つけられなくて。。。
あぁ、これはGObjectとかGDKじゃなくてcairoに入っている
cairo-gobjectの中なんですよ。見つけづらいですよねぇ。
|
|
From: Masaaki A. <mas...@gm...> - 2012-01-07 22:12:12
|
青柳です。
> g_type_from_name("CairoContext")はCAIRO_GOBJECT_TYPE_CONTEXT
> でいけそうな気がします。
ありがとうございます。
これ探してたのですが、見つけられなくて。。。
|
|
From: Kouhei S. <ko...@co...> - 2012-01-07 13:46:23
|
須藤です。
In <CAM...@ma...>
"[ruby-gnome2-devel-ja] gtk3のdrawシグナルについて" on Fri, 6 Jan 2012 19:29:59 +0900,
Masaaki Aoyagi <mas...@gm...> wrote:
> [ruby-gnome2-devel-en] Gtk3: how to use Gtk::DrawingArea Windows
> にて指摘されてしまったので、drawシグナルの対応をしてみました。
> 一応、以下のようにすれば動くのですが、正しい対応かどうかははっきりしません。
> これで、いいでしょうか?
これで動くようになるのであればこれでOKだと思います。
(GTK+ 3でDrawingAreaのAPIがどうかわったかを把握していなく
て。。。)
> static VALUE
> cairo_context_gvalue2rvalue(const GValue *value)
> {
> return CRCONTEXT2RVAL(g_value_get_boxed(value));
> }
>
> void
> Init_conversions(void)
> {
> rbgobj_register_g2r_func(g_type_from_name("CairoContext"),
> cairo_context_gvalue2rvalue);
> }
g_type_from_name("CairoContext")はCAIRO_GOBJECT_TYPE_CONTEXT
でいけそうな気がします。
|