2007-09-27 21:38:38 +00:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
2008-11-07 19:32:28 +00:00
|
|
|
#include <gmodule.h>
|
2007-09-27 21:38:38 +00:00
|
|
|
#include <clutter/clutter.h>
|
|
|
|
|
2007-12-04 16:26:19 +00:00
|
|
|
static gint level = 1;
|
|
|
|
|
2008-11-14 14:52:35 +00:00
|
|
|
static void
|
|
|
|
on_score_started (ClutterScore *score)
|
|
|
|
{
|
|
|
|
g_print ("Score started\n");
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
on_score_completed (ClutterScore *score)
|
|
|
|
{
|
|
|
|
g_print ("Score completed\n");
|
|
|
|
clutter_main_quit ();
|
|
|
|
}
|
|
|
|
|
2007-12-04 16:26:19 +00:00
|
|
|
static void
|
|
|
|
on_timeline_started (ClutterScore *score,
|
|
|
|
ClutterTimeline *timeline)
|
|
|
|
{
|
|
|
|
gint i;
|
|
|
|
|
|
|
|
for (i = 0; i < level; i++)
|
|
|
|
g_print (" ");
|
|
|
|
|
2009-03-17 14:12:01 +00:00
|
|
|
g_print ("Started timeline: '%s'\n",
|
2007-12-21 15:25:00 +00:00
|
|
|
(gchar *) g_object_get_data (G_OBJECT (timeline), "timeline-name"));
|
2007-12-04 16:26:19 +00:00
|
|
|
|
|
|
|
level += 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
on_timeline_completed (ClutterScore *score,
|
|
|
|
ClutterTimeline *timeline)
|
|
|
|
{
|
|
|
|
gint i;
|
|
|
|
|
|
|
|
level -= 1;
|
|
|
|
|
|
|
|
for (i = 0; i < level; i++)
|
|
|
|
g_print (" ");
|
|
|
|
|
2009-03-17 14:12:01 +00:00
|
|
|
g_print ("Completed timeline: '%s'\n",
|
2007-12-21 15:25:00 +00:00
|
|
|
(gchar *) g_object_get_data (G_OBJECT (timeline), "timeline-name"));
|
2007-12-04 16:26:19 +00:00
|
|
|
}
|
|
|
|
|
2008-11-07 19:32:28 +00:00
|
|
|
G_MODULE_EXPORT int
|
|
|
|
test_score_main (int argc, char **argv)
|
2007-09-27 21:38:38 +00:00
|
|
|
{
|
|
|
|
ClutterScore *score;
|
|
|
|
ClutterTimeline *timeline_1;
|
|
|
|
ClutterTimeline *timeline_2;
|
|
|
|
ClutterTimeline *timeline_3;
|
2007-10-17 23:03:38 +00:00
|
|
|
ClutterTimeline *timeline_4;
|
2008-03-18 17:54:40 +00:00
|
|
|
ClutterTimeline *timeline_5;
|
2008-02-07 11:53:52 +00:00
|
|
|
GSList *timelines;
|
2007-09-27 21:38:38 +00:00
|
|
|
|
|
|
|
clutter_init (&argc, &argv);
|
|
|
|
|
2008-03-18 17:54:40 +00:00
|
|
|
timeline_1 = clutter_timeline_new_for_duration (1000);
|
2007-12-04 16:26:19 +00:00
|
|
|
g_object_set_data_full (G_OBJECT (timeline_1),
|
|
|
|
"timeline-name", g_strdup ("Timeline 1"),
|
|
|
|
g_free);
|
|
|
|
|
2008-03-18 17:54:40 +00:00
|
|
|
timeline_2 = clutter_timeline_new_for_duration (1000);
|
2008-03-18 22:07:17 +00:00
|
|
|
clutter_timeline_add_marker_at_time (timeline_2, "foo", 500);
|
2007-12-04 16:26:19 +00:00
|
|
|
g_object_set_data_full (G_OBJECT (timeline_2),
|
|
|
|
"timeline-name", g_strdup ("Timeline 2"),
|
|
|
|
g_free);
|
|
|
|
|
2008-03-18 17:54:40 +00:00
|
|
|
timeline_3 = clutter_timeline_new_for_duration (1000);
|
2007-12-04 16:26:19 +00:00
|
|
|
g_object_set_data_full (G_OBJECT (timeline_3),
|
|
|
|
"timeline-name", g_strdup ("Timeline 3"),
|
|
|
|
g_free);
|
|
|
|
|
2008-03-18 17:54:40 +00:00
|
|
|
timeline_4 = clutter_timeline_new_for_duration (1000);
|
2007-12-04 16:26:19 +00:00
|
|
|
g_object_set_data_full (G_OBJECT (timeline_4),
|
|
|
|
"timeline-name", g_strdup ("Timeline 4"),
|
|
|
|
g_free);
|
|
|
|
|
2008-03-18 17:54:40 +00:00
|
|
|
timeline_5 = clutter_timeline_new_for_duration (1000);
|
|
|
|
g_object_set_data_full (G_OBJECT (timeline_5),
|
|
|
|
"timeline-name", g_strdup ("Timeline 5"),
|
|
|
|
g_free);
|
2007-09-27 21:38:38 +00:00
|
|
|
|
|
|
|
score = clutter_score_new();
|
2008-11-14 14:52:35 +00:00
|
|
|
g_signal_connect (score, "started",
|
|
|
|
G_CALLBACK (on_score_started),
|
|
|
|
NULL);
|
2007-12-04 16:26:19 +00:00
|
|
|
g_signal_connect (score, "timeline-started",
|
|
|
|
G_CALLBACK (on_timeline_started),
|
|
|
|
NULL);
|
|
|
|
g_signal_connect (score, "timeline-completed",
|
|
|
|
G_CALLBACK (on_timeline_completed),
|
|
|
|
NULL);
|
|
|
|
g_signal_connect (score, "completed",
|
2008-11-14 14:52:35 +00:00
|
|
|
G_CALLBACK (on_score_completed),
|
2007-12-04 16:26:19 +00:00
|
|
|
NULL);
|
|
|
|
|
2008-03-18 22:07:17 +00:00
|
|
|
clutter_score_append (score, NULL, timeline_1);
|
|
|
|
clutter_score_append (score, timeline_1, timeline_2);
|
|
|
|
clutter_score_append (score, timeline_1, timeline_3);
|
|
|
|
clutter_score_append (score, timeline_3, timeline_4);
|
2008-03-18 17:54:40 +00:00
|
|
|
|
2008-03-18 22:07:17 +00:00
|
|
|
clutter_score_append_at_marker (score, timeline_2, "foo", timeline_5);
|
2007-10-17 23:03:38 +00:00
|
|
|
|
2008-02-07 11:53:52 +00:00
|
|
|
timelines = clutter_score_list_timelines (score);
|
2008-03-18 17:54:40 +00:00
|
|
|
g_assert (5 == g_slist_length (timelines));
|
2008-02-07 11:53:52 +00:00
|
|
|
g_slist_free (timelines);
|
|
|
|
|
2007-09-27 21:38:38 +00:00
|
|
|
clutter_score_start (score);
|
|
|
|
|
|
|
|
clutter_main ();
|
|
|
|
|
|
|
|
g_object_unref (timeline_1);
|
|
|
|
g_object_unref (timeline_2);
|
|
|
|
g_object_unref (timeline_3);
|
2007-12-04 16:26:19 +00:00
|
|
|
g_object_unref (timeline_4);
|
2008-03-18 17:54:40 +00:00
|
|
|
g_object_unref (timeline_5);
|
2007-12-06 09:07:12 +00:00
|
|
|
g_object_unref (score);
|
2007-09-27 21:38:38 +00:00
|
|
|
|
|
|
|
return EXIT_SUCCESS;
|
|
|
|
}
|