Anyone knows that creating transitions (animations) using GTK+ is not the easiest thing to do. So after some discussions with Renato we came up with a API to make it easier.
So today I sat down and wrote GtkTransition, a class written on top of GtkTimeline  that allows you to create transitions as natural as it can be. It's similar to what Flash does to create animations, but with some small differences.
Basically you create a transition with an interval (eg. 2 seconds) and add states for this transition. States work directly on objects properties, so you can say for example, create a state that will complete when the transition reaches 50% that will set the label angle from 0 to 360 degrees. After that create another state that will complete on 100% of the transition that will set the same angle from 360 to 0 degreess and depends on the first state (it will start after the first state has completed).
The code looks something like:
transition = gtk_transition_new (2000);
gtk_timeline_set_loop (GTK_TIMELINE (transition), TRUE);
state1 = gtk_transition_state_new (G_OBJECT (label));
gtk_transition_state_set (state1, "angle", 0.0, 360.0, NULL);
gtk_transition_add_state (transition, state1, NULL, 0.5);
state2 = gtk_transition_state_new (G_OBJECT (label));
gtk_transition_state_set (state2, "angle", 360.0, 0.0, NULL);
gtk_transition_add_state (transition, state2, state1, 1.0);
gtk_timeline_start (GTK_TIMELINE (transition));
The code is not complete yet, but you can grab it with:
$ svn checkout http://andrunko.googlecode.com/svn/trunk/gtk
There is a test1.c that shows the code to rotate the label, and test2.c that translate and resize a GooCanvasItem (you need goocanvas  to compile it)
Patches and ideas are welcome!
Hope you enjoy
Edit: updated code snippet