2007-09-17  Emmanuele Bassi  <ebassi@openedhand.com>

	* configure.ac:
	* README:
	* NEWS: Release PyClutter 0.4.2

2007-09-17  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-behaviour.override: Do not require the
	gravity parameter for the clutter.BehaviourScale ctor,
	but default to clutter.GRAVITY_NONE instead.

2007-09-15  Emmanuele Bassi  <ebassi@openedhand.com>

	Backport from trunk

	* clutter/clutter-behaviour.override: Do not segfault when
	an invalid number of arguments is passed to the various
	behaviours constructors. (#506, Giuliani Vito Ivan)

2007-09-15  Emmanuele Bassi  <ebassi@openedhand.com>

	Backport from trunk

	* clutter/clutter-color.override: Initialise the value of
	the color components, so that clutter.Color() does the
	right thing. (#507, Giuliani Vito Ivan)

2007-09-13  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-behaviour.override: Add more sanity checks
	on the arguments passed to the alpha functions.

2007-09-03  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-behaviour.override: Fix the name of the
	properties in the clutter.BehaviourDepth constructor.

2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-boxed.override: Fix clutter.Margin() and
	clutter.Padding() constructors.

	* clutter/clutter-event.override: Ignore clutter_event_copy()
	and clutter_event_free(), as we're not supposed to pass events
	as boxed types.

	* clutter/clutter-base.defs: Add fake constructors for
	clutter.ActorBox, clutter.Margin and clutter.Padding.

2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter.override: Override clutter.init() and pass the
	command line arguments from sys.argv.

	* clutter/cluttermodule.c:
	* clutter/__init__.py: Lazily initialise the clutter module, instead
	of initialising when loading the shared library.

2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>

	* configure.ac: Post release bump to 0.4.2.

2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>

	* README:
	* configure.ac: Bump up to 0.4.1 and require the new stable relase
	of Clutter

	* clutter/clutter-base.defs: Add new API.

	* clutter/clutter.override: Ignore clutter_effect_depth() and
	override clutter_threads_enter() to release the Python interpreter
	lock before acquiring the Clutter lock and reacquire it afterwards.

2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>

	Backport from trunk

	* clutter/clutter-base.defs: Add fake constructors for the boxes
	types we wrap.

	* clutter/clutter-actor.override: Override the set_geometry() and
	get_geometry() methods to return and accept a 4-tuple.

	* clutter/pyclutter.[ch]: Add a conversion function for PyObject
	to ClutterGeometry.

2007-08-07  Emmanuele Bassi  <ebassi@openedhand.com>

	* configure.ac:
	* README:
	* NEWS: Update and release 0.4.0 (see svn log for details).

2007-03-26  Emmanuele Bassi  <ebassi@openedhand.com>

	* examples/Makefile.am:
	* examples/hello.py: Add 'hello world' example.

2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>

	* configure.ac: Bump to 0.3.0.

2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>

	* configure.ac: Bump to 0.2.0.

	* configure.ac:
	* Makefile.am: Remove clutter-gst from the build
	until it's fixed.

	* README: Add README.

2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter-gst/cluttergst.defs:
	* clutter-gst/cluttergst.override:
	* clutter-gst/cluttergstmodule.c:
	* clutter-gst/Makefile.am: Update clutter.gst module for
	the ClutterGst library.

	* Makefile.am:
	* configure.ac: Drop the ClutterGtk wrapper from the build;
	compile ClutterGst wrapper conditionally if the clutter-gst
	library is installed; require the newly release clutter 0.2.

	* clutter/clutter-base.defs: Add missing methods.

	* examples/behave.py: Add BehaviourScale object.

2006-12-22  Matthew Allum  <mallum@openedhand.com>

	* pyclutter.doap:
	Fix so parse-able.

2006-12-19  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter.override: Override clutter_label_set_color()
	to use the tuple/object color API like the stage and rectangle
	actors.

2006-12-19  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-behaviour.override: Add more checks and
	decrement reference count of the right objects.

	* clutter/pyclutter.c: Do not decrement the reference count
	of the callback arguments tuple after we're done with it,
	and let the garbage collector do its thing (fixes a reference
	counting bug in the alpha notify function).

2006-12-15  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/Makefile.am:
	* clutter/keysyms.py: Add the key symbols list, and use the
	pygtk lazy loading facility (currently, calls gtk._lazyutils
	but might be useful to install our own copy?) to load what's
	needed only when it's needed.

2006-12-15  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-base.defs: Add the ClutterMedia virtual
	functions, so that you can implement the ClutterMedia
	interface in pure python.

2006-12-15  Emmanuele Bassi  <ebassi@openedhand.com>

	* examples/rects.py:
	* examples/behave.py: Update examples code.

2006-12-15  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-boxed.override: Remove the ClutterColor
	overridden methods here and put them into clutter-color.override.

	* clutter/pyclutter.h:
	* clutter/pyclutter.c: Allow conversion from a 4-tuple to
	a ClutterColor; this is a shortcut for functions taking only
	a single color parameter, but must be explicitely overridden
	to allow this behaviour.

	* clutter/clutter-color.override: Put everything concerning
	ClutterColor here; wrap ClutterColor into its own boxed type
	to avoid having to reimplement color-related functions for
	three types of data (integers, tuples and dictionaries); now
	to create a color use clutter.Color(red,green,blue,alpha)
	like pygtk; wrap color_from_hls() and color_from_pixel() as
	package functions; wrap to_hls(), to_pixel(), shade(),
	darken() and lighten() as instance methods.

	* clutter/clutter.override: Include clutter-color.override;
	update overridden color setters and color getters.

	* clutter/clutter-base.defs:
	* clutter/clutter-base-types.defs:
	* clutter/Makefile.am: Update build and codegen glue.

	* examples/rects.py:
	* examples/behave.py: Update examples.

2006-12-14  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter.override: Update the rest of the clutter
	color API to accept tuples, except clutter.color_from_hls()
	which will accept a tuple, a dictionary or three integers.

2006-12-14  Emmanuele Bassi  <ebassi@openedhand.com>

	* examples/rects.py:
	* examples/behave.py: Update examples.

2006-12-14  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-base.defs: Add clutter_feature_available(),
	clutter_color_equal(), clutter_actor_show_all() and
	clutter_actor_hide_all().

	* clutter/clutter.override: Provide the correct implementation
	of clutter.color_parse(); ignore clutter_color_equal(), as
	python already has an equality test for tuples; allow passing
	a tuple instead of a tuple of args to clutter.Stage.set_color()
	and clutter.Rectangle.set_color(): now we can use the

		stage.set_color(clutter.color_parse('DarkSlateGray'))
	
	idiomatic construct and everything will work as expected; this
	breaks backward compatibility: you *must* pass a tuple, not
	four arguments.

2006-12-12  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-behaviour.override: Add more checks in the
	do_alpha_notify caller; fix a reference count bug: the alpha
	value python object got unreffed twice.

2006-12-11  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-behaviour.override: Check for a callable
	function inside the clutter.Alpha constructor; wrap the
	clutter.Behaviour.get_actors() method; override the alpha_notify
	virtual method and proxy, and allow the creation of pure
	python behaviours.

	* clutter/clutter-base.defs: Add missing methods.

	* clutter/pyclutter.c: Add some checks; use PyObject_CallObject()
	instead of the generic PyObject_Call(): should be a bit faster.

	* examples/behave.py: Add an example of a pure python behaviour.

2006-12-11  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/pyclutter.h:
	* clutter/pyclutter.c: Use a better callback mechanism
	for the invocation of callable functions; still rough,
	and needs type checking on the parameters.  one might
	wonder why pygobject bindings don't provide such mechanism
	in the first place.  machinery heavily borrowed from the
	perl bindings.

	* clutter/clutter.override:
	* clutter/clutter-behaviour.override: Update PyClutterCallback
	usage.

	* examples/behave.py: Add another behaviour for testing.

2006-12-07  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-base.defs: Add declaration for the
	vfunc ClutterBehaviour::alpha_notify; now you can
	subclass clutter.Behaviour and override do_alpha_notify
	to create a pure python behaviour.

	* clutter/clutterpython.c:
	* clutter/pyclutter.c: Rename the helper utils code.

	* Makefile.am: Update with the renamed helper file.

	* clutter-gst/clutter-gst.defs:
	* clutter-gst/clutter-gst-types.defs: Add defs file
	for the clutter-gst sub-module.

	* configure.ac:
	* Makfile.am: Add support for the sub-modules; use the
	--with-clutter-gtk and --with-clutter-gst configure
	switch to enable their compilation; fixed the --enable-doc
	switch.

	* clutter-gst/Makefile.am:
	* clutter-gtk/Makefile.am: Build glue for the sub-modules.

	* docs/reference/Makefile.am: Add.

2006-12-06  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-behaviour.override: Ignore the single
	knot clutter_behaviour_path_append_knot(): we have append_knots();
	add more type error checking inside both the BehaviourPath
	constructor and append_knots(): we accepts only tuples of
	pairs, as a knot is immutable once inside the path.

	* examples/behave.py: Add a append_knots() call to test it.

2006-12-06  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter.override:
	* clutter/clutter-base.defs:
	* clutter/clutter-base-types.defs: Update with upstream
	API additions:

		clutter.Rectangle_get_border_color
		clutter.Rectangle.set_border_color
		clutter.Rectangle.get_border_width
		clutter.Rectangle.set_border_width
	
	use the new style for constructors

	* clutter/clutter-behaviour.override: Update the clutter.Alpha
	constructor to accept a function and a timeline as optional
	arguments; override the clutter.BehaviourPath constructor to
	accept a tuple of (x, y) pairs as knots.

	* clutter/clutterpython.c: Use the right object as the caller.

	* clutter/__init__.py: Relay the MAX_ALPHA C macro as a module
	variable; provide pure python implementations of the alpha
	functions.

	* docs/update-bindings.txt: Add a checklist for updating the
	bindings when upstream changes.

	* configure.ac: Add a check for building docs if xsltproc is
	available; now all that's left to do is to use the pygtk
	xslt and write the docs.

	* examples/behave.py: Simple porting of the upstream behave
	example program.

2006-11-19  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-behaviour.override: Implement the
	clutter.Knot boxed type as a tuple of two integers.

2006-11-19  Emmanuele Bassi  <ebassi@openedhand.com>

	The coverage of global functions is 100.00% (18/18)
	The coverage of methods is 100.00% (145/145)

	* clutter/clutter-behaviour.override: Implement the
	final missing method: clutter.BehaviourPath.append_knots().

2006-11-19  Emmanuele Bassi  <ebassi@openedhand.com>

	The coverage of global functions is 100.00% (18/18)
	The coverage of methods is 99.31% (144/145)

	* clutter/clutter.override: Implement the
	clutter.Group.get_children() method.

	* clutter/clutter-behaviour.override: Remove the empty
	clutter.BehaviourPath.append_knots() stub; implement the
	clutter.BehaviourPath.get_knots() method.

2006-11-19  Emmanuele Bassi  <ebassi@openedhand.com>

	The coverage of global functions is 100.00% (18/18)
	The coverage of methods is 98.62% (143/145)

	* clutter/pyclutter.h:
	* clutter/clutterpython.c: Add and optional "caller" argument
	to pyclutter_callback_invoke(): use this argument to change
	the caller (i.e. the first argument) of the callback from the
	default (the instance of the class).

	* clutter/clutter.override: Implement clutter.Group.foreach().

	* clutter/clutter-behaviour.override: Implement the
	clutter.Behaviour.actors_foreach() method.

	* examples/rects.py: Check if the clutter.Group.foreach()
	method works.

2006-11-18  Emmanuele Bassi  <ebassi@openedhand.com>

	* configure.ac: Bump to 0.1.2.

2006-11-18  Emmanuele Bassi  <ebassi@openedhand.com>

	The coverage of global functions is 100.00% (18/18)
	The coverage of methods is 97.24% (141/145)

	* clutter/Makefile.am: Move back clutter inside a non-versioned
	module; we don't need the stuff pygtk uses to load the right
	version.

	* clutter/pyclutter.pc.in: Add Cflags section and the include
	directory variable.

	* clutter/pyclutter.h:
	* clutter/clutterpython.c: Utility header for easier bindings;
	added PyClutterCallback, a wrapper for invoking callbacks; this
	should really go into pygtk, though - luckily for us, the Perl
	bindings are more friendly.

	* clutter/cluttermodule.c: Update with the correct prefix.

	* clutter/clutter.override:
	* clutter/clutter-behaviour.override: Implement the
	missing clutter.Alpha.set_func() method using the newly
	added PyClutterCallback.

	* examples/rects.py: Print the version tuple.

2006-11-18  Emmanuele Bassi  <ebassi@openedhand.com>

	The coverage of global functions is 100.00% (18/18)
	The coverage of methods is 96.55% (140/145)

	* clutter/clutter-behaviour.override: Add override for
	behaviours and alpha objects; add the convenience alpha
	functions to the ignore-list.

	* clutter/Makefile.am:
	* clutter/clutter.override: Update.

2006-11-18  Emmanuele Bassi  <ebassi@openedhand.com>

	The coverage of global functions is 81.82% (18/22)
	The coverage of methods is 95.24% (140/147)

	* clutter/clutter-base-types.defs:
	* clutter/clutter-base.defs: Reinstate the base files

	* clutter/clutter-actor.override:
	* clutter/clutter-boxed.override:
	* clutter/clutter-event.override: Move out the overrides
	to their own files, to keep things clean.

	* clutter/Makefile.am: Update.

	* Makefile.am:
	* createdefs.py: Generates the .defs files.

2006-11-17  Emmanuele Bassi  <ebassi@openedhand.com>

	The coverage of global functions is 76.19% (16/21)
	The coverage of methods is 91.84% (135/147)

	* clutter/clutter.defs: Sync with upstream API changes - hopefully,
	the API should be a bit more stable now.

2006-11-16  Emmanuele Bassi  <ebassi@openedhand.com>

	The coverage of global functions is 100.00% (16/16)
	The coverage of methods is 92.31% (132/143)

	* clutter/clutter.override: Update from upstream API changes.
	
	* clutter/Makefile.am:
	* clutter/clutter-base.defs:
	* clutter/clutter-base-types.defs:
	* clutter/clutter.defs: Consolidate the definitions inside
	a single file; there's no point making stuff more complicated
	than already is.

2006-11-15  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter.override:
	* clutter/clutter-base.defs:
	* clutter/clutter-base-types.defs: Update after upstream. Still
	doesn't built, but it's a beginning.

2006-07-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* configure.ac: Require clutter 0.1.1 and update our own version.

2006-07-08  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter.override: Add accessors for the clutter.Event
	object (Ross Burton, #104).

	* clutter/clutter-base.defs:
	* clutter/clutter-base-types.defs: Make clutter.event_new the
	constructor for the clutter.Event object, and specify the boxed
	type functions for copy and free.

	* examples/rects.py: Change the example to include the usage of
	the new event accessors.

2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/clutter-base.defs:
	* clutter/clutter-base-types.defs: Resync with the API changes
	inside clutter.

2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/__init__.py: Relay __version__ from the shared object
	to the main package.

2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/cluttermodule.c: Remove the debug messages and fix the
	__version__ tuple generation.

2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>

	* clutter/Makefile.am: Install a _clutter shared object and then add
	a __init__.py loading the right namespace.

2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>

	* pyclutter/*
	* *: Move python bindings out of tree.

2006-06-23  Ross Burton  <ross@openedhand.com>

	* python/Makefile.am:
	Fix -avoid-version so we don't install clutter.so.0.0.0.

2006-06-22  Emmanuele Bassi  <ebassi@openedhand.com>

	* python/Makefile.am:
	* python/clutter.override:
	* python/clutter-base.defs:
	* python/clutter-base-types.defs: Bind updated clutter.Timeline API;
	bind clutter.Media interface and clutter.VideoTexture.

2006-06-22  Emmanuele Bassi  <ebassi@openedhand.com>

	* python/Makefile.am:
	* python/pyclutter.pc.in: Add a pkgconfig file in order to
	check for bindings existence.

2006-06-22  Emmanuele Bassi  <ebassi@openedhand.com>

	* python/clutter-base-types.defs: Remove ClutterActorTransform.

2006-06-13  Matthew Allum  <mallum@openedhand.com>

	* ChangeLog:
	* python/Makefile.am:
	* python/clutter-base-types.defs:
	* python/clutter-base.defs:
	* python/clutter.override:
	Rename element -> actor. 
	Disable video texture bindings as to build again.

2006-06-06  Matthew Allum  <mallum@openedhand.com>

	* python/clutter-base.defs:
	Add support for set/get_depth. Fix timeline declaration.

2006-06-05  Emmanuele Bassi  <ebassi@openedhand.com>

	* python/clutter-base-types.defs:
	* python/clutter-base.defs:
	* python/clutter.override: Wrap new API and objects.

2006-05-27  Emmanuele Bassi  <ebassi@openedhand.com>

	* python/clutter-base.defs: Make static functions appear like
	package methods, e.g.: clutter_main() is clutter.main() and
	not clutter.clutter_main().  Changed functions are:
	    C name			  Python name
	  - clutter_main		- clutter.main
	  - clutter_stage		- clutter.stage
	  - clutter_want_debug		- clutter.want_debug
	  - clutter_redraw		- clutter.redraw
	  - clutter_threads_enter	- clutter.threads_enter
	  - clutter_threads_leave	- clutter.threads_leave
	
	* python/clutter.override: Ignore all X11 and GL related
	functions, as we don't have type definitions for them; fix typos
	and cut-and-paste errors; make the threads_enter and main static
	function use the pygobject threading facilities.

	* Makefile.am: Rework the build system.  The defs files have been
	split in two: clutter-base-types.def for the type declarations
	and clutter-base.defs for the methods and functions.  The python
	glue code depends on two auto-generated files: clutter.defs and
	clutter-types.defs; these two files includes the clutter-base
	files.  If the API changes, run "make update-defs": it will
	create a "clutter-api.defs" which should be hand-edited and
	the new sections added to the clutter-base files.  This is needed
	because we do some mangling of the namespace and static functions
	names, so we can't rely on the h2defs generator.

2006-05-27  Emmanuele Bassi  <ebassi@openedhand.com>

	API coverage:
	  - global functions: 71.43% (10/14)
	  - methods:          95.40% (83/87)

	* python/clutter.override: Implement bindings for the missing
	ClutterTexture methods:
	  - get_base_size
	  - get_n_tiles
	  - get_x_tile_detail
	  - get_y_tile_detail
	
	* python/clutter.override: Implement the ClutterGroup.add_many
	method.

2006-05-26  Emmanuele Bassi  <ebassi@openedhand.com>

	* python/clutter-base.defs:
	* python/clutter-base-types.defs:
	* python/clutter.override: Fix ClutterGeometry bindings;
	implement ClutterElementBox bindings.

	* python/Makefile.am: Use variables instead of hard-coded
	file names.

