GESTimelineElement: GStreamer Editing Services 1.9.1 Reference Manual

## GESTimelineElement GESTimelineElement |

## Functions

gboolean | ges_timeline_element_set_parent ()
GESTimelineElement * | ges_timeline_element_get_parent ()
gboolean | ges_timeline_element_set_timeline ()
GESTimeline * | ges_timeline_element_get_timeline ()
void | ges_timeline_element_set_start ()
void | ges_timeline_element_set_inpoint ()
void | ges_timeline_element_set_duration ()
void | ges_timeline_element_set_max_duration ()
void | ges_timeline_element_set_priority ()
GstClockTime | ges_timeline_element_get_start ()
GstClockTime | ges_timeline_element_get_inpoint ()
GstClockTime | ges_timeline_element_get_duration ()
GstClockTime | ges_timeline_element_get_max_duration ()
guint32 | ges_timeline_element_get_priority ()
gboolean | ges_timeline_element_ripple ()
gboolean | ges_timeline_element_ripple_end ()
gboolean | ges_timeline_element_roll_start ()
gboolean | ges_timeline_element_roll_end ()
gboolean | ges_timeline_element_trim ()
GESTimelineElement * | ges_timeline_element_get_toplevel_parent ()
GESTimelineElement * | ges_timeline_element_copy ()
GESTimelineElement * | ges_timeline_element_paste ()
gchar * | ges_timeline_element_get_name ()
gboolean | ges_timeline_element_set_name ()
GParamSpec ** | ges_timeline_element_list_children_properties ()
gboolean | ges_timeline_element_lookup_child ()
void | ges_timeline_element_get_child_property_by_pspec ()
void | ges_timeline_element_get_child_property_valist ()
void | ges_timeline_element_get_child_properties ()
void | ges_timeline_element_set_child_property_valist ()
void | ges_timeline_element_set_child_property_by_pspec ()
void | ges_timeline_element_set_child_properties ()
gboolean | ges_timeline_element_set_child_property ()
gboolean | ges_timeline_element_get_child_property ()
gboolean | ges_timeline_element_add_child_property ()
gboolean | ges_timeline_element_remove_child_property ()
GESTrackType | ges_timeline_element_get_track_types ()
#define | GES_TIMELINE_ELEMENT_PARENT()
#define | GES_TIMELINE_ELEMENT_TIMELINE()
#define | GES_TIMELINE_ELEMENT_START()
#define | GES_TIMELINE_ELEMENT_END()
#define | GES_TIMELINE_ELEMENT_INPOINT()
#define | GES_TIMELINE_ELEMENT_DURATION()
#define | GES_TIMELINE_ELEMENT_MAX_DURATION()
#define | GES_TIMELINE_ELEMENT_PRIORITY()
#define | GES_TIMELINE_ELEMENT_NAME()

## Types and Values

| GESTimelineElement
| GESTimelineElementClass

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GESTimelineElement
                ├── GESContainer
                ╰── GESTrackElement

## Implemented Interfaces

GESTimelineElement implements GESExtractable and GESMetaContainer.

## Includes

    #include <ges/ges.h>

## Description

## Functions

### ges_timeline_element_set_parent ()

    gboolean
    ges_timeline_element_set_parent (GESTimelineElement *self,
                                     GESTimelineElement *parent);

### ges_timeline_element_get_parent ()

    GESTimelineElement *
    ges_timeline_element_get_parent (GESTimelineElement *self);

### ges_timeline_element_set_timeline ()

    gboolean
    ges_timeline_element_set_timeline (GESTimelineElement *self,
                                       GESTimeline *timeline);

### ges_timeline_element_get_timeline ()

    GESTimeline *
    ges_timeline_element_get_timeline (GESTimelineElement *self);

### ges_timeline_element_set_start ()

    void
    ges_timeline_element_set_start (GESTimelineElement *self,
                                    GstClockTime start);

### ges_timeline_element_set_inpoint ()

    void
    ges_timeline_element_set_inpoint (GESTimelineElement *self,
                                      GstClockTime inpoint);

### ges_timeline_element_set_duration ()

    void
    ges_timeline_element_set_duration (GESTimelineElement *self,
                                       GstClockTime duration);

### ges_timeline_element_set_max_duration ()

    void
    ges_timeline_element_set_max_duration (GESTimelineElement *self,
                                           GstClockTime maxduration);

### ges_timeline_element_set_priority ()

    void
    ges_timeline_element_set_priority (GESTimelineElement *self,
                                       guint32 priority);

### ges_timeline_element_get_start ()

    GstClockTime
    ges_timeline_element_get_start (GESTimelineElement *self);

### ges_timeline_element_get_inpoint ()

    GstClockTime
    ges_timeline_element_get_inpoint (GESTimelineElement *self);

### ges_timeline_element_get_duration ()

    GstClockTime
    ges_timeline_element_get_duration (GESTimelineElement *self);

### ges_timeline_element_get_max_duration ()

    GstClockTime
    ges_timeline_element_get_max_duration (GESTimelineElement *self);

### ges_timeline_element_get_priority ()

    guint32
    ges_timeline_element_get_priority (GESTimelineElement *self);

### ges_timeline_element_ripple ()

    gboolean
    ges_timeline_element_ripple (GESTimelineElement *self,
                                 GstClockTime start);

### ges_timeline_element_ripple_end ()

    gboolean
    ges_timeline_element_ripple_end (GESTimelineElement *self,
                                     GstClockTime end);

### ges_timeline_element_roll_start ()

    gboolean
    ges_timeline_element_roll_start (GESTimelineElement *self,
                                     GstClockTime start);

### ges_timeline_element_roll_end ()

    gboolean
    ges_timeline_element_roll_end (GESTimelineElement *self,
                                   GstClockTime end);

### ges_timeline_element_trim ()

    gboolean
    ges_timeline_element_trim (GESTimelineElement *self,
                               GstClockTime start);

### ges_timeline_element_get_toplevel_parent ()

    GESTimelineElement *
    ges_timeline_element_get_toplevel_parent
                                   (GESTimelineElement *self);

### ges_timeline_element_copy ()

    GESTimelineElement *
    ges_timeline_element_copy (GESTimelineElement *self,
                               gboolean deep);

### ges_timeline_element_paste ()

    GESTimelineElement *
    ges_timeline_element_paste (GESTimelineElement *self,
                                GstClockTime paste_position);

### ges_timeline_element_get_name ()

    gchar *
    ges_timeline_element_get_name (GESTimelineElement *self);

### ges_timeline_element_set_name ()

    gboolean
    ges_timeline_element_set_name (GESTimelineElement *self,
                                   const gchar *name);

### ges_timeline_element_list_children_properties ()

    GParamSpec **
    ges_timeline_element_list_children_properties
                                   (GESTimelineElement *self,
                                    guint *n_properties);

### ges_timeline_element_lookup_child ()

    gboolean
    ges_timeline_element_lookup_child (GESTimelineElement *self,
                                       const gchar *prop_name,
                                       GObject **child,
                                       GParamSpec **pspec);

### ges_timeline_element_get_child_property_by_pspec ()

    void
    ges_timeline_element_get_child_property_by_pspec
                                   (GESTimelineElement *self,
                                    GParamSpec *pspec,
                                    GValue *value);

### ges_timeline_element_get_child_property_valist ()

    void
    ges_timeline_element_get_child_property_valist
                                   (GESTimelineElement *self,
                                    const gchar *first_property_name,
                                    va_list var_args);

### ges_timeline_element_get_child_properties ()

    void
    ges_timeline_element_get_child_properties
                                   (GESTimelineElement *self,
                                    const gchar *first_property_name,
                                    ...);

### ges_timeline_element_set_child_property_valist ()

    void
    ges_timeline_element_set_child_property_valist
                                   (GESTimelineElement *self,
                                    const gchar *first_property_name,
                                    va_list var_args);

### ges_timeline_element_set_child_property_by_pspec ()

    void
    ges_timeline_element_set_child_property_by_pspec
                                   (GESTimelineElement *self,
                                    GParamSpec *pspec,
                                    GValue *value);

### ges_timeline_element_set_child_properties ()

    void
    ges_timeline_element_set_child_properties
                                   (GESTimelineElement *self,
                                    const gchar *first_property_name,
                                    ...);

### ges_timeline_element_set_child_property ()

    gboolean
    ges_timeline_element_set_child_property
                                   (GESTimelineElement *self,
                                    const gchar *property_name,
                                    GValue *value);

### ges_timeline_element_get_child_property ()

    gboolean
    ges_timeline_element_get_child_property
                                   (GESTimelineElement *self,
                                    const gchar *property_name,
                                    GValue *value);

### ges_timeline_element_add_child_property ()

    gboolean
    ges_timeline_element_add_child_property
                                   (GESTimelineElement *self,
                                    GParamSpec *pspec,
                                    GObject *child);

### ges_timeline_element_remove_child_property ()

    gboolean
    ges_timeline_element_remove_child_property
                                   (GESTimelineElement *self,
                                    GParamSpec *pspec);

### ges_timeline_element_get_track_types ()

    GESTrackType
    ges_timeline_element_get_track_types (GESTimelineElement *self);

### GES_TIMELINE_ELEMENT_PARENT()

    #define GES_TIMELINE_ELEMENT_PARENT(obj) (((GESTimelineElement*)obj)->parent)

### GES_TIMELINE_ELEMENT_TIMELINE()

    #define GES_TIMELINE_ELEMENT_TIMELINE(obj) (((GESTimelineElement*)obj)->timeline)

### GES_TIMELINE_ELEMENT_START()

    #define GES_TIMELINE_ELEMENT_START(obj) (((GESTimelineElement*)obj)->start)

### GES_TIMELINE_ELEMENT_END()

    #define GES_TIMELINE_ELEMENT_END(obj) ((((GESTimelineElement*)obj)->start) + (((GESTimelineElement*)obj)->duration))

### GES_TIMELINE_ELEMENT_INPOINT()

    #define GES_TIMELINE_ELEMENT_INPOINT(obj) (((GESTimelineElement*)obj)->inpoint)

### GES_TIMELINE_ELEMENT_DURATION()

    #define GES_TIMELINE_ELEMENT_DURATION(obj) (((GESTimelineElement*)obj)->duration)

### GES_TIMELINE_ELEMENT_MAX_DURATION()

    #define GES_TIMELINE_ELEMENT_MAX_DURATION(obj) (((GESTimelineElement*)obj)->maxduration)

### GES_TIMELINE_ELEMENT_PRIORITY()

    #define GES_TIMELINE_ELEMENT_PRIORITY(obj) (((GESTimelineElement*)obj)->priority)

### GES_TIMELINE_ELEMENT_NAME()

    #define GES_TIMELINE_ELEMENT_NAME(obj) (((GESTimelineElement*)obj)->name)

## Types and Values

### GESTimelineElement

    typedef struct {
      /*< read only >*/
      GESTimelineElement *parent;
      GESAsset *asset;
      GstClockTime start;
      GstClockTime inpoint;
      GstClockTime duration;
      GstClockTime maxduration;
      guint32 priority;
      GESTimeline *timeline;
      gchar *name;
    } GESTimelineElement;

### GESTimelineElementClass

    typedef struct {
      GInitiallyUnownedClass parent_class;

      gboolean (*set_parent)       (GESTimelineElement * self, GESTimelineElement *parent);
      gboolean (*set_start)        (GESTimelineElement * self, GstClockTime start);
      gboolean (*set_inpoint)      (GESTimelineElement * self, GstClockTime inpoint);
      gboolean (*set_duration)     (GESTimelineElement * self, GstClockTime duration);
      gboolean (*set_max_duration) (GESTimelineElement * self, GstClockTime maxduration);
      gboolean (*set_priority)     (GESTimelineElement * self, guint32 priority);

      gboolean (*ripple)           (GESTimelineElement *self, guint64  start);
      gboolean (*ripple_end)       (GESTimelineElement *self, guint64  end);
      gboolean (*roll_start)       (GESTimelineElement *self, guint64  start);
      gboolean (*roll_end)         (GESTimelineElement *self, guint64  end);
      gboolean (*trim)             (GESTimelineElement *self, guint64  start);
      void     (*deep_copy)        (GESTimelineElement *self, GESTimelineElement *copy);

      GESTimelineElement * (*paste) (GESTimelineElement *self,
                                       GESTimelineElement *ref_element,
                                       GstClockTime paste_position);

      GParamSpec** (*list_children_properties) (GESTimelineElement * self, guint *n_properties);
      gboolean (*lookup_child)                 (GESTimelineElement *self, const gchar *prop_name,
                                                GObject **child, GParamSpec **pspec);
      GESTrackType (*get_track_types)          (GESTimelineElement * self);
    } GESTimelineElementClass;