summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Saunier <thibault.saunier@collabora.com>2011-12-06 14:10:14 -0300
committerThibault Saunier <thibault.saunier@collabora.com>2012-01-11 11:56:16 -0300
commitb85b2103ad123a8357183f96a8ba4c2d811a1f7c (patch)
treea4269f32c58db54d61af22031eb327f8a1f727c9
parenta9193def7640c4c137bd7139bab8639b0d7ef863 (diff)
ges: Add a TimelineObject::track-object-removed signal
API: TimelineObject::track-object
-rw-r--r--ges/ges-timeline-object.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/ges/ges-timeline-object.c b/ges/ges-timeline-object.c
index f4c3334e..8938a2f2 100644
--- a/ges/ges-timeline-object.c
+++ b/ges/ges-timeline-object.c
@@ -108,6 +108,7 @@ enum
EFFECT_ADDED,
EFFECT_REMOVED,
TRACK_OBJECT_ADDED,
+ TRACK_OBJECT_REMOVED,
LAST_SIGNAL
};
@@ -344,7 +345,7 @@ ges_timeline_object_class_init (GESTimelineObjectClass * klass)
/**
* GESTimelineObject::track-object-added
* @object: the #GESTimelineObject
- * @effect: the #GESTrackObject that was added.
+ * @tckobj: the #GESTrackObject that was added.
*
* Will be emitted after a track object was added to the object.
*
@@ -355,6 +356,20 @@ ges_timeline_object_class_init (GESTimelineObjectClass * klass)
G_SIGNAL_RUN_FIRST, 0, NULL, NULL, ges_marshal_VOID__OBJECT,
G_TYPE_NONE, 1, GES_TYPE_TRACK_OBJECT);
+ /**
+ * GESTimelineObject::track-object-removed
+ * @object: the #GESTimelineObject
+ * @tckobj: the #GESTrackObject that was removed.
+ *
+ * Will be emitted after a track object was added to the object.
+ *
+ * Since: 0.10.2
+ */
+ ges_timeline_object_signals[TRACK_OBJECT_REMOVED] =
+ g_signal_new ("track-object-removed", G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_FIRST, 0, NULL, NULL, ges_marshal_VOID__OBJECT,
+ G_TYPE_NONE, 1, GES_TYPE_TRACK_OBJECT);
+
klass->need_fill_track = TRUE;
}
@@ -619,7 +634,9 @@ ges_timeline_object_release_track_object (GESTimelineObject * object,
/* emit 'object-removed' */
g_signal_emit (object, ges_timeline_object_signals[EFFECT_REMOVED], 0,
GES_TRACK_EFFECT (trackobject));
- }
+ } else
+ g_signal_emit (object, ges_timeline_object_signals[TRACK_OBJECT_REMOVED], 0,
+ GES_TRACK_OBJECT (trackobject));
ges_track_object_set_timeline_object (trackobject, NULL);