Rename GESTrackSource to GESSource

This commit is contained in:
Thibault Saunier 2013-01-26 13:08:20 -03:00
parent 273f27a269
commit 6363d0fdad
24 changed files with 94 additions and 98 deletions

View file

@ -27,7 +27,7 @@ LOCAL_SRC_FILES := \
ges-text-overlay-clip.c \
ges-track.c \
ges-track-element.c \
ges-track-source.c \
ges-source.c \
ges-track-operation.c \
ges-track-filesource.c \
ges-track-image-source.c \

View file

@ -44,7 +44,7 @@ platform as well as Windows. It is released under the GNU Library General Public
<xi:include href="xml/ges-base-effect-clip.xml"/>
<xi:include href="xml/ges-track.xml"/>
<xi:include href="xml/ges-track-element.xml"/>
<xi:include href="xml/ges-track-source.xml"/>
<xi:include href="xml/ges-source.xml"/>
<xi:include href="xml/ges-base-effect.xml"/>
<xi:include href="xml/ges-track-operation.xml"/>
<xi:include href="xml/ges-base-transition-clip.xml"/>

View file

@ -129,19 +129,19 @@ GES_TYPE_TRACK_ELEMENT
</SECTION>
<SECTION>
<FILE>ges-track-source</FILE>
<TITLE>GESTrackSource</TITLE>
GESTrackSource
GESTrackSourceClass
<FILE>ges-source</FILE>
<TITLE>GESSource</TITLE>
GESSource
GESSourceClass
<SUBSECTION Standard>
GESTrackSourcePrivate
GES_TRACK_SOURCE
GES_TRACK_SOURCE_CLASS
GES_TRACK_SOURCE_GET_CLASS
GES_TYPE_TRACK_SOURCE
GES_IS_TRACK_SOURCE
GES_IS_TRACK_SOURCE_CLASS
ges_track_source_get_type
GESSourcePrivate
GES_SOURCE
GES_SOURCE_CLASS
GES_SOURCE_GET_CLASS
GES_TYPE_SOURCE
GES_IS_SOURCE
GES_IS_SOURCE_CLASS
ges_source_get_type
</SECTION>
<SECTION>

View file

@ -30,7 +30,7 @@ ges_track_element_get_type
ges_base_effect_get_type
ges_effect_get_type
ges_track_operation_get_type
ges_track_source_get_type
ges_source_get_type
ges_track_text_overlay_get_type
ges_track_title_source_get_type
ges_track_transition_get_type

View file

@ -481,7 +481,7 @@
id="tspan4426"
x="139.73431"
y="370.0614"
style="font-size:20px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:middle;font-family:Georgia;-inkscape-font-specification:Georgia Italic">TrackSource A</tspan></text>
style="font-size:20px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:middle;font-family:Georgia;-inkscape-font-specification:Georgia Italic">Source A</tspan></text>
<text
xml:space="preserve"
style="font-size:20px;font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Georgia;-inkscape-font-specification:Georgia Bold Italic"
@ -493,7 +493,7 @@
id="tspan4430"
x="139.73431"
y="503.18912"
style="font-size:20px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:middle;font-family:Georgia;-inkscape-font-specification:Georgia Italic">TrackSource A</tspan></text>
style="font-size:20px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:middle;font-family:Georgia;-inkscape-font-specification:Georgia Italic">Source A</tspan></text>
<text
xml:space="preserve"
style="font-size:20px;font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Georgia;-inkscape-font-specification:Georgia Bold Italic"
@ -505,7 +505,7 @@
id="tspan4434"
x="284.57486"
y="358.20789"
style="font-size:20px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:middle;font-family:Georgia;-inkscape-font-specification:Georgia Italic">TrackSource</tspan><tspan
style="font-size:20px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:middle;font-family:Georgia;-inkscape-font-specification:Georgia Italic">Source</tspan><tspan
sodipodi:role="line"
x="284.57486"
y="382.20789"
@ -534,7 +534,7 @@
id="tspan4442"
x="428.78125"
y="370.09448"
style="font-size:20px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:middle;font-family:Georgia;-inkscape-font-specification:Georgia Italic">TrackSource C</tspan></text>
style="font-size:20px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:middle;font-family:Georgia;-inkscape-font-specification:Georgia Italic">Source C</tspan></text>
<text
xml:space="preserve"
style="font-size:20px;font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Georgia;-inkscape-font-specification:Georgia Bold Italic"
@ -546,7 +546,7 @@
id="tspan4446"
x="284.57486"
y="491.3356"
style="font-size:20px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:middle;font-family:Georgia;-inkscape-font-specification:Georgia Italic">TrackSource</tspan><tspan
style="font-size:20px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:120.00000477%;writing-mode:lr-tb;text-anchor:middle;font-family:Georgia;-inkscape-font-specification:Georgia Italic">Source</tspan><tspan
sodipodi:role="line"
x="284.57486"
y="515.33563"

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View file

@ -31,7 +31,7 @@ libges_@GST_API_VERSION@_la_SOURCES = \
ges-text-overlay-clip.c \
ges-track.c \
ges-track-element.c \
ges-track-source.c \
ges-source.c \
ges-track-operation.c \
ges-track-filesource.c \
ges-track-image-source.c \
@ -87,7 +87,7 @@ libges_@GST_API_VERSION@include_HEADERS = \
ges-effect.h \
ges-track.h \
ges-track-element.h \
ges-track-source.h \
ges-source.h \
ges-track-operation.h \
ges-track-filesource.h \
ges-track-image-source.h \

View file

@ -31,8 +31,7 @@
#include "ges-track-element.h"
#include "ges-audio-test-source.h"
G_DEFINE_TYPE (GESAudioTestSource, ges_audio_test_source,
GES_TYPE_TRACK_SOURCE);
G_DEFINE_TYPE (GESAudioTestSource, ges_audio_test_source, GES_TYPE_SOURCE);
struct _GESAudioTestSourcePrivate
{

View file

@ -23,7 +23,7 @@
#include <glib-object.h>
#include <ges/ges-types.h>
#include <ges/ges-track-source.h>
#include <ges/ges-source.h>
G_BEGIN_DECLS
@ -53,7 +53,7 @@ typedef struct _GESAudioTestSourcePrivate GESAudioTestSourcePrivate;
*/
struct _GESAudioTestSource {
GESTrackSource parent;
GESSource parent;
/*< private >*/
GESAudioTestSourcePrivate *priv;
@ -64,7 +64,7 @@ struct _GESAudioTestSource {
struct _GESAudioTestSourceClass {
/*< private >*/
GESTrackSourceClass parent_class;
GESSourceClass parent_class;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];

View file

@ -1194,7 +1194,7 @@ ges_clip_edit (GESClip * object, GList * layers,
for (tmp = object->trackelements; tmp; tmp = g_list_next (tmp)) {
if (ges_track_element_is_locked (tmp->data)
&& GES_IS_TRACK_SOURCE (tmp->data)) {
&& GES_IS_SOURCE (tmp->data)) {
ret &= ges_track_element_edit (tmp->data, layers, mode, edge, position);
break;
}

View file

@ -38,7 +38,7 @@
#include "ges-internal.h"
#include "ges-custom-source-clip.h"
#include "ges-source-clip.h"
#include "ges-track-source.h"
#include "ges-source.h"
#include "ges-extractable.h"
enum
@ -136,7 +136,7 @@ ges_custom_source_clip_fill_track_element (GESClip * object,
static GESTrackElement *
ges_custom_source_clip_create_track_element (GESClip * obj, GESTrackType type)
{
return g_object_new (GES_TYPE_TRACK_SOURCE, "track-type", type, NULL);
return g_object_new (GES_TYPE_SOURCE, "track-type", type, NULL);
}
static void

View file

@ -26,7 +26,7 @@
#include "ges-internal.h"
#include "ges-clip.h"
#include "ges-source-clip.h"
#include "ges-track-source.h"
#include "ges-source.h"
struct _GESSourceClipPrivate

View file

@ -19,36 +19,36 @@
*/
/**
* SECTION:ges-track-source
* SECTION:ges-source
* @short_description: Base Class for single-media sources
*/
#include "ges-internal.h"
#include "ges-track-element.h"
#include "ges-track-source.h"
#include "ges-source.h"
G_DEFINE_TYPE (GESTrackSource, ges_track_source, GES_TYPE_TRACK_ELEMENT);
G_DEFINE_TYPE (GESSource, ges_source, GES_TYPE_TRACK_ELEMENT);
struct _GESTrackSourcePrivate
struct _GESSourcePrivate
{
/* Dummy variable */
void *nothing;
};
static void
ges_track_source_class_init (GESTrackSourceClass * klass)
ges_source_class_init (GESSourceClass * klass)
{
GESTrackElementClass *track_class = GES_TRACK_ELEMENT_CLASS (klass);
g_type_class_add_private (klass, sizeof (GESTrackSourcePrivate));
g_type_class_add_private (klass, sizeof (GESSourcePrivate));
track_class->gnlobject_factorytype = "gnlsource";
track_class->create_element = NULL;
}
static void
ges_track_source_init (GESTrackSource * self)
ges_source_init (GESSource * self)
{
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
GES_TYPE_TRACK_SOURCE, GESTrackSourcePrivate);
GES_TYPE_SOURCE, GESSourcePrivate);
}

View file

@ -18,8 +18,8 @@
* Boston, MA 02110-1301, USA.
*/
#ifndef _GES_TRACK_SOURCE
#define _GES_TRACK_SOURCE
#ifndef _GES_SOURCE
#define _GES_SOURCE
#include <glib-object.h>
#include <gst/gst.h>
@ -28,46 +28,46 @@
G_BEGIN_DECLS
#define GES_TYPE_TRACK_SOURCE ges_track_source_get_type()
#define GES_TYPE_SOURCE ges_source_get_type()
#define GES_TRACK_SOURCE(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_SOURCE, GESTrackSource))
#define GES_SOURCE(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_SOURCE, GESSource))
#define GES_TRACK_SOURCE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_SOURCE, GESTrackSourceClass))
#define GES_SOURCE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_SOURCE, GESSourceClass))
#define GES_IS_TRACK_SOURCE(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_SOURCE))
#define GES_IS_SOURCE(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_SOURCE))
#define GES_IS_TRACK_SOURCE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_SOURCE))
#define GES_IS_SOURCE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_SOURCE))
#define GES_TRACK_SOURCE_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_SOURCE, GESTrackSourceClass))
#define GES_SOURCE_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_SOURCE, GESSourceClass))
typedef struct _GESTrackSourcePrivate GESTrackSourcePrivate;
typedef struct _GESSourcePrivate GESSourcePrivate;
/**
* GESTrackSource:
* GESSource:
*
* Base class for single-media sources
*/
struct _GESTrackSource {
struct _GESSource {
/*< private >*/
GESTrackElement parent;
GESTrackSourcePrivate *priv;
GESSourcePrivate *priv;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];
};
/**
* GESTrackSourceClass:
* GESSourceClass:
*/
struct _GESTrackSourceClass {
struct _GESSourceClass {
/*< private >*/
GESTrackElementClass parent_class;
@ -76,8 +76,8 @@ struct _GESTrackSourceClass {
gpointer _ges_reserved[GES_PADDING];
};
GType ges_track_source_get_type (void);
GType ges_source_get_type (void);
G_END_DECLS
#endif /* _GES_TRACK_SOURCE */
#endif /* _GES_SOURCE */

View file

@ -127,17 +127,17 @@ struct _GESTimelinePrivate
guint64 snapping_distance;
/* FIXME: Should we offer an API over those fields ?
* FIXME: Should other classes than subclasses of TrackSource also
* FIXME: Should other classes than subclasses of Source also
* be tracked? */
/* Snapping fields */
GHashTable *by_start; /* {TrackSource: start} */
GHashTable *by_end; /* {TrackSource: end} */
GHashTable *by_object; /* {timecode: TrackSource} */
GHashTable *obj_iters; /* {TrackSource: TrackObjIters} */
GHashTable *by_start; /* {Source: start} */
GHashTable *by_end; /* {Source: end} */
GHashTable *by_object; /* {timecode: Source} */
GHashTable *obj_iters; /* {Source: TrackObjIters} */
GSequence *starts_ends; /* Sorted list of starts/ends */
/* We keep 1 reference to our trackelement here */
GSequence *tracksources; /* TrackSource-s sorted by start/priorities */
GSequence *tracksources; /* Source-s sorted by start/priorities */
GList *priv_tracks;
/* FIXME: We should definitly offer an API over this,
@ -843,7 +843,7 @@ _create_transitions_on_layer (GESTimeline * timeline, GESTimelineLayer * layer,
}
}
/* @tck_obj must be a GESTrackSource */
/* @tck_obj must be a GESSource */
static void
create_transitions (GESTimeline * timeline, GESTrackElement * tck_obj)
{
@ -909,7 +909,7 @@ stop_tracking_track_element (GESTimeline * timeline,
trackelement);
}
if (GES_IS_TRACK_SOURCE (trackelement)) {
if (GES_IS_SOURCE (trackelement)) {
start = g_hash_table_lookup (priv->by_start, trackelement);
end = g_hash_table_lookup (priv->by_end, trackelement);
@ -964,7 +964,7 @@ start_tracking_track_element (GESTimeline * timeline,
iters->layer = layer;
}
if (GES_IS_TRACK_SOURCE (trackelement)) {
if (GES_IS_SOURCE (trackelement)) {
/* Track only sources for timeline edition and snapping */
pstart = g_malloc (sizeof (guint64));
pend = g_malloc (sizeof (guint64));
@ -1256,13 +1256,13 @@ ges_timeline_set_moving_context (GESTimeline * timeline, GESTrackElement * obj,
mv_ctx->obj = clip;
mv_ctx->needs_move_ctx = FALSE;
/* We try to find a TrackSource inside the Clip so we can set the
/* We try to find a Source inside the Clip so we can set the
* moving context Else we just move the selected one only */
if (GES_IS_TRACK_SOURCE (obj) == FALSE) {
if (GES_IS_SOURCE (obj) == FALSE) {
GList *tmp;
for (tmp = clip->trackelements; tmp; tmp = tmp->next) {
if (GES_IS_TRACK_SOURCE (tmp->data)) {
if (GES_IS_SOURCE (tmp->data)) {
editor_trackelement = tmp->data;
break;
}
@ -1931,7 +1931,7 @@ trackelement_start_changed_cb (GESTrackElement * child,
g_sequence_sort_changed (iters->iter_by_layer,
(GCompareDataFunc) element_start_compare, NULL);
if (GES_IS_TRACK_SOURCE (child)) {
if (GES_IS_SOURCE (child)) {
sort_track_elements (timeline, iters);
sort_starts_ends_start (timeline, iters);
sort_starts_ends_end (timeline, iters);
@ -1985,7 +1985,7 @@ trackelement_priority_changed_cb (GESTrackElement * child,
}
}
if (GES_IS_TRACK_SOURCE (child))
if (GES_IS_SOURCE (child))
sort_track_elements (timeline, iters);
}
@ -1996,7 +1996,7 @@ trackelement_duration_changed_cb (GESTrackElement * child,
GESTimelinePrivate *priv = timeline->priv;
TrackObjIters *iters = g_hash_table_lookup (priv->obj_iters, child);
if (GES_IS_TRACK_SOURCE (child)) {
if (GES_IS_SOURCE (child)) {
sort_starts_ends_end (timeline, iters);
/* If the timeline is set to snap objects together, we
@ -2032,7 +2032,7 @@ track_element_removed_cb (GESTrack * track, GESTrackElement * object,
GESTimeline * timeline)
{
if (GES_IS_TRACK_SOURCE (object)) {
if (GES_IS_SOURCE (object)) {
/* Make sure to reinitialise the moving context next time */
timeline->priv->movecontext.needs_move_ctx = TRUE;
}

View file

@ -61,7 +61,7 @@ ges_extractable_interface_init (GESExtractableInterface * iface)
}
G_DEFINE_TYPE_WITH_CODE (GESTrackFileSource, ges_track_filesource,
GES_TYPE_TRACK_SOURCE,
GES_TYPE_SOURCE,
G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE,
ges_extractable_interface_init));

View file

@ -23,7 +23,7 @@
#include <glib-object.h>
#include <ges/ges-types.h>
#include <ges/ges-track-source.h>
#include <ges/ges-source.h>
G_BEGIN_DECLS
@ -51,7 +51,7 @@ typedef struct _GESTrackFileSourcePrivate GESTrackFileSourcePrivate;
*/
struct _GESTrackFileSource {
/*< private >*/
GESTrackSource parent;
GESSource parent;
gchar *uri;
@ -63,7 +63,7 @@ struct _GESTrackFileSource {
struct _GESTrackFileSourceClass {
/*< private >*/
GESTrackSourceClass parent_class;
GESSourceClass parent_class;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];

View file

@ -32,8 +32,7 @@
#include "ges-track-element.h"
#include "ges-track-image-source.h"
G_DEFINE_TYPE (GESTrackImageSource, ges_track_image_source,
GES_TYPE_TRACK_SOURCE);
G_DEFINE_TYPE (GESTrackImageSource, ges_track_image_source, GES_TYPE_SOURCE);
struct _GESTrackImageSourcePrivate
{

View file

@ -23,7 +23,7 @@
#include <glib-object.h>
#include <ges/ges-types.h>
#include <ges/ges-track-source.h>
#include <ges/ges-source.h>
G_BEGIN_DECLS
@ -51,7 +51,7 @@ typedef struct _GESTrackImageSourcePrivate GESTrackImageSourcePrivate;
*/
struct _GESTrackImageSource {
/*< private >*/
GESTrackSource parent;
GESSource parent;
gchar *uri;
@ -62,7 +62,7 @@ struct _GESTrackImageSource {
};
struct _GESTrackImageSourceClass {
GESTrackSourceClass parent_class;
GESSourceClass parent_class;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];

View file

@ -29,8 +29,7 @@
#include "ges-track-title-source.h"
#include "ges-video-test-source.h"
G_DEFINE_TYPE (GESTrackTitleSource, ges_track_title_source,
GES_TYPE_TRACK_SOURCE);
G_DEFINE_TYPE (GESTrackTitleSource, ges_track_title_source, GES_TYPE_SOURCE);
struct _GESTrackTitleSourcePrivate
{

View file

@ -23,7 +23,7 @@
#include <glib-object.h>
#include <ges/ges-types.h>
#include <ges/ges-track-source.h>
#include <ges/ges-source.h>
G_BEGIN_DECLS
@ -51,7 +51,7 @@ typedef struct _GESTrackTitleSourcePrivate GESTrackTitleSourcePrivate;
*
*/
struct _GESTrackTitleSource {
GESTrackSource parent;
GESSource parent;
/*< private >*/
GESTrackTitleSourcePrivate *priv;
@ -66,7 +66,7 @@ struct _GESTrackTitleSource {
*/
struct _GESTrackTitleSourceClass {
GESTrackSourceClass parent_class;
GESSourceClass parent_class;
/*< private >*/

View file

@ -89,8 +89,8 @@ typedef struct _GESTrackClass GESTrackClass;
typedef struct _GESTrackElement GESTrackElement;
typedef struct _GESTrackElementClass GESTrackElementClass;
typedef struct _GESTrackSource GESTrackSource;
typedef struct _GESTrackSourceClass GESTrackSourceClass;
typedef struct _GESSource GESSource;
typedef struct _GESSourceClass GESSourceClass;
typedef struct _GESTrackOperation GESTrackOperation;
typedef struct _GESTrackOperationClass GESTrackOperationClass;

View file

@ -27,8 +27,7 @@
#include "ges-track-element.h"
#include "ges-video-test-source.h"
G_DEFINE_TYPE (GESVideoTestSource, ges_video_test_source,
GES_TYPE_TRACK_SOURCE);
G_DEFINE_TYPE (GESVideoTestSource, ges_video_test_source, GES_TYPE_SOURCE);
struct _GESVideoTestSourcePrivate
{

View file

@ -24,7 +24,7 @@
#include <glib-object.h>
#include <ges/ges-enums.h>
#include <ges/ges-types.h>
#include <ges/ges-track-source.h>
#include <ges/ges-source.h>
G_BEGIN_DECLS
@ -52,7 +52,7 @@ typedef struct _GESVideoTestSourcePrivate GESVideoTestSourcePrivate;
*/
struct _GESVideoTestSource {
/*< private >*/
GESTrackSource parent;
GESSource parent;
GESVideoTestSourcePrivate *priv;
@ -61,7 +61,7 @@ struct _GESVideoTestSource {
};
struct _GESVideoTestSourceClass {
GESTrackSourceClass parent_class;
GESSourceClass parent_class;
/* Padding for API extension */
gpointer _ges_reserved[GES_PADDING];

View file

@ -57,7 +57,7 @@
#include <ges/ges-track.h>
#include <ges/ges-track-element.h>
#include <ges/ges-track-source.h>
#include <ges/ges-source.h>
#include <ges/ges-track-operation.h>
#include <ges/ges-track-filesource.h>