Hi,
I've been puzzling over this for a few days: how does one compile
Clutter 1.4.2 with GI bindings and access that compiled version through
Python? I've been trying to compile it using jhbuild on Ubuntu 10.10
for a while now, and I'm sure I'm missing some bit of important
background knowledge because I just don't know what I should try next.
I've read the officiall docs on compiling with jhbuild, and I get an
assortment of GI related errors on system libraries like Atk.
Are there any examples of how to get this all working together out
there? Where might I start?
Thanks,
Brian
On 02/16/2011 08:21 AM, Bastian Winkler wrote:
Hi,
first of all, you should take a look at GObject Introspection [1], which
which is the modern way to use GObject based libraries (and
applications) from other programming languages. For Python, GI is
provided by PyGObject [2]. Clutter works pretty good with a recent
version of PyObject, but it's not combinable with the "native" PyClutter
bindings. Having that said, the current PyClutter bindings are going to
die in favour of GI with some cosmetic overrides to provide a more
pythonic API.
However, if you still want to use the old-style Python bindings you
should add
import clutter.Model as PyClutterModel_Type
to your override file. Just take a look at [3] to see how this is done
for some pango types in the PyClutter bindings.
so long
:wq buz
[1] http://live.gnome.org/GObjectIntrospection
[2] http://live.gnome.org/PyGObject
[3]
http://git.clutter-project.org/bindings/pyclutter/tree/clutter/clutter.override#n91
On Wed, Feb 16, 2011 at 01:03:13PM +1100, Jamie Lennox wrote:
Hi all,
I'm working on a clutter app and have created a library in C which
provides an object based on a ClutterModel which should be used
outside the library as a ClutterModel.
I now want to pass this off to a GUI written in python (and i
haven't written python bindings before) but i'm pretty sure they are
being generated correctly using the gobject-codegen stuff much of
which i found in the pyclutter makefiles.
However when it comes to compiling the generated .c file i get an error:
'PyClutterModel_Type' undeclared (first use in this function)
from the line:
pygobject_register_class(d, "NeuraMenuDir",
NEURA_TYPE_MENU_DIR,&PyNeuraMenuDir_Type, Py_BuildValue("(O)",
&PyClutterModel_Type));
which appears to say register my type as a subclass of ClutterModel
from pyclutter which is what i want, but PyClutterModel_Type is not
provided by the pyclutter headers. So in the vein of pyclutter i
tried to add:
extern PyTypeObject PyClutterModel_Type;
to the headers section of the override file. This compiles and fails
at runtime because when i look into the generated pyclutter code,
PyClutterModel_Type is defined as:
PyTypeObject G_GNUC_INTERNAL PyClutterModel_Type;
and so -explicitly- not exported from the library.
So the question:
Does this mean that i cannot extend the ClutterModel from C and
provide it through pyclutter? This throws a spanner in things and
multiple days of work out the window.
Otherwise, where did i go wrong?
Thanks for your help,
Jamie Lennox
_______________________________________________
clutter-app-devel-list mailing list
lutter works fine with a recent PyGObject [2] version.
http://lists.clutter-project.org/listinfo/clutter-app-devel-list
_______________________________________________
clutter-app-devel-list mailing list
[email protected]
http://lists.clutter-project.org/listinfo/clutter-app-devel-list
_______________________________________________
clutter-app-devel-list mailing list
[email protected]
http://lists.clutter-project.org/listinfo/clutter-app-devel-list