diff --git a/docs/libs/ges-sections.txt b/docs/libs/ges-sections.txt index d6a4a3ae7b..6853c7b543 100644 --- a/docs/libs/ges-sections.txt +++ b/docs/libs/ges-sections.txt @@ -100,8 +100,6 @@ GES_TYPE_TRACK GESTrackElement GESTrackElementClass ges_track_element_set_active -ges_track_element_set_locked -ges_track_element_is_locked ges_track_element_get_track ges_track_element_get_gnlobject ges_track_element_get_element diff --git a/ges/ges-clip.c b/ges/ges-clip.c index 0ddbdaca80..6ef607aa67 100644 --- a/ges/ges-clip.c +++ b/ges/ges-clip.c @@ -987,8 +987,7 @@ ges_clip_edit (GESClip * clip, GList * layers, } for (tmp = GES_CONTAINER_CHILDREN (clip); tmp; tmp = g_list_next (tmp)) { - if (ges_track_element_is_locked (tmp->data) - && GES_IS_SOURCE (tmp->data)) { + if (GES_IS_SOURCE (tmp->data)) { ret &= ges_track_element_edit (tmp->data, layers, mode, edge, position); break; } @@ -1155,7 +1154,6 @@ ges_clip_get_supported_formats (GESClip * clip) gboolean _ripple (GESTimelineElement * element, GstClockTime start) { - GList *tmp; gboolean ret = TRUE; GESTimeline *timeline; GESClip *clip = GES_CLIP (element); @@ -1167,14 +1165,12 @@ _ripple (GESTimelineElement * element, GstClockTime start) return FALSE; } - for (tmp = GES_CONTAINER_CHILDREN (element); tmp; tmp = g_list_next (tmp)) { - if (ges_track_element_is_locked (tmp->data)) { - ret = timeline_ripple_object (timeline, GES_TRACK_ELEMENT (tmp->data), - NULL, GES_EDGE_NONE, start); - /* As we work only with locked objects, the changes will be reflected - * to others controlled TrackElements */ - break; - } + if (GES_CONTAINER_CHILDREN (element)) { + GESTrackElement *track_element = + GES_TRACK_ELEMENT (GES_CONTAINER_CHILDREN (element)->data); + + ret = timeline_ripple_object (timeline, track_element, NULL, GES_EDGE_NONE, + start); } return ret; @@ -1183,7 +1179,6 @@ _ripple (GESTimelineElement * element, GstClockTime start) static gboolean _ripple_end (GESTimelineElement * element, GstClockTime end) { - GList *tmp; gboolean ret = TRUE; GESTimeline *timeline; GESClip *clip = GES_CLIP (element); @@ -1195,14 +1190,12 @@ _ripple_end (GESTimelineElement * element, GstClockTime end) return FALSE; } - for (tmp = GES_CONTAINER_CHILDREN (element); tmp; tmp = g_list_next (tmp)) { - if (ges_track_element_is_locked (tmp->data)) { - ret = timeline_ripple_object (timeline, GES_TRACK_ELEMENT (tmp->data), - NULL, GES_EDGE_END, end); - /* As we work only with locked objects, the changes will be reflected - * to others controlled TrackElements */ - break; - } + if (GES_CONTAINER_CHILDREN (element)) { + GESTrackElement *track_element = + GES_TRACK_ELEMENT (GES_CONTAINER_CHILDREN (element)->data); + + ret = timeline_ripple_object (timeline, track_element, NULL, GES_EDGE_END, + end); } return ret; @@ -1211,7 +1204,6 @@ _ripple_end (GESTimelineElement * element, GstClockTime end) gboolean _roll_start (GESTimelineElement * element, GstClockTime start) { - GList *tmp; gboolean ret = TRUE; GESTimeline *timeline; @@ -1224,14 +1216,12 @@ _roll_start (GESTimelineElement * element, GstClockTime start) return FALSE; } - for (tmp = GES_CONTAINER_CHILDREN (element); tmp; tmp = g_list_next (tmp)) { - if (ges_track_element_is_locked (tmp->data)) { - ret = timeline_roll_object (timeline, GES_TRACK_ELEMENT (tmp->data), - NULL, GES_EDGE_START, start); - /* As we work only with locked objects, the changes will be reflected - * to others controlled TrackElements */ - break; - } + if (GES_CONTAINER_CHILDREN (element)) { + GESTrackElement *track_element = + GES_TRACK_ELEMENT (GES_CONTAINER_CHILDREN (element)->data); + + ret = timeline_roll_object (timeline, track_element, NULL, GES_EDGE_START, + start); } return ret; @@ -1240,7 +1230,6 @@ _roll_start (GESTimelineElement * element, GstClockTime start) gboolean _roll_end (GESTimelineElement * element, GstClockTime end) { - GList *tmp; gboolean ret = TRUE; GESTimeline *timeline; @@ -1253,14 +1242,12 @@ _roll_end (GESTimelineElement * element, GstClockTime end) } - for (tmp = GES_CONTAINER_CHILDREN (element); tmp; tmp = g_list_next (tmp)) { - if (ges_track_element_is_locked (tmp->data)) { - ret = timeline_roll_object (timeline, GES_TRACK_ELEMENT (tmp->data), - NULL, GES_EDGE_END, end); - /* As we work only with locked objects, the changes will be reflected - * to others controlled TrackElements */ - break; - } + if (GES_CONTAINER_CHILDREN (element)) { + GESTrackElement *track_element = + GES_TRACK_ELEMENT (GES_CONTAINER_CHILDREN (element)->data); + + ret = timeline_roll_object (timeline, track_element, + NULL, GES_EDGE_END, end); } return ret; @@ -1269,7 +1256,6 @@ _roll_end (GESTimelineElement * element, GstClockTime end) gboolean _trim (GESTimelineElement * element, GstClockTime start) { - GList *tmp; gboolean ret = TRUE; GESTimeline *timeline; @@ -1282,12 +1268,12 @@ _trim (GESTimelineElement * element, GstClockTime start) return FALSE; } - for (tmp = GES_CONTAINER_CHILDREN (element); tmp; tmp = g_list_next (tmp)) { - if (ges_track_element_is_locked (tmp->data)) { - ret = timeline_trim_object (timeline, GES_TRACK_ELEMENT (tmp->data), - NULL, GES_EDGE_START, start); - break; - } + if (GES_CONTAINER_CHILDREN (element)) { + GESTrackElement *track_element = + GES_TRACK_ELEMENT (GES_CONTAINER_CHILDREN (element)->data); + + ret = timeline_trim_object (timeline, track_element, NULL, GES_EDGE_START, + start); } return ret; diff --git a/ges/ges-timeline.c b/ges/ges-timeline.c index 189a095e95..ca8f5512b8 100644 --- a/ges/ges-timeline.c +++ b/ges/ges-timeline.c @@ -1408,18 +1408,12 @@ timeline_ripple_object (GESTimeline * timeline, GESTrackElement * obj, new_start = _START (trackelement) + offset; clip = add_moving_clip (mv_ctx, trackelement); - - if (ges_track_element_is_locked (trackelement) == TRUE) { - - /* Make sure not to move 2 times the same Clip */ - if (g_list_find (moved_clips, clip) == NULL) { - _set_start0 (GES_TIMELINE_ELEMENT (trackelement), new_start); - moved_clips = g_list_prepend (moved_clips, clip); - } - - } else { + /* Make sure not to move 2 times the same Clip */ + if (g_list_find (moved_clips, clip) == NULL) { _set_start0 (GES_TIMELINE_ELEMENT (trackelement), new_start); + moved_clips = g_list_prepend (moved_clips, clip); } + } g_list_free (moved_clips); _set_start0 (GES_TIMELINE_ELEMENT (obj), position); @@ -1444,18 +1438,12 @@ timeline_ripple_object (GESTimeline * timeline, GESTrackElement * obj, new_start = _START (trackelement) + offset; clip = add_moving_clip (mv_ctx, trackelement); - - if (ges_track_element_is_locked (trackelement) == TRUE) { - - /* Make sure not to move 2 times the same Clip */ - if (g_list_find (moved_clips, clip) == NULL) { - _set_start0 (GES_TIMELINE_ELEMENT (trackelement), new_start); - moved_clips = g_list_prepend (moved_clips, clip); - } - - } else { + /* Make sure not to move 2 times the same Clip */ + if (g_list_find (moved_clips, clip) == NULL) { _set_start0 (GES_TIMELINE_ELEMENT (trackelement), new_start); + moved_clips = g_list_prepend (moved_clips, clip); } + } g_list_free (moved_clips); diff --git a/ges/ges-track-element.c b/ges/ges-track-element.c index 5f23f260b8..73543651e3 100644 --- a/ges/ges-track-element.c +++ b/ges/ges-track-element.c @@ -63,7 +63,6 @@ struct _GESTrackElementPrivate GESTrack *track; gboolean valid; - gboolean locked; /* If TRUE, then moves in sync with its controlling * GESClip */ @@ -75,7 +74,6 @@ enum { PROP_0, PROP_ACTIVE, - PROP_LOCKED, PROP_TRACK_TYPE, PROP_TRACK, PROP_LAST @@ -123,10 +121,6 @@ static gboolean _set_priority (GESTimelineElement * element, guint32 priority); static void _deep_copy (GESTimelineElement * element, GESTimelineElement * copy); -static inline void -ges_track_element_set_locked_internal (GESTrackElement * object, - gboolean locked); - static GParamSpec **default_list_children_properties (GESTrackElement * object, guint * n_properties); @@ -140,9 +134,6 @@ ges_track_element_get_property (GObject * object, guint property_id, case PROP_ACTIVE: g_value_set_boolean (value, ges_track_element_is_active (track_element)); break; - case PROP_LOCKED: - g_value_set_boolean (value, ges_track_element_is_locked (track_element)); - break; case PROP_TRACK_TYPE: g_value_set_flags (value, track_element->priv->track_type); break; @@ -164,10 +155,6 @@ ges_track_element_set_property (GObject * object, guint property_id, case PROP_ACTIVE: ges_track_element_set_active (track_element, g_value_get_boolean (value)); break; - case PROP_LOCKED: - ges_track_element_set_locked_internal (track_element, - g_value_get_boolean (value)); - break; case PROP_TRACK_TYPE: track_element->priv->track_type = g_value_get_flags (value); break; @@ -241,17 +228,6 @@ ges_track_element_class_init (GESTrackElementClass * klass) g_object_class_install_property (object_class, PROP_ACTIVE, properties[PROP_ACTIVE]); - /** - * GESTrackElement:locked: - * - * If %TRUE, then moves in sync with its controlling #GESClip - */ - properties[PROP_LOCKED] = - g_param_spec_boolean ("locked", "Locked", - "Moves in sync with its controling Clip", TRUE, G_PARAM_READWRITE); - g_object_class_install_property (object_class, PROP_LOCKED, - properties[PROP_LOCKED]); - properties[PROP_TRACK_TYPE] = g_param_spec_flags ("track-type", "Track Type", "The track type of the object", GES_TYPE_TRACK_TYPE, GES_TRACK_TYPE_UNKNOWN, G_PARAM_READWRITE | G_PARAM_CONSTRUCT); @@ -305,7 +281,6 @@ ges_track_element_init (GESTrackElement * self) priv->pending_duration = GST_SECOND; priv->pending_priority = 1; priv->pending_active = TRUE; - priv->locked = TRUE; priv->properties_hashtable = NULL; priv->bindings_hashtable = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); @@ -814,52 +789,6 @@ ges_track_element_get_element (GESTrackElement * object) return object->priv->element; } -static inline void -ges_track_element_set_locked_internal (GESTrackElement * object, - gboolean locked) -{ - object->priv->locked = locked; -} - -/** - * ges_track_element_set_locked: - * @object: a #GESTrackElement - * @locked: whether the object is lock to its parent - * - * Set the locking status of the @object in relationship to its controlling - * #GESClip. If @locked is %TRUE, then this object will move synchronously - * with its controlling #GESClip. - */ -void -ges_track_element_set_locked (GESTrackElement * object, gboolean locked) -{ - g_return_if_fail (GES_IS_TRACK_ELEMENT (object)); - - GST_DEBUG_OBJECT (object, "%s object", locked ? "Locking" : "Unlocking"); - - ges_track_element_set_locked_internal (object, locked); - g_object_notify_by_pspec (G_OBJECT (object), properties[PROP_LOCKED]); - -} - -/** - * ges_track_element_is_locked: - * @object: a #GESTrackElement - * - * Let you know if object us locked or not (moving synchronously). - * - * Returns: %TRUE if the object is moving synchronously to its controlling - * #GESClip, else %FALSE. - */ -gboolean -ges_track_element_is_locked (GESTrackElement * object) -{ - g_return_val_if_fail (GES_IS_TRACK_ELEMENT (object), FALSE); - - return object->priv->locked; -} - - /** * ges_track_element_is_active: * @object: a #GESTrackElement diff --git a/ges/ges-track-element.h b/ges/ges-track-element.h index 95ec6b1093..40a9a10f9d 100644 --- a/ges/ges-track-element.h +++ b/ges/ges-track-element.h @@ -126,11 +126,6 @@ GstElement * ges_track_element_get_gnlobject (GESTrackElement * object); GstElement * ges_track_element_get_element (GESTrackElement * object); -void ges_track_element_set_locked (GESTrackElement * object, - gboolean locked); - -gboolean ges_track_element_is_locked (GESTrackElement * object); - gboolean ges_track_element_set_active (GESTrackElement * object, gboolean active);