-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
69 lines (53 loc) · 2.4 KB
/
README
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Ruby-Clutter -- Ruby bindings for Clutter-0.8.x
===============================================
This is a set of bindings for the Clutter 0.8 libraries for use from
Ruby.
Install
-------
1. ruby extconf.rb
2. make
3. su
4. make install
Dependencies
------------
To install the bindings the following is also needed:
- Ruby >= 1.8
- Clutter 0.8.x
- Ruby GLib bindings
The optional clutter-gtk bindings depend on the Ruby GTK+ bindings and
clutter-cairo depends on the Ruby clutter bindings.
The clutter-gst bindings depend on the 0.10 version of the GStreamer
bindings available from here:
https://trac.luon.net/ruby-gstreamer0.10/
Issues
------
There's a few issues to be aware of with this release:
- There's no documentation, however the method names try to follow
the same system as the Ruby GTK bindings so you can generally read
the Clutter API documentation and guess the Ruby method. See this
page for details: http://tinyurl.com/3btpoq
- There's no way to implement an interface or override a GObject
method in Ruby code yet. So for example, you can create a Ruby
object that is a subclass of Clutter::Actor, register it as a new
GType and create custom signals, but you can not implement the
ClutterContainer interface.
- There are bindings for clutter_threads_enter and
clutter_threads_leave but you shouldn't need to call these
functions if you are just using regular Ruby threads. Ruby does not
use native threads so there is no need to lock Clutter. If you do
try to grab the Clutter lock in two separate Ruby threads then the
process will block forever because Ruby will not be given a chance
to switch threads while waiting for clutter_threads_enter to
complete. It can however be used in combination with another
library that may create native threads.
- The effect functions can't take a callback block for when the
effect is complete, even though the C API has a parameter for
it. I'm hoping Clutter will eventually get a GDestroyNotify
parameter for the effect functions which would make this a lot
easier.
- Clutter::init isn't explictly called for you when you execute
'require "clutter"'. That way you can optionally use your own
argument array instead of ARGV. However, there appears to be a
problem wrapping clutter-gst before gst_init is called, so if you
execute 'require "clutter_gst"' it *will* explicitly call
clutter_gst_init.