g_param_spec_enum ("vtype", "VType",
"The SMPTE video wipe to use, or 0 for crossfade",
GES_TYPE_TIMELINE_TRANSITION_VTYPE_TYPE, VTYPE_CROSSFADE,
- G_PARAM_READWRITE));
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
timobj_class->create_track_object = ges_tl_transition_create_track_object;
{0, NULL, NULL}
};
-/* how many types could GType type if GType could type types? */
-
static GType
ges_type_timeline_transition_vtype_get_type (void)
{
ret = g_object_new (GES_TYPE_TIMELINE_TRANSITION, "vtype", (gint) vtype,
NULL);
+
return ret;
}
ges_timeline_transition_new_for_nick (gchar * nick)
{
GESTimelineTransition *ret;
- ret = g_object_new (GES_TYPE_TIMELINE_TRANSITION, NULL);
- g_object_set (ret, "vtype", (gchar *) nick, NULL);
+ GEnumValue *value;
+ int i;
+
+ for (i = 0, value = &transition_types[i]; value->value;
+ value = &transition_types[i++]) {
+ if (!strcmp (nick, value->value_nick)) {
+ ret = g_object_new (GES_TYPE_TIMELINE_TRANSITION, "vtype",
+ (gint) value->value, NULL);
+ return ret;
+ }
+ value++;
+ }
- return ret;
+ return NULL;
}