timelines are more than 52 and continue to remove them
* clutter/clutter-score.c (traverse_children): Don't destroy the
entry in the handler for REMOVE_BY_ID. It will be removed again
anyway in the call to g_node_traverse. This was causing a
crash. Thanks to zhangwei for spotting.
fault in trunk and incorrect appearance in clutter-0.8
* clutter/clutter-score.c (start_children_entries): Check whether
the child timeline is actually attached at a marker before
comparing whether the marker's name matches the marker
reached. This fixes a crash that happens when a marker is reached
on a timeline that also has child timelines attached at the
end. Thanks to zhangwei for spotting.
Bug 1265 - ClutterScore doesn't emit 'started' signal (Bastian
Winkler)
* clutter/clutter-score.c: Emit the ::started signal.
* tests/interactive/test-score.c: Check the emission of the
Score signals.
called on complete
* clutter/clutter-score.c (start_children_entries): Use the name
of the marker to start as the data parameter and only start child
timelines that have the same marker name. Previously the
ClutterScore would just start all child entries when a marker was
reached or the timeline completed regardless of whether they were
added with a marker or not. Thanks to Mihail Naydenov for
reporting the bug.
* doc/reference/clutter/subclassing-ClutterActor.xml: Update the
custom actor example since the Cogl API was changed to namespace
all of the path related functions in cogl_path_*. Thanks to Nati
Berkover.
* clutter/clutter-score.c: Add missing parameter in example of
calling clutter_score_start().
* clutter/clutter-score.c (clutter_score_is_playing): Check
whether priv->running_timelines is NULL before checking its
length.
(foreach_running_timeline): Remove the completed signal handler
when stopping the score. Otherwise the completed callback will get
called multiple times if the timeline is started later.
* clutter/clutter-score.[ch]: Small clean ups and refactoring.
Use gulong instead of guint, so we have a bigger id space for
the timelines inside a Score.
* clutter/clutter-score.[ch]: Remove all the API changes, and
just add a clutter_score_append_at_marker(); the implementation
remains the same, but the marker must be explicitly created by
the developer. The ids are no longer used to create implicit
markers, so they can return to be unsigned integers.
* clutter/clutter-timeline.[ch]:
(clutter_timeline_has_marker): Add a function to query a timeline
for a marker being set.
* tests/test-score.c (main): Update with the API changes.
* clutter.symbols: Update exported symbols.
* clutter.symbols: Add new symbols
* clutter/clutter-score.[ch]: Use the newly added marker API
on the timelines to implement attaching timelines at specific
points, using either milliseconds or frames.
* tests/test-score.c (main): Test the new API.
* clutter/clutter-score.h: Rearrange declarations.
* clutter/clutter-score.c: More documentation in the long
description of the ClutterScore section.
* clutter/clutter-debug.h:
* clutter/clutter-main.c: Add the CLUTTER_DEBUG_SHADER flag,
for debugging the shader calls.
* clutter/clutter-feature.h: Fix the documentation of the
feature flags.
* clutter/Makefile.am: Remove trailing whitespace.
* clutter/clutter-score.[ch]: Reimplement ClutterScore using
a N-ary tree to store the timelines. Remove clutter_score_add():
the same functionality can be achieved by passing a NULL
parent to clutter_score_append().
* tests/test-score.c: Update ClutterScore test unit, and add
debug printouts.