'("smart-render" "TIMELINE_MODE_SMART_RENDER")
)
)
+
+(define-enum Edge
+ (in-module "GES")
+ (c-name "GESEdge")
+ (gtype-id "GES_TYPE_EDGE")
+ (values
+ '("edge_start" "GES_EDGE_START")
+ '("edge_end" "GES_EDGE_END")
+ '("edge_none" "GES_EDGE_NONE")
+ )
+)
+
+(define-enum EditMode
+ (in-module "GES")
+ (c-name "GESEditMode")
+ (gtype-id "GES_TYPE_EDIT_MODE")
+ (values
+ '("edit_normal" "GES_EDIT_MODE_NORMAL")
+ '("edit_ripple" "GES_EDIT_MODE_RIPPLE")
+ '("edit_roll" "GES_EDIT_MODE_ROLL")
+ '("edit_trim" "GES_EDIT_MODE_TRIM")
+ '("edit_slide" "GES_EDIT_MODE_SLIDE")
+ )
+)
)
)
+(define-enum Edge
+ (in-module "GES")
+ (c-name "GESEdge")
+ (gtype-id "GES_TYPE_EDGE")
+ (values
+ '("edge_start" "GES_EDGE_START")
+ '("edge_end" "GES_EDGE_END")
+ '("edge_none" "GES_EDGE_NONE")
+ )
+)
+
+(define-enum EditMode
+ (in-module "GES")
+ (c-name "GESEditMode")
+ (gtype-id "GES_TYPE_EDIT_MODE")
+ (values
+ '("edit_normal" "GES_EDIT_MODE_NORMAL")
+ '("edit_ripple" "GES_EDIT_MODE_RIPPLE")
+ '("edit_roll" "GES_EDIT_MODE_ROLL")
+ '("edit_trim" "GES_EDIT_MODE_TRIM")
+ '("edit_slide" "GES_EDIT_MODE_SLIDE")
+ )
+)
+
(define-enum TextHAlign
(in-module "GES")
(c-name "GESTextHAlign")
)
)
+(define-method edit
+ (of-object "GESTimelineObject")
+ (c-name "ges_timeline_object_edit")
+ (return-type "gboolean")
+ (parameters
+ '("GList*" "layers")
+ '("guint" "move_layer")
+ '("GESEditMode" "mode")
+ '("GESEdge" "edge")
+ '("guint64" "position")
+ '("guint64" "snap_distance")
+ )
+)
+
(define-method get_supported_formats
(of-object "GESTimelineObject")
(c-name "ges_timeline_object_get_supported_formats")
(varargs #t)
)
+(define-method edit
+ (of-object "GESTrackObject")
+ (c-name "ges_track_object_edit")
+ (return-type "gboolean")
+ (parameters
+ '("GList*" "layers")
+ '("GESEditMode" "mode")
+ '("GESEdge" "edge")
+ '("guint64" "position")
+ '("guint64" "snap_distance")
+ )
+)
;; From ges-track-operation.h
%%
+override ges_track_object_edit kwargs
+static PyObject *
+_wrap_ges_track_object_edit (PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+ GList *layers = NULL;
+ GESEditMode mode;
+ GESEdge edge;
+ guint64 position;
+ guint i;
+ gboolean ret;
+
+ PyObject *py_position = NULL;
+ PyObject *list = NULL, *pymode = NULL, *pyedge = NULL;
+ PyGObject *tmpobj = NULL;
+ Py_ssize_t list_size;
+
+ GESTrackObject *tckobj = GES_TRACK_OBJECT (self->obj);
+
+ if (!PyArg_ParseTuple(args, "OOOl:GESTrackObject.edit",
+ &list, &pymode, &pyedge, &py_position))
+ return NULL;
+
+ position = PyLong_AsUnsignedLongLong(py_position);
+
+ list_size = PyList_GET_SIZE(list);
+
+ for (i = 0; i < list_size; i++) {
+ tmpobj = (PyGObject*)PyList_GetItem(list, i);
+ layers = g_list_prepend (layers, GES_TIMELINE_LAYER (tmpobj->obj));
+ }
+
+ if (pyg_enum_get_value(GES_TYPE_EDIT_MODE, pymode, (gpointer)&mode))
+ return FALSE;
+
+ if (pyg_enum_get_value(GES_TYPE_EDGE, pyedge, (gpointer)&edge))
+ return FALSE;
+
+ ret = ges_track_object_edit (tckobj, layers, mode, edge, position);
+
+ return PyBool_FromLong(ret);
+}
+
+%%
+override ges_timeline_object_edit kwargs
+static PyObject *
+_wrap_ges_timeline_object_edit (PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+ GList *layers = NULL;
+ GESEditMode mode;
+ GESEdge edge;
+ gint64 position;
+ guint move_layer, i;
+ gboolean ret;
+
+ PyObject *py_position = NULL;
+ PyObject *list = NULL, *pymode = NULL, *pyedge = NULL;
+ PyGObject *tmpobj = NULL;
+ Py_ssize_t list_size;
+
+ GESTimelineObject *tlobj = GES_TIMELINE_OBJECT (self->obj);
+
+ if (!PyArg_ParseTuple(args, "OiOOO:GESTimelineObject.edit",
+ &list, &move_layer, &pymode, &pyedge, &py_position))
+ return NULL;
+
+ position = PyLong_AsUnsignedLongLong(py_position);
+
+ list_size = PyList_GET_SIZE(list);
+
+ for (i = 0; i < list_size; i++) {
+ tmpobj = (PyGObject*)PyList_GetItem(list, i);
+ layers = g_list_prepend (layers, GES_TIMELINE_LAYER (tmpobj->obj));
+ }
+
+ if (pyg_enum_get_value(GES_TYPE_EDIT_MODE, pymode, (gpointer)&mode))
+ return FALSE;
+
+ if (pyg_enum_get_value(GES_TYPE_EDGE, pyedge, (gpointer)&edge))
+ return FALSE;
+
+ ret = ges_timeline_object_edit (tlobj, layers, move_layer, mode, edge, position);
+
+ return PyBool_FromLong(ret);
+}
+
+
+%%
ignore-glob
*_get_type