## GESCustomTimelineSource

GESCustomTimelineSource — Convenience GESTimelineSource

## Synopsis

    #include <ges/ges.h>

                        GESCustomTimelineSource;
    gboolean            (*GESFillTrackObjectUserFunc)       (GESTimelineObject *object,
                                                             GESTrackObject *trobject,
                                                             GstElement *gnlobj,
                                                             gpointer user_data);
    GESCustomTimelineSource * ges_custom_timeline_source_new
                                                            (GESFillTrackObjectUserFunc func,
                                                             gpointer user_data);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GESTimelineObject
                   +----GESTimelineSource
                         +----GESCustomTimelineSource

## Description

GESCustomTimelineSource allows creating GESTimelineSource(s) without the need to subclass.

Its usage should be limited to testing and prototyping purposes.

## Details

### GESCustomTimelineSource

    typedef struct _GESCustomTimelineSource GESCustomTimelineSource;

Debugging custom timeline source

### GESFillTrackObjectUserFunc ()

    gboolean            (*GESFillTrackObjectUserFunc)       (GESTimelineObject *object,
                                                             GESTrackObject *trobject,
                                                             GstElement *gnlobj,
                                                             gpointer user_data);

A function that will be called when the GNonLin object of a corresponding track object needs to be filled.

The implementer of this function shall add the proper GstElement to `gnlobj` using `gst_bin_add()`.

`object` : | the GESTimelineObject controlling the track object
`trobject` : | the GESTrackObject
`gnlobj` : | the GNonLin object that needs to be filled.
`user_data` : | the gpointer to optional user data
Returns : | TRUE if the implementer succesfully filled the `gnlobj`, else FALSE.

### ges_custom_timeline_source_new ()

    GESCustomTimelineSource * ges_custom_timeline_source_new
                                                            (GESFillTrackObjectUserFunc func,
                                                             gpointer user_data);

Creates a new GESCustomTimelineSource.

`func` : | The GESFillTrackObjectUserFunc that will be used to fill the track objects.
`user_data` : | a gpointer that will be used when `func` is called.
Returns : | The new GESCustomTimelineSource.