From 7bb28f0a6a16b39870fa4f2fca0ca3d68ce50d09 Mon Sep 17 00:00:00 2001 From: Brandon Lewis Date: Wed, 15 Dec 2010 15:51:23 +0000 Subject: [PATCH] GESSimpleTimelineLayer: add _nth() method --- docs/libs/ges-sections.txt | 1 + ges/ges-simple-timeline-layer.c | 25 +++++++++++++++++++++++++ ges/ges-simple-timeline-layer.h | 4 ++++ 3 files changed, 30 insertions(+) diff --git a/docs/libs/ges-sections.txt b/docs/libs/ges-sections.txt index 3394e07a79..0fcc350b6a 100644 --- a/docs/libs/ges-sections.txt +++ b/docs/libs/ges-sections.txt @@ -445,6 +445,7 @@ GESSimpleTimelineLayer ges_simple_timeline_layer_new ges_simple_timeline_layer_add_object ges_simple_timeline_layer_move_object +ges_simple_timeline_layer_nth ges_simple_timeline_layer_is_valid GESSimpleTimelineLayerClass diff --git a/ges/ges-simple-timeline-layer.c b/ges/ges-simple-timeline-layer.c index 9be317a9c1..62bf97d235 100644 --- a/ges/ges-simple-timeline-layer.c +++ b/ges/ges-simple-timeline-layer.c @@ -347,6 +347,31 @@ ges_simple_timeline_layer_add_object (GESSimpleTimelineLayer * layer, return TRUE; } +/** + * ges_simple_timeline_layer_nth: + * @layer: a #GESSimpleTimelineLayer + * @position: The position in position to get, starting from 0. + * + * Gets the timeline object at the given position. + * + * Returns: The #GESTimelineObject at the given position or NULL if + * the position is off the end of the layer. + */ + +GESTimelineObject * +ges_simple_timeline_layer_nth (GESSimpleTimelineLayer * layer, gint position) +{ + GList *list; + GESSimpleTimelineLayerPrivate *priv = layer->priv; + + list = g_list_nth (priv->objects, position); + + if (list) + return GES_TIMELINE_OBJECT (list->data); + + return NULL; +} + /** * ges_simple_timeline_layer_move_object: * @layer: a #GESSimpleTimelineLayer diff --git a/ges/ges-simple-timeline-layer.h b/ges/ges-simple-timeline-layer.h index 2725616466..165e0b7fd8 100644 --- a/ges/ges-simple-timeline-layer.h +++ b/ges/ges-simple-timeline-layer.h @@ -87,6 +87,10 @@ ges_simple_timeline_layer_move_object (GESSimpleTimelineLayer *layer, gboolean ges_simple_timeline_layer_is_valid (GESSimpleTimelineLayer *layer); +GESTimelineObject * +ges_simple_timeline_layer_nth (GESSimpleTimelineLayer *layer, + gint position); + G_END_DECLS #endif /* _GES_SIMPLE_TIMELINE_LAYER */