Forum: Ruby-Gnome 2 [ANN] Ruby-GNOME2 2.0.1

Ee6ffca720cc428d70247dcd7377dd48?d=identicon&s=25 Kouhei Sutou (Guest)
on 2013-05-25 04:59
(Received via mailing list)
Hi,

The Ruby-GNOME2 project released Ruby-GNOME2 2.0.1:
  http://ruby-gnome2.sourceforge.jp/hiki.cgi?News_20130525_1

This release drops Ruby 1.8 support. If you want to use
Ruby-GNOME2 with Ruby 1.8, please use Ruby-GNOME2 < 2.0.1.

This release includes Ruby/ClutterGStreamer that is a
GObject Introspection based bindings for Clutter-GStreamer.
You can embed video into your window by Ruby/GTK3,
Ruby/Clutter, Ruby/ClutterGtk, Ruby/GStreamer and
Ruby/ClutterGStreamer.

== Help us!

=== About Ruby/GTK3

Many sample programs for Ruby/GTK3 aren't migrated from
Ruby/GTK2. They reports many warnings. We want to migrate
all sample programs from Ruby/GTK2. We want you to help us
for the work.

Here are work flows to start the work.

  % gem install gtk3
  % git clone git@github.com:ruby-gnome2/ruby-gnome2.git
  % cd ruby-gnome2/gtk3/gtk-demo
  % ruby main.rb # reports many warnings
  % vim xxx.rb # You fix warnings and errors
    # See Ruby/GTK2 version program to confirm the expected behavior:
    #   % cd ${RUBY_GNOME2_TOP_DIR}/gtk2/gtk-demo
    #   % ruby main.rb
    # And see also the original sample programs in GTK+ 3:
    #   https://git.gnome.org/browse/gtk+/tree/demos/gtk-demo
    # We may have some missing samples. If you find some
    # missing samples, please port it to Ruby/GTK3.

We are happy that you send a pull request for the work.

The above work flows for gtk-demo but there are more samples
in gtk3/misc/ and gtk3/testgtk/. We want you to help us for
the samples.

=== About GObject Introspection bindings

We want to replace existing bindings by GObject
Introspection based bindings. If the bindings is GObject
Introspection ready. To be specific, first we want to
replace Ruby/GStreamer and Ruby/GooCanvas with GObject
Introspection based bindings. Ruby/GStreamer is almost
replaced but many minor APIs aren't confirmed yet.  We want
you to help us for the work.

GStreamer and GooCanvas has many API. So their bindings
aren't completed yet. Their bindings are still
"experimental". And their bindings don't support the latest
version yet.
If we get GObject Introspection based bindings, we can
support the latest version semi automatically. Both
developers and users will be happy.

To be specific, we want you to port sample programs for them
to Ruby.

We want you to port sample programs of GStreamer,
Clutter-GStreamer and GooCanvas to Ruby by requiring those
bindings.

Here are work flows to start the work.

For GStreamer:

  % gem install gobject-introspection
  % git clone git@github.com:ruby-gnome2/ruby-gnome2.git
  % cd ruby-gnome2/gstreamer
  % vim sample/xxx.rb
  require "gst"
  # Port a sample
  % ruby -I sample sample/xxx.rb

You can find samples for GStreamer at
  http://cgit.freedesktop.org/gstreamer/gstreamer/tr...

For example:
  http://cgit.freedesktop.org/gstreamer/gstreamer/tr...

For Clutter-GStreamer:

  % gem install gobject-introspection
  % git clone git@github.com:ruby-gnome2/ruby-gnome2.git
  % cd ruby-gnome2/clutter-gstreamer
  % vim sample/xxx.rb
  require "clutter-gst"
  # Port a sample
  % ruby -I sample sample/xxx.rb

You can find samples for Clutter-GStreamer at
  https://git.gnome.org/browse/clutter-gst/tree/examples

For example:
  https://git.gnome.org/browse/clutter-gst/tree/exam...

There are some JavaScript based examples:
  https://git.gnome.org/browse/clutter-gst/tree/exam...
  https://git.gnome.org/browse/clutter-gst/tree/exam...
  ...

For GooCanvas:

  % gem install gobject-introspection
  % git clone git@github.com:ruby-gnome2/ruby-gnome2.git
  % cd ruby-gnome2/goocanvas
  % vim sample/xxx.rb
  require "goocanvas"
  # Port a sample
  % ruby -I sample sample/xxx.rb

You can find samples for GooCanvas at
  http://git.gnome.org/browse/goocanvas/tree/demo


And we want to use GObject Introspection for new bindings
such as Ruby/WebKitGTK. There are the bindings but it
doesn't have ported samples. We need to port WebKitGTK+
samples to create usable API. Here is work flow to start the
work:

  % gem install gobject-introspection
  % git clone git@github.com:ruby-gnome2/ruby-gnome2.git
  % cd ruby-gnome2/webkit-gtk
  % vim sample/xxx.rb
  require "webkit-gtk"
  # Port a sample
  % ruby -I sample sample/xxx.rb


We are happy that you send a pull request for a sample.

You may find a sample that can't be ported well. If you find
it, please tell us by pull request or sending an email to
this mailing list. The sample may use a feature that is not
implemented in Ruby/GObjectIntrospection.

== Install

  % gem install gtk2
  % gem install gtk3

== Ruby-GNOME2 2.0.1: 2013-05-25

Ruby 1.8 support is dropped release!

=== Changes

==== All

  * Improvements
    * Dropped Ruby 1.8 support.
    * Updated bundled binaries versions for Windows.

==== Ruby/Pango

  * Improvements
    * Added Pango::CairoFontMap.set_default.
    * Enabled fontconfig font on Windows.
    * Defined Pango::CairoFcFontMap on init if it is available.
    * Defined Pango::CairoWin32FontMap on init if it is available.

==== Ruby/GTK3

  * Improvements
    * Added Gtk::Image#set_from_icon_set.
      [GitHub#150] [Patch by Detlef Reichl]
    * Added Gtk::Image#set_from_stock.
      [GitHub#150] [Patch by Detlef Reichl]
    * Added Gtk::Image#set_from_gicon.
      [GitHub#150] [Patch by Detlef Reichl]
    * Updated samples.
      [GitHUb#151] [Patch by Detlef Reichl]
  * Fixes
    * Fixed a GC related crash bug.
      [ruby-gnome2-devel-en] [Reported by Detlef Reichl]

==== Ruby/GObjectIntrospection

  * Improvements
    * Supported ownership transfer for some input argument types.
      (Struct and Object)
    * Supported "(out caller-allocates)" for boxed object.
      [ruby-gnome2-devel-ja] [Reported by Kentaro Fukuchi]
    * Supported gpointer in/out.
      [ruby-gnome2-devel-ja] [Reported by NAKAJIMA Takashi]
  * Fixes
    * Fixed missing argument.
      [GitHub#154] [Reported by Masafumi Yokoyama]

==== RubyGStreamer

  * Improvements
    * Supported methods that call callback
      [ruby-gnome2-devel-ja] [Reported by NAKAJIMA Takashi]
    * Updated samples.
      [GitHub#156][GitHub#159][GitHub#160][GitHub#161]
      [Patch by NAKAJIMA Takashi]
    * Supported Gst::Bus#set_handler.
      [ruby-gnome2-devel-ja] [Reported by NAKAJIMA Takashi]
    * Supported Gst::Controller
      [ruby-gnome2-devel-ja] [Suggested by NAKAJIMA Takashi]
    * Stopped to require Gst.init.
  * Fixes
    * Fixed out of index access bug.

==== Ruby/GooCanvas

  * Improvements
    * Migrated to Ruby/GObjectIntrospection based bindings.
    * Stopped to require Goo.init.
  * Fixes
    * Updated samples.
      [GitHub#152][GitHub#153][GitHub#155][GitHub#157]
      [Patch by Masafumi Yokoyama]

==== Ruby/Clutter

  * Improvements
    * Stopped to require Clutter.init.
  * Fixes
    * Fixed broken samples.
      [ruby-gnome2-devel-ja] [Patch by Kentaro Fukuchi]

==== Ruby/ClutterGtk

  * Improvements
    * Stopped to require ClutterGtk.init.

==== Ruby/ClutterGStreamer

  * Added.

==== Ruby/WebKitGtk

  * Improvements
    * Stopped to require WebKitGtk.init.

==== Ruby/WebKitGtk2

  * Improvements
    * Stopped to require WebKitGtk2.init.

=== Thanks

  * Detlef Reichl
  * NAKAJIMA Takashi
  * Masafumi Yokoyama

Thanks,
--
kou
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.