GESVideoTransitionType value)
{
GList *tmp;
+ GESTimelineTransition *trself = (GESTimelineTransition *) self;
+ GESVideoTransitionType old;
+ old = trself->vtype;
+
+ for (tmp = self->trackobjects; tmp; tmp = g_list_next (tmp)) {
+ GESTrackVideoTransition *obj;
+ if (GES_IS_TRACK_VIDEO_TRANSITION (tmp->data)) {
+ obj = (GESTrackVideoTransition *) tmp->data;
+ if (!ges_track_video_transition_set_type (obj, value))
+ return;
+ }
+ }
- for (tmp = self->trackobjects; tmp; tmp = g_list_next (tmp))
- if (GES_IS_TRACK_VIDEO_TRANSITION (tmp->data))
- ges_track_video_transition_set_type ((GESTrackVideoTransition *)
- tmp->data, value);
+ trself->vtype = value;
+ return;
}
static void
GESTimelineTransition *self = GES_TIMELINE_TRANSITION (object);
switch (property_id) {
case PROP_VTYPE:
- self->vtype = g_value_get_enum (value);
+ g_value_set_enum (value, self->vtype);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
const GValue * value, GParamSpec * pspec)
{
GESTimelineObject *self = GES_TIMELINE_OBJECT (object);
- GESTimelineTransition *trself = GES_TIMELINE_TRANSITION (object);
switch (property_id) {
case PROP_VTYPE:
- trself->vtype = g_value_get_enum (value);
- ges_timeline_transition_update_vtype_internal (self, trself->vtype);
+ ges_timeline_transition_update_vtype_internal (self,
+ g_value_get_enum (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
GST_LOG ("done updating controller");
}
-void
+gboolean
ges_track_video_transition_set_type (GESTrackVideoTransition * self,
GESVideoTransitionType type)
{
(self->type == GES_VIDEO_TRANSITION_TYPE_CROSSFADE))) {
GST_WARNING
("Changing between 'crossfade' and other types is not supported");
- return;
+ return FALSE;
}
self->type = type;
if (self->smpte && (type != GES_VIDEO_TRANSITION_TYPE_CROSSFADE))
g_object_set (self->smpte, "type", (gint) type, NULL);
+ return TRUE;
}
GESTrackVideoTransition *
GType ges_track_video_transition_get_type (void);
-void
-ges_track_video_transition_set_type (GESTrackVideoTransition * self, GESVideoTransitionType type);
+gboolean
+ges_track_video_transition_set_type (GESTrackVideoTransition * self,
+GESVideoTransitionType type);
+;
GESTrackVideoTransition* ges_track_video_transition_new (void);