Update for g_type_class_add_private() deprecation in recent GLib
authorThibault Saunier <tsaunier@igalia.com>
Thu, 6 Sep 2018 01:55:02 +0000 (22:55 -0300)
committerThibault Saunier <tsaunier@igalia.com>
Thu, 6 Sep 2018 01:57:27 +0000 (22:57 -0300)
53 files changed:
ges/ges-asset.c
ges/ges-audio-source.c
ges/ges-audio-test-source.c
ges/ges-audio-track.c
ges/ges-audio-transition.c
ges/ges-audio-uri-source.c
ges/ges-base-effect-clip.c
ges/ges-base-effect.c
ges/ges-base-transition-clip.c
ges/ges-base-xml-formatter.c
ges/ges-clip-asset.c
ges/ges-clip.c
ges/ges-command-line-formatter.c
ges/ges-container.c
ges/ges-effect-asset.c
ges/ges-effect-clip.c
ges/ges-effect.c
ges/ges-formatter.c
ges/ges-group.c
ges/ges-image-source.c
ges/ges-layer.c
ges/ges-multi-file-source.c
ges/ges-operation-clip.c
ges/ges-operation.c
ges/ges-overlay-clip.c
ges/ges-pipeline.c
ges/ges-pitivi-formatter.c
ges/ges-project.c
ges/ges-source-clip.c
ges/ges-source.c
ges/ges-test-clip.c
ges/ges-text-overlay-clip.c
ges/ges-text-overlay.c
ges/ges-timeline-element.c
ges/ges-timeline.c
ges/ges-title-clip.c
ges/ges-title-source.c
ges/ges-track-element-asset.c
ges/ges-track-element.c
ges/ges-track.c
ges/ges-transition-clip.c
ges/ges-transition.c
ges/ges-uri-asset.c
ges/ges-uri-clip.c
ges/ges-video-source.c
ges/ges-video-test-source.c
ges/ges-video-track.c
ges/ges-video-transition.c
ges/ges-video-uri-source.c
ges/ges-xml-formatter.c
plugins/nle/nlecomposition.c
plugins/nle/nlesource.c
tools/ges-launcher.c

index 280aaeb..a7d5d30 100644 (file)
@@ -271,6 +271,7 @@ initable_iface_init (GInitableIface * initable_iface)
 }
 
 G_DEFINE_TYPE_WITH_CODE (GESAsset, ges_asset, G_TYPE_OBJECT,
+    G_ADD_PRIVATE (GESAsset)
     G_IMPLEMENT_INTERFACE (G_TYPE_ASYNC_INITABLE, async_initable_iface_init)
     G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, initable_iface_init)
     G_IMPLEMENT_INTERFACE (GES_TYPE_META_CONTAINER, NULL));
@@ -406,7 +407,6 @@ void
 ges_asset_class_init (GESAssetClass * klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
-  g_type_class_add_private (klass, sizeof (GESAssetPrivate));
 
   object_class->get_property = ges_asset_get_property;
   object_class->set_property = ges_asset_set_property;
@@ -444,8 +444,7 @@ ges_asset_class_init (GESAssetClass * klass)
 void
 ges_asset_init (GESAsset * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_ASSET, GESAssetPrivate);
+  self->priv = ges_asset_get_instance_private (self);
 
   self->priv->state = ASSET_INITIALIZING;
   self->priv->proxied_asset_id = NULL;
index c5a97cc..1588a1e 100644 (file)
 #include "ges-audio-source.h"
 #include "ges-layer.h"
 
-G_DEFINE_ABSTRACT_TYPE (GESAudioSource, ges_audio_source, GES_TYPE_SOURCE);
-
 struct _GESAudioSourcePrivate
 {
   GstElement *capsfilter;
   GESTrack *current_track;
 };
 
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESAudioSource, ges_audio_source,
+    GES_TYPE_SOURCE);
+
 static void
 _sync_element_to_layer_property_float (GESTrackElement * trksrc,
     GstElement * element, const gchar * meta, const gchar * propname)
@@ -187,8 +188,6 @@ ges_audio_source_class_init (GESAudioSourceClass * klass)
   GESTrackElementClass *track_class = GES_TRACK_ELEMENT_CLASS (klass);
   GESAudioSourceClass *audio_source_class = GES_AUDIO_SOURCE_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESAudioSourcePrivate));
-
   gobject_class->dispose = ges_audio_source_dispose;
   track_class->nleobject_factorytype = "nlesource";
   track_class->create_element = ges_audio_source_create_element;
@@ -198,6 +197,5 @@ ges_audio_source_class_init (GESAudioSourceClass * klass)
 static void
 ges_audio_source_init (GESAudioSource * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_AUDIO_SOURCE, GESAudioSourcePrivate);
+  self->priv = ges_audio_source_get_instance_private (self);
 }
index 00fb448..03831ad 100644 (file)
@@ -32,8 +32,6 @@
 #include "ges-track-element.h"
 #include "ges-audio-test-source.h"
 
-G_DEFINE_TYPE (GESAudioTestSource, ges_audio_test_source,
-    GES_TYPE_AUDIO_SOURCE);
 #define DEFAULT_VOLUME 1.0
 
 struct _GESAudioTestSourcePrivate
@@ -47,6 +45,9 @@ enum
   PROP_0,
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESAudioTestSource, ges_audio_test_source,
+    GES_TYPE_AUDIO_SOURCE);
+
 static void ges_audio_test_source_get_property (GObject * object, guint
     property_id, GValue * value, GParamSpec * pspec);
 
@@ -61,8 +62,6 @@ ges_audio_test_source_class_init (GESAudioTestSourceClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GESAudioSourceClass *source_class = GES_AUDIO_SOURCE_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESAudioTestSourcePrivate));
-
   object_class->get_property = ges_audio_test_source_get_property;
   object_class->set_property = ges_audio_test_source_set_property;
 
@@ -72,9 +71,7 @@ ges_audio_test_source_class_init (GESAudioTestSourceClass * klass)
 static void
 ges_audio_test_source_init (GESAudioTestSource * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_AUDIO_TEST_SOURCE, GESAudioTestSourcePrivate);
-
+  self->priv = ges_audio_test_source_get_instance_private (self);
   self->priv->freq = 440;
   self->priv->volume = DEFAULT_VOLUME;
 }
index 7ce1dbd..68bc2f7 100644 (file)
@@ -56,7 +56,7 @@ struct _GESAudioTrackPrivate
   gpointer nothing;
 };
 
-G_DEFINE_TYPE (GESAudioTrack, ges_audio_track, GES_TYPE_TRACK);
+G_DEFINE_TYPE_WITH_PRIVATE (GESAudioTrack, ges_audio_track, GES_TYPE_TRACK);
 
 /****************************************************
  *              Private methods and utils           *
@@ -80,8 +80,7 @@ create_element_for_raw_audio_gap (GESTrack * track)
 static void
 ges_audio_track_init (GESAudioTrack * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE ((self), GES_TYPE_AUDIO_TRACK,
-      GESAudioTrackPrivate);
+  self->priv = ges_audio_track_get_instance_private (self);
 }
 
 static void
@@ -99,8 +98,6 @@ ges_audio_track_class_init (GESAudioTrackClass * klass)
 /*   GESTrackClass *parent_class = GES_TRACK_CLASS (klass);
  */
 
-  g_type_class_add_private (klass, sizeof (GESAudioTrackPrivate));
-
   object_class->finalize = ges_audio_track_finalize;
 
   GES_TRACK_CLASS (klass)->get_mixing_element = ges_smart_adder_new;
index bc6703b..10c70e2 100644 (file)
@@ -30,8 +30,6 @@
 
 #include <gst/controller/gstdirectcontrolbinding.h>
 
-G_DEFINE_TYPE (GESAudioTransition, ges_audio_transition, GES_TYPE_TRANSITION);
-
 struct _GESAudioTransitionPrivate
 {
   /* these enable volume interpolation. Unlike video, both inputs are adjusted
@@ -47,6 +45,8 @@ enum
   PROP_0,
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESAudioTransition, ges_audio_transition,
+    GES_TYPE_TRANSITION);
 
 #define fast_element_link(a,b) gst_element_link_pads_full((a),"src",(b),"sink",GST_PAD_LINK_CHECK_NOTHING)
 
@@ -78,8 +78,6 @@ ges_audio_transition_class_init (GESAudioTransitionClass * klass)
   GObjectClass *object_class;
   GESTrackElementClass *toclass;
 
-  g_type_class_add_private (klass, sizeof (GESAudioTransitionPrivate));
-
   object_class = G_OBJECT_CLASS (klass);
   toclass = GES_TRACK_ELEMENT_CLASS (klass);
 
@@ -96,8 +94,7 @@ static void
 ges_audio_transition_init (GESAudioTransition * self)
 {
 
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_AUDIO_TRANSITION, GESAudioTransitionPrivate);
+  self->priv = ges_audio_transition_get_instance_private (self);
 }
 
 static void
index 1211a7f..11c3675 100644 (file)
@@ -118,7 +118,7 @@ ges_extractable_interface_init (GESExtractableInterface * iface)
 }
 
 G_DEFINE_TYPE_WITH_CODE (GESAudioUriSource, ges_audio_uri_source,
-    GES_TYPE_AUDIO_SOURCE,
+    GES_TYPE_AUDIO_SOURCE, G_ADD_PRIVATE (GESAudioUriSource)
     G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE,
         ges_extractable_interface_init));
 
@@ -176,8 +176,6 @@ ges_audio_uri_source_class_init (GESAudioUriSourceClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GESAudioSourceClass *source_class = GES_AUDIO_SOURCE_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESAudioUriSourcePrivate));
-
   object_class->get_property = ges_audio_uri_source_get_property;
   object_class->set_property = ges_audio_uri_source_set_property;
   object_class->dispose = ges_audio_uri_source_dispose;
@@ -197,8 +195,7 @@ ges_audio_uri_source_class_init (GESAudioUriSourceClass * klass)
 static void
 ges_audio_uri_source_init (GESAudioUriSource * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_AUDIO_URI_SOURCE, GESAudioUriSourcePrivate);
+  self->priv = ges_audio_uri_source_get_instance_private (self);
 
   g_signal_connect (self, "notify::track",
       G_CALLBACK (ges_audio_uri_source_track_set_cb), NULL);
index 763529a..18e03d1 100644 (file)
 #include "ges-internal.h"
 #include "ges-types.h"
 
-G_DEFINE_ABSTRACT_TYPE (GESBaseEffectClip, ges_base_effect_clip,
-    GES_TYPE_OPERATION_CLIP);
-
 struct _GESBaseEffectClipPrivate
 {
   void *nothing;
 };
 
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESBaseEffectClip, ges_base_effect_clip,
+    GES_TYPE_OPERATION_CLIP);
 
 static void
 ges_base_effect_clip_class_init (GESBaseEffectClipClass * klass)
 {
-  g_type_class_add_private (klass, sizeof (GESBaseEffectClipPrivate));
-
 }
 
 static void
 ges_base_effect_clip_init (GESBaseEffectClip * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_BASE_EFFECT_CLIP, GESBaseEffectClipPrivate);
+  self->priv = ges_base_effect_clip_get_instance_private (self);
 
 }
index 5b71aaf..ee11d6c 100644 (file)
 #include "ges-track-element.h"
 #include "ges-base-effect.h"
 
-G_DEFINE_ABSTRACT_TYPE (GESBaseEffect, ges_base_effect, GES_TYPE_OPERATION);
-
 struct _GESBaseEffectPrivate
 {
   void *nothing;
 };
 
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESBaseEffect, ges_base_effect,
+    GES_TYPE_OPERATION);
+
 static void
 ges_base_effect_class_init (GESBaseEffectClass * klass)
 {
-  g_type_class_add_private (klass, sizeof (GESBaseEffectPrivate));
 }
 
 static void
 ges_base_effect_init (GESBaseEffect * self)
 {
-  self->priv =
-      G_TYPE_INSTANCE_GET_PRIVATE (self, GES_TYPE_BASE_EFFECT,
-      GESBaseEffectPrivate);
+  self->priv = ges_base_effect_get_instance_private (self);
 }
index 040894c..b2347bf 100644 (file)
@@ -33,18 +33,16 @@ struct _GESBaseTransitionClipPrivate
   void *nothing;
 };
 
-G_DEFINE_ABSTRACT_TYPE (GESBaseTransitionClip, ges_base_transition_clip,
-    GES_TYPE_OPERATION_CLIP);
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESBaseTransitionClip,
+    ges_base_transition_clip, GES_TYPE_OPERATION_CLIP);
 
 static void
 ges_base_transition_clip_class_init (GESBaseTransitionClipClass * klass)
 {
-  g_type_class_add_private (klass, sizeof (GESBaseTransitionClipPrivate));
 }
 
 static void
 ges_base_transition_clip_init (GESBaseTransitionClip * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_BASE_TRANSITION_CLIP, GESBaseTransitionClipPrivate);
+  self->priv = ges_base_transition_clip_get_instance_private (self);
 }
index 0943085..ca96792 100644 (file)
@@ -26,8 +26,6 @@ GST_DEBUG_CATEGORY_STATIC (base_xml_formatter);
 #define GST_CAT_DEFAULT base_xml_formatter
 
 #define parent_class ges_base_xml_formatter_parent_class
-G_DEFINE_ABSTRACT_TYPE (GESBaseXmlFormatter, ges_base_xml_formatter,
-    GES_TYPE_FORMATTER);
 
 #define _GET_PRIV(o)\
   (((GESBaseXmlFormatter*) o)->priv)
@@ -160,6 +158,9 @@ enum
 static guint signals[LAST_SIGNAL];
 */
 
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESBaseXmlFormatter,
+    ges_base_xml_formatter, GES_TYPE_FORMATTER);
+
 static GMarkupParseContext *
 create_parser_context (GESBaseXmlFormatter * self, const gchar * uri,
     GError ** error)
@@ -373,8 +374,7 @@ ges_base_xml_formatter_init (GESBaseXmlFormatter * self)
 {
   GESBaseXmlFormatterPrivate *priv;
 
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_BASE_XML_FORMATTER, GESBaseXmlFormatterPrivate);
+  self->priv = ges_base_xml_formatter_get_instance_private (self);
 
   priv = self->priv;
 
@@ -405,7 +405,6 @@ ges_base_xml_formatter_class_init (GESBaseXmlFormatterClass * self_class)
   GESFormatterClass *formatter_klass = GES_FORMATTER_CLASS (self_class);
   GObjectClass *object_class = G_OBJECT_CLASS (self_class);
 
-  g_type_class_add_private (self_class, sizeof (GESBaseXmlFormatterPrivate));
   object_class->dispose = _dispose;
   object_class->finalize = _finalize;
 
index f0c66cd..4561084 100644 (file)
@@ -29,7 +29,6 @@
 
 #include "ges-clip-asset.h"
 
-G_DEFINE_TYPE (GESClipAsset, ges_clip_asset, GES_TYPE_ASSET);
 #define GES_CLIP_ASSET_GET_PRIVATE(o)\
   (G_TYPE_INSTANCE_GET_PRIVATE ((o), GES_TYPE_CLIP_ASSET, \
    GESClipAssetPrivate))
@@ -51,6 +50,8 @@ enum
 
 static GParamSpec *properties[PROP_LAST];
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESClipAsset, ges_clip_asset, GES_TYPE_ASSET);
+
 /***********************************************
  *                                             *
  *      GObject vmetods implemenation          *
@@ -89,7 +90,7 @@ _set_property (GObject * object, guint property_id,
 static void
 ges_clip_asset_init (GESClipAsset * self)
 {
-  self->priv = GES_CLIP_ASSET_GET_PRIVATE (self);
+  self->priv = ges_clip_asset_get_instance_private (self);
 }
 
 static void
@@ -113,7 +114,6 @@ ges_clip_asset_class_init (GESClipAssetClass * self_class)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (self_class);
 
-  g_type_class_add_private (self_class, sizeof (GESClipAssetPrivate));
   object_class->constructed = _constructed;
   object_class->get_property = _get_property;
   object_class->set_property = _set_property;
index 0e06784..347cfbf 100644 (file)
@@ -47,8 +47,6 @@ static gboolean _roll_end (GESTimelineElement * element, GstClockTime end);
 static gboolean _trim (GESTimelineElement * element, GstClockTime start);
 static void _compute_height (GESContainer * container);
 
-G_DEFINE_ABSTRACT_TYPE (GESClip, ges_clip, GES_TYPE_CONTAINER);
-
 typedef enum
 {
   GES_CLIP_IS_SPLITTING = (1 << 0),
@@ -97,6 +95,8 @@ enum
 
 static GParamSpec *properties[PROP_LAST];
 
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESClip, ges_clip, GES_TYPE_CONTAINER);
+
 /****************************************************
  *              Listen to our children              *
  ****************************************************/
@@ -803,8 +803,6 @@ ges_clip_class_init (GESClipClass * klass)
   GESContainerClass *container_class = GES_CONTAINER_CLASS (klass);
   GESTimelineElementClass *element_class = GES_TIMELINE_ELEMENT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESClipPrivate));
-
   object_class->get_property = ges_clip_get_property;
   object_class->set_property = ges_clip_set_property;
   object_class->finalize = ges_clip_finalize;
@@ -864,8 +862,7 @@ ges_clip_class_init (GESClipClass * klass)
 static void
 ges_clip_init (GESClip * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_CLIP, GESClipPrivate);
+  self->priv = ges_clip_get_instance_private (self);
   /* FIXME, check why it was done this way _DURATION (self) = GST_SECOND; */
   self->priv->layer = NULL;
   self->priv->nb_effects = 0;
index 7cef5e5..4dbc181 100644 (file)
@@ -32,7 +32,7 @@ struct _GESCommandLineFormatterPrivate
 };
 
 
-G_DEFINE_TYPE (GESCommandLineFormatter, ges_command_line_formatter,
+G_DEFINE_TYPE_WITH_PRIVATE (GESCommandLineFormatter, ges_command_line_formatter,
     GES_TYPE_FORMATTER);
 
 static gboolean
@@ -514,21 +514,14 @@ fail:
 }
 
 static void
-ges_command_line_formatter_init (GESCommandLineFormatter *
-    ges_command_line_formatter)
+ges_command_line_formatter_init (GESCommandLineFormatter * formatter)
 {
-  ges_command_line_formatter->priv =
-      G_TYPE_INSTANCE_GET_PRIVATE (ges_command_line_formatter,
-      GES_TYPE_COMMAND_LINE_FORMATTER, GESCommandLineFormatterPrivate);
-
-  /* TODO: Add initialization code here */
+  formatter->priv = ges_command_line_formatter_get_instance_private (formatter);
 }
 
 static void
 ges_command_line_formatter_finalize (GObject * object)
 {
-  /* TODO: Add deinitalization code here */
-
   G_OBJECT_CLASS (ges_command_line_formatter_parent_class)->finalize (object);
 }
 
@@ -538,8 +531,6 @@ ges_command_line_formatter_class_init (GESCommandLineFormatterClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GESFormatterClass *formatter_klass = GES_FORMATTER_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESCommandLineFormatterPrivate));
-
   object_class->finalize = ges_command_line_formatter_finalize;
 
   formatter_klass->can_load_uri = _can_load;
index 6a8e572..5b26cfa 100644 (file)
 
 #include <string.h>
 
-#define _GET_PRIV(o) (G_TYPE_INSTANCE_GET_PRIVATE (self, GES_TYPE_CONTAINER, GESContainerPrivate))
-
-G_DEFINE_ABSTRACT_TYPE (GESContainer, ges_container, GES_TYPE_TIMELINE_ELEMENT);
-
 GST_DEBUG_CATEGORY_STATIC (ges_container_debug);
 #undef GST_CAT_DEFAULT
 #define GST_CAT_DEFAULT ges_container_debug
@@ -95,6 +91,9 @@ enum
 
 static GParamSpec *properties[PROP_LAST];
 
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESContainer, ges_container,
+    GES_TYPE_TIMELINE_ELEMENT);
+
 /************************
  *   Private  methods   *
  ************************/
@@ -425,8 +424,6 @@ ges_container_class_init (GESContainerClass * klass)
   GST_DEBUG_CATEGORY_INIT (ges_container_debug, "gescontainer",
       GST_DEBUG_FG_YELLOW, "ges container");
 
-  g_type_class_add_private (klass, sizeof (GESContainerPrivate));
-
   object_class->get_property = _get_property;
   object_class->set_property = _set_property;
   object_class->dispose = _dispose;
@@ -494,7 +491,7 @@ ges_container_class_init (GESContainerClass * klass)
 static void
 ges_container_init (GESContainer * self)
 {
-  self->priv = _GET_PRIV (self);
+  self->priv = ges_container_get_instance_private (self);
 
   /* FIXME, check why default was GST_SECOND? (before the existend of
    * ges-container)
index 8189c53..8150855 100644 (file)
 #include "ges-track-element.h"
 #include "ges-internal.h"
 
-G_DEFINE_TYPE (GESEffectAsset, ges_effect_asset, GES_TYPE_TRACK_ELEMENT_ASSET);
-
 struct _GESEffectAssetPrivate
 {
   gpointer nothing;
 };
 
-
+G_DEFINE_TYPE_WITH_PRIVATE (GESEffectAsset, ges_effect_asset,
+    GES_TYPE_TRACK_ELEMENT_ASSET);
 
 static void
 _fill_track_type (GESAsset * asset)
@@ -78,8 +77,7 @@ _extract (GESAsset * asset, GError ** error)
 static void
 ges_effect_asset_init (GESEffectAsset * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_EFFECT_ASSET, GESEffectAssetPrivate);
+  self->priv = ges_effect_asset_get_instance_private (self);
 }
 
 static void
@@ -102,8 +100,6 @@ ges_effect_asset_class_init (GESEffectAssetClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GESAssetClass *asset_class = GES_ASSET_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESEffectAssetPrivate));
-
   object_class->finalize = ges_effect_asset_finalize;
   object_class->constructed = ges_effect_asset_constructed;
   asset_class->extract = _extract;
index af99307..fab0370 100644 (file)
 #include "ges-internal.h"
 #include "ges-types.h"
 
-G_DEFINE_TYPE (GESEffectClip, ges_effect_clip, GES_TYPE_BASE_EFFECT_CLIP);
-
 struct _GESEffectClipPrivate
 {
   gchar *video_bin_description;
   gchar *audio_bin_description;
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESEffectClip, ges_effect_clip,
+    GES_TYPE_BASE_EFFECT_CLIP);
+
 enum
 {
   PROP_0,
@@ -103,8 +104,6 @@ ges_effect_clip_class_init (GESEffectClipClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GESClipClass *timobj_class = GES_CLIP_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESEffectClipPrivate));
-
   object_class->get_property = ges_effect_clip_get_property;
   object_class->set_property = ges_effect_clip_set_property;
   object_class->finalize = ges_effect_clip_finalize;
@@ -143,9 +142,7 @@ ges_effect_clip_class_init (GESEffectClipClass * klass)
 static void
 ges_effect_clip_init (GESEffectClip * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_EFFECT_CLIP, GESEffectClipPrivate);
-
+  self->priv = ges_effect_clip_get_instance_private (self);
 }
 
 static GESTrackElement *
index d8d0ef5..d9c31d7 100644 (file)
 
 static void ges_extractable_interface_init (GESExtractableInterface * iface);
 
-G_DEFINE_TYPE_WITH_CODE (GESEffect,
-    ges_effect, GES_TYPE_BASE_EFFECT,
-    G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE,
-        ges_extractable_interface_init));
 
 static void ges_effect_dispose (GObject * object);
 static void ges_effect_finalize (GObject * object);
@@ -53,6 +49,11 @@ enum
   PROP_BIN_DESCRIPTION,
 };
 
+G_DEFINE_TYPE_WITH_CODE (GESEffect,
+    ges_effect, GES_TYPE_BASE_EFFECT, G_ADD_PRIVATE (GESEffect)
+    G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE,
+        ges_extractable_interface_init));
+
 static gchar *
 extractable_check_id (GType type, const gchar * id, GError ** error)
 {
@@ -186,8 +187,6 @@ ges_effect_class_init (GESEffectClass * klass)
   obj_bg_class = GES_TRACK_ELEMENT_CLASS (klass);
   element_class = GES_TIMELINE_ELEMENT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESEffectPrivate));
-
   object_class->get_property = ges_effect_get_property;
   object_class->set_property = ges_effect_set_property;
   object_class->dispose = ges_effect_dispose;
@@ -220,8 +219,7 @@ ges_effect_class_init (GESEffectClass * klass)
 static void
 ges_effect_init (GESEffect * self)
 {
-  self->priv =
-      G_TYPE_INSTANCE_GET_PRIVATE (self, GES_TYPE_EFFECT, GESEffectPrivate);
+  self->priv = ges_effect_get_instance_private (self);
 }
 
 static void
index 8dfdf06..5ff9f04 100644 (file)
 /* TODO Add a GCancellable somewhere in the API */
 static void ges_extractable_interface_init (GESExtractableInterface * iface);
 
-G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GESFormatter, ges_formatter,
-    G_TYPE_INITIALLY_UNOWNED, G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE,
-        ges_extractable_interface_init));
-
 struct _GESFormatterPrivate
 {
   gpointer nothing;
 };
 
+G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GESFormatter, ges_formatter,
+    G_TYPE_INITIALLY_UNOWNED, G_ADD_PRIVATE (GESFormatter)
+    G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE,
+        ges_extractable_interface_init));
+
 static void ges_formatter_dispose (GObject * object);
 static gboolean default_can_load_uri (GESFormatter * dummy_instance,
     const gchar * uri, GError ** error);
@@ -113,8 +114,6 @@ ges_formatter_class_init (GESFormatterClass * klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESFormatterPrivate));
-
   object_class->dispose = ges_formatter_dispose;
 
   klass->can_load_uri = default_can_load_uri;
@@ -134,8 +133,7 @@ ges_formatter_class_init (GESFormatterClass * klass)
 static void
 ges_formatter_init (GESFormatter * object)
 {
-  object->priv = G_TYPE_INSTANCE_GET_PRIVATE (object,
-      GES_TYPE_FORMATTER, GESFormatterPrivate);
+  object->priv = ges_formatter_get_instance_private (object);
   object->project = NULL;
 }
 
index 16dcaae..f676269 100644 (file)
@@ -39,8 +39,6 @@
 #include <string.h>
 
 #define parent_class ges_group_parent_class
-G_DEFINE_TYPE (GESGroup, ges_group, GES_TYPE_CONTAINER);
-
 #define GES_CHILDREN_INIBIT_SIGNAL_EMISSION (GES_CHILDREN_LAST + 1)
 #define GES_GROUP_SIGNALS_IDS_DATA_KEY_FORMAT "ges-group-signals-ids-%p"
 
@@ -76,6 +74,8 @@ enum
 
 static GParamSpec *properties[PROP_LAST] = { NULL, };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESGroup, ges_group, GES_TYPE_CONTAINER);
+
 /****************************************************
  *              Our listening of children           *
  ****************************************************/
@@ -711,8 +711,6 @@ ges_group_class_init (GESGroupClass * klass)
   GESContainerClass *container_class = GES_CONTAINER_CLASS (klass);
   GESTimelineElementClass *element_class = GES_TIMELINE_ELEMENT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESGroupPrivate));
-
   object_class->get_property = ges_group_get_property;
   object_class->set_property = ges_group_set_property;
 
@@ -790,8 +788,7 @@ ges_group_class_init (GESGroupClass * klass)
 static void
 ges_group_init (GESGroup * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_GROUP, GESGroupPrivate);
+  self->priv = ges_group_get_instance_private (self);
 
   self->priv->setting_value = FALSE;
 }
index 619aa91..54ebcb4 100644 (file)
@@ -33,7 +33,6 @@
 #include "ges-track-element.h"
 #include "ges-image-source.h"
 
-G_DEFINE_TYPE (GESImageSource, ges_image_source, GES_TYPE_VIDEO_SOURCE);
 
 struct _GESImageSourcePrivate
 {
@@ -47,6 +46,8 @@ enum
   PROP_URI
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESImageSource, ges_image_source,
+    GES_TYPE_VIDEO_SOURCE);
 static void
 ges_image_source_get_property (GObject * object, guint property_id,
     GValue * value, GParamSpec * pspec)
@@ -152,8 +153,6 @@ ges_image_source_class_init (GESImageSourceClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GESVideoSourceClass *source_class = GES_VIDEO_SOURCE_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESImageSourcePrivate));
-
   object_class->get_property = ges_image_source_get_property;
   object_class->set_property = ges_image_source_set_property;
   object_class->dispose = ges_image_source_dispose;
@@ -174,8 +173,7 @@ ges_image_source_class_init (GESImageSourceClass * klass)
 static void
 ges_image_source_init (GESImageSource * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_IMAGE_SOURCE, GESImageSourcePrivate);
+  self->priv = ges_image_source_get_instance_private (self);
 }
 
 /**
index 0bfae4b..fcc036c 100644 (file)
 static void ges_meta_container_interface_init
     (GESMetaContainerInterface * iface);
 
-G_DEFINE_TYPE_WITH_CODE (GESLayer, ges_layer,
-    G_TYPE_INITIALLY_UNOWNED, G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE, NULL)
-    G_IMPLEMENT_INTERFACE (GES_TYPE_META_CONTAINER,
-        ges_meta_container_interface_init));
-
 struct _GESLayerPrivate
 {
   /*< private > */
@@ -78,6 +73,12 @@ enum
 
 static guint ges_layer_signals[LAST_SIGNAL] = { 0 };
 
+G_DEFINE_TYPE_WITH_CODE (GESLayer, ges_layer,
+    G_TYPE_INITIALLY_UNOWNED, G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE, NULL)
+    G_ADD_PRIVATE (GESLayer)
+    G_IMPLEMENT_INTERFACE (GES_TYPE_META_CONTAINER,
+        ges_meta_container_interface_init));
+
 /* GObject standard vmethods */
 static void
 ges_layer_get_property (GObject * object, guint property_id,
@@ -150,8 +151,6 @@ ges_layer_class_init (GESLayerClass * klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESLayerPrivate));
-
   object_class->get_property = ges_layer_get_property;
   object_class->set_property = ges_layer_set_property;
   object_class->dispose = ges_layer_dispose;
@@ -213,8 +212,7 @@ ges_layer_class_init (GESLayerClass * klass)
 static void
 ges_layer_init (GESLayer * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_LAYER, GESLayerPrivate);
+  self->priv = ges_layer_get_instance_private (self);
 
   self->priv->priority = 0;
   self->priv->auto_transition = FALSE;
index 30cea55..ce9e19d 100644 (file)
@@ -48,11 +48,6 @@ ges_extractable_interface_init (GESExtractableInterface * iface)
   iface->check_id = ges_extractable_check_id;
 }
 
-G_DEFINE_TYPE_WITH_CODE (GESMultiFileSource, ges_multi_file_source,
-    GES_TYPE_VIDEO_SOURCE,
-    G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE,
-        ges_extractable_interface_init));
-
 struct _GESMultiFileSourcePrivate
 {
   /*  Dummy variable */
@@ -65,6 +60,11 @@ enum
   PROP_URI
 };
 
+G_DEFINE_TYPE_WITH_CODE (GESMultiFileSource, ges_multi_file_source,
+    GES_TYPE_VIDEO_SOURCE, G_ADD_PRIVATE (GESMultiFileSource)
+    G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE,
+        ges_extractable_interface_init));
+
 static void
 ges_multi_file_source_get_property (GObject * object, guint property_id,
     GValue * value, GParamSpec * pspec)
@@ -222,8 +222,6 @@ ges_multi_file_source_class_init (GESMultiFileSourceClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GESVideoSourceClass *source_class = GES_VIDEO_SOURCE_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESMultiFileSourcePrivate));
-
   object_class->get_property = ges_multi_file_source_get_property;
   object_class->set_property = ges_multi_file_source_set_property;
   object_class->dispose = ges_multi_file_source_dispose;
@@ -252,8 +250,7 @@ ges_multi_file_source_class_init (GESMultiFileSourceClass * klass)
 static void
 ges_multi_file_source_init (GESMultiFileSource * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_MULTI_FILE_SOURCE, GESMultiFileSourcePrivate);
+  self->priv = ges_multi_file_source_get_instance_private (self);
 }
 
 /**
index 445de76..9b81168 100644 (file)
 #include "ges-internal.h"
 #include "ges-operation-clip.h"
 
-G_DEFINE_ABSTRACT_TYPE (GESOperationClip, ges_operation_clip, GES_TYPE_CLIP);
-
 struct _GESOperationClipPrivate
 {
   void *nada;
 };
 
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESOperationClip, ges_operation_clip,
+    GES_TYPE_CLIP);
+
 static void
 ges_operation_clip_class_init (GESOperationClipClass * klass)
 {
-  g_type_class_add_private (klass, sizeof (GESOperationClipPrivate));
 }
 
 static void
 ges_operation_clip_init (GESOperationClip * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_OPERATION_CLIP, GESOperationClipPrivate);
+  self->priv = ges_operation_clip_get_instance_private (self);
 }
index 9bfb7bd..6bf10cd 100644 (file)
 #include "ges-track-element.h"
 #include "ges-operation.h"
 
-G_DEFINE_ABSTRACT_TYPE (GESOperation, ges_operation, GES_TYPE_TRACK_ELEMENT);
-
 struct _GESOperationPrivate
 {
   /* Dummy variable */
   void *nothing;
 };
 
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESOperation, ges_operation,
+    GES_TYPE_TRACK_ELEMENT);
+
 static void
 ges_operation_class_init (GESOperationClass * klass)
 {
   GESTrackElementClass *track_class = GES_TRACK_ELEMENT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESOperationPrivate));
-
   track_class->nleobject_factorytype = "nleoperation";
 }
 
 static void
 ges_operation_init (GESOperation * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_OPERATION, GESOperationPrivate);
+  self->priv = ges_operation_get_instance_private (self);
 }
index 52db863..51e0488 100644 (file)
 #include "ges-operation-clip.h"
 #include "ges-overlay-clip.h"
 
-G_DEFINE_ABSTRACT_TYPE (GESOverlayClip, ges_overlay_clip,
-    GES_TYPE_OPERATION_CLIP);
-
 struct _GESOverlayClipPrivate
 {
   /*  Dummy variable */
   void *nothing;
 };
 
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESOverlayClip, ges_overlay_clip,
+    GES_TYPE_OPERATION_CLIP);
+
 static void
 ges_overlay_clip_class_init (GESOverlayClipClass * klass)
 {
-  g_type_class_add_private (klass, sizeof (GESOverlayClipPrivate));
 }
 
 static void
 ges_overlay_clip_init (GESOverlayClip * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_OVERLAY_CLIP, GESOverlayClipPrivate);
+  self->priv = ges_overlay_clip_get_instance_private (self);
 }
index 94c9f4c..c82f4ff 100644 (file)
@@ -151,7 +151,7 @@ video_overlay_init (gpointer g_iface, gpointer g_iface_data)
 }
 
 G_DEFINE_TYPE_WITH_CODE (GESPipeline, ges_pipeline,
-    GST_TYPE_PIPELINE,
+    GST_TYPE_PIPELINE, G_ADD_PRIVATE (GESPipeline)
     G_IMPLEMENT_INTERFACE (GST_TYPE_VIDEO_OVERLAY, video_overlay_init));
 
 static void
@@ -283,8 +283,6 @@ ges_pipeline_class_init (GESPipelineClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESPipelinePrivate));
-
   GST_DEBUG_CATEGORY_INIT (ges_pipeline_debug, "gespipeline",
       GST_DEBUG_FG_YELLOW, "ges pipeline");
 
@@ -368,8 +366,7 @@ static void
 ges_pipeline_init (GESPipeline * self)
 {
   GST_INFO_OBJECT (self, "Creating new 'playsink'");
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_PIPELINE, GESPipelinePrivate);
+  self->priv = ges_pipeline_get_instance_private (self);
 
   self->priv->playsink =
       gst_element_factory_make ("playsink", "internal-sinks");
index 0acaa76..835554b 100644 (file)
@@ -43,8 +43,6 @@
 #define VERSION "0.2"
 #define DOUBLE_VERSION 0.2
 
-G_DEFINE_TYPE (GESPitiviFormatter, ges_pitivi_formatter, GES_TYPE_FORMATTER);
-
 #undef GST_CAT_DEFAULT
 GST_DEBUG_CATEGORY_STATIC (ges_pitivi_formatter_debug);
 #define GST_CAT_DEFAULT ges_pitivi_formatter_debug
@@ -94,6 +92,10 @@ struct _GESPitiviFormatterPrivate
   guint nb_sources;
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESPitiviFormatter, ges_pitivi_formatter,
+    GES_TYPE_FORMATTER);
+
+
 static void
 list_table_destroyer (gpointer key, gpointer value, void *unused)
 {
@@ -714,7 +716,6 @@ ges_pitivi_formatter_class_init (GESPitiviFormatterClass * klass)
 
   object_class = G_OBJECT_CLASS (klass);
   formatter_klass = GES_FORMATTER_CLASS (klass);
-  g_type_class_add_private (klass, sizeof (GESPitiviFormatterPrivate));
 
   formatter_klass->can_load_uri = pitivi_can_load_uri;
   formatter_klass->save_to_uri = NULL;
@@ -731,8 +732,7 @@ ges_pitivi_formatter_init (GESPitiviFormatter * self)
 {
   GESPitiviFormatterPrivate *priv;
 
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_PITIVI_FORMATTER, GESPitiviFormatterPrivate);
+  self->priv = ges_pitivi_formatter_get_instance_private (self);
 
   priv = self->priv;
 
index 599f8fb..e4d9f20 100644 (file)
@@ -53,8 +53,6 @@ static GHashTable *tried_uris = NULL;
 /* TODO We should rely on both extractable_type and @id to identify
  * a Asset, not only @id
  */
-G_DEFINE_TYPE (GESProject, ges_project, GES_TYPE_ASSET);
-
 struct _GESProjectPrivate
 {
   GHashTable *assets;
@@ -87,6 +85,8 @@ enum
   LAST_SIGNAL
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESProject, ges_project, GES_TYPE_ASSET);
+
 static guint _signals[LAST_SIGNAL] = { 0 };
 
 static guint nb_projects = 0;
@@ -422,8 +422,6 @@ ges_project_class_init (GESProjectClass * klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESProjectPrivate));
-
   klass->asset_added = NULL;
   klass->missing_uri = ges_missing_uri_default;
   klass->loading_error = NULL;
@@ -545,8 +543,7 @@ static void
 ges_project_init (GESProject * project)
 {
   GESProjectPrivate *priv = project->priv =
-      G_TYPE_INSTANCE_GET_PRIVATE (project,
-      GES_TYPE_PROJECT, GESProjectPrivate);
+      ges_project_get_instance_private (project);
 
   priv->uri = NULL;
   priv->formatters = NULL;
index dac3459..24dd0bf 100644 (file)
@@ -41,7 +41,7 @@ enum
   PROP_0,
 };
 
-G_DEFINE_TYPE (GESSourceClip, ges_source_clip, GES_TYPE_CLIP);
+G_DEFINE_TYPE_WITH_PRIVATE (GESSourceClip, ges_source_clip, GES_TYPE_CLIP);
 
 static void
 ges_source_clip_get_property (GObject * object, guint property_id,
@@ -74,8 +74,6 @@ ges_source_clip_class_init (GESSourceClipClass * klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESSourceClipPrivate));
-
   object_class->get_property = ges_source_clip_get_property;
   object_class->set_property = ges_source_clip_set_property;
   object_class->finalize = ges_source_clip_finalize;
@@ -84,6 +82,5 @@ ges_source_clip_class_init (GESSourceClipClass * klass)
 static void
 ges_source_clip_init (GESSourceClip * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_SOURCE_CLIP, GESSourceClipPrivate);
+  self->priv = ges_source_clip_get_instance_private (self);
 }
index c0fc180..3c60523 100644 (file)
 #include "ges-source.h"
 #include "ges-layer.h"
 #include "gstframepositioner.h"
-
-G_DEFINE_TYPE (GESSource, ges_source, GES_TYPE_TRACK_ELEMENT);
-
 struct _GESSourcePrivate
 {
   /*  Dummy variable */
   GstFramePositioner *positioner;
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESSource, ges_source, GES_TYPE_TRACK_ELEMENT);
+
 /******************************
  *   Internal helper methods  *
  ******************************/
@@ -145,8 +144,6 @@ ges_source_class_init (GESSourceClass * klass)
 {
   GESTrackElementClass *track_class = GES_TRACK_ELEMENT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESSourcePrivate));
-
   track_class->nleobject_factorytype = "nlesource";
   track_class->create_element = NULL;
 }
@@ -154,6 +151,5 @@ ges_source_class_init (GESSourceClass * klass)
 static void
 ges_source_init (GESSource * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_SOURCE, GESSourcePrivate);
+  self->priv = ges_source_get_instance_private (self);
 }
index 2077a4a..9f2c5fb 100644 (file)
@@ -37,8 +37,6 @@
 #include "ges-audio-test-source.h"
 #include <string.h>
 
-G_DEFINE_TYPE (GESTestClip, ges_test_clip, GES_TYPE_SOURCE_CLIP);
-
 #define DEFAULT_VOLUME 1.0
 #define DEFAULT_VPATTERN GES_VIDEO_TEST_PATTERN_SMPTE
 
@@ -59,6 +57,8 @@ enum
   PROP_VOLUME,
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESTestClip, ges_test_clip, GES_TYPE_SOURCE_CLIP);
+
 static GESTrackElement
     * ges_test_clip_create_track_element (GESClip * clip, GESTrackType type);
 
@@ -116,8 +116,6 @@ ges_test_clip_class_init (GESTestClipClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GESClipClass *timobj_class = GES_CLIP_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESTestClipPrivate));
-
   object_class->get_property = ges_test_clip_get_property;
   object_class->set_property = ges_test_clip_set_property;
 
@@ -168,8 +166,7 @@ ges_test_clip_class_init (GESTestClipClass * klass)
 static void
 ges_test_clip_init (GESTestClip * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_TEST_CLIP, GESTestClipPrivate);
+  self->priv = ges_test_clip_get_instance_private (self);
 
   self->priv->freq = 0;
   self->priv->volume = 0;
index 0238431..57f1f3a 100644 (file)
@@ -32,8 +32,6 @@
 #include "ges-text-overlay.h"
 #include <string.h>
 
-G_DEFINE_TYPE (GESTextOverlayClip, ges_text_overlay_clip,
-    GES_TYPE_OVERLAY_CLIP);
 
 #define DEFAULT_PROP_TEXT ""
 #define DEFAULT_PROP_FONT_DESC "Serif 36"
@@ -63,6 +61,9 @@ enum
   PROP_YPOS,
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESTextOverlayClip, ges_text_overlay_clip,
+    GES_TYPE_OVERLAY_CLIP);
+
 static GESTrackElement
     * ges_text_overlay_clip_create_track_element (GESClip * clip,
     GESTrackType type);
@@ -152,8 +153,6 @@ ges_text_overlay_clip_class_init (GESTextOverlayClipClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GESClipClass *timobj_class = GES_CLIP_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESTextOverlayClipPrivate));
-
   object_class->get_property = ges_text_overlay_clip_get_property;
   object_class->set_property = ges_text_overlay_clip_set_property;
   object_class->dispose = ges_text_overlay_clip_dispose;
@@ -239,8 +238,7 @@ ges_text_overlay_clip_class_init (GESTextOverlayClipClass * klass)
 static void
 ges_text_overlay_clip_init (GESTextOverlayClip * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_OVERLAY_TEXT_CLIP, GESTextOverlayClipPrivate);
+  self->priv = ges_text_overlay_clip_get_instance_private (self);
 
   GES_TIMELINE_ELEMENT (self)->duration = 0;
   /* Not 100% needed since gobject contents are memzero'd when created */
index 22c5835..1278a6d 100644 (file)
@@ -30,8 +30,6 @@
 #include "ges-title-source.h"
 #include "ges-text-overlay.h"
 
-G_DEFINE_TYPE (GESTextOverlay, ges_text_overlay, GES_TYPE_OPERATION);
-
 struct _GESTextOverlayPrivate
 {
   gchar *text;
@@ -49,6 +47,9 @@ enum
   PROP_0,
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESTextOverlay, ges_text_overlay,
+    GES_TYPE_OPERATION);
+
 static void ges_text_overlay_dispose (GObject * object);
 
 static void ges_text_overlay_finalize (GObject * object);
@@ -67,8 +68,6 @@ ges_text_overlay_class_init (GESTextOverlayClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GESTrackElementClass *bg_class = GES_TRACK_ELEMENT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESTextOverlayPrivate));
-
   object_class->get_property = ges_text_overlay_get_property;
   object_class->set_property = ges_text_overlay_set_property;
   object_class->dispose = ges_text_overlay_dispose;
@@ -80,8 +79,7 @@ ges_text_overlay_class_init (GESTextOverlayClass * klass)
 static void
 ges_text_overlay_init (GESTextOverlay * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_TEXT_OVERLAY, GESTextOverlayPrivate);
+  self->priv = ges_text_overlay_get_instance_private (self);
 
   self->priv->text = NULL;
   self->priv->font_desc = NULL;
index f68acda..bfa3889 100644 (file)
@@ -52,11 +52,6 @@ ges_extractable_interface_init (GESExtractableInterface * iface)
   iface->set_asset = extractable_set_asset;
 }
 
-G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GESTimelineElement, ges_timeline_element,
-    G_TYPE_INITIALLY_UNOWNED,
-    G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE, ges_extractable_interface_init)
-    G_IMPLEMENT_INTERFACE (GES_TYPE_META_CONTAINER, NULL));
-
 enum
 {
   PROP_0,
@@ -107,6 +102,11 @@ typedef struct
   GESTimelineElement *self;
 } EmitDeepNotifyInIdleData;
 
+G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GESTimelineElement, ges_timeline_element,
+    G_TYPE_INITIALLY_UNOWNED, G_ADD_PRIVATE (GESTimelineElement)
+    G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE, ges_extractable_interface_init)
+    G_IMPLEMENT_INTERFACE (GES_TYPE_META_CONTAINER, NULL));
+
 static void
 _set_child_property (GESTimelineElement * self G_GNUC_UNUSED, GObject * child,
     GParamSpec * pspec, GValue * value)
@@ -297,8 +297,7 @@ _child_prop_handler_free (ChildPropHandler * handler)
 static void
 ges_timeline_element_init (GESTimelineElement * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_TIMELINE_ELEMENT, GESTimelineElementPrivate);
+  self->priv = ges_timeline_element_get_instance_private (self);
 
   self->priv->serialize = TRUE;
 
@@ -313,8 +312,6 @@ ges_timeline_element_class_init (GESTimelineElementClass * klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESTimelineElementPrivate));
-
   object_class->get_property = _get_property;
   object_class->set_property = _set_property;
 
index 99149dc..de5880f 100644 (file)
@@ -59,12 +59,6 @@ static void ges_extractable_interface_init (GESExtractableInterface * iface);
 static void ges_meta_container_interface_init
     (GESMetaContainerInterface * iface);
 
-G_DEFINE_TYPE_WITH_CODE (GESTimeline, ges_timeline, GST_TYPE_BIN,
-    G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE, ges_extractable_interface_init)
-    G_IMPLEMENT_INTERFACE (GES_TYPE_META_CONTAINER,
-        ges_meta_container_interface_init));
-
-
 GST_DEBUG_CATEGORY_STATIC (ges_timeline_debug);
 #undef GST_CAT_DEFAULT
 #define GST_CAT_DEFAULT ges_timeline_debug
@@ -254,6 +248,12 @@ enum
   LAST_SIGNAL
 };
 
+G_DEFINE_TYPE_WITH_CODE (GESTimeline, ges_timeline, GST_TYPE_BIN,
+    G_ADD_PRIVATE (GESTimeline)
+    G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE, ges_extractable_interface_init)
+    G_IMPLEMENT_INTERFACE (GES_TYPE_META_CONTAINER,
+        ges_meta_container_interface_init));
+
 static GstBinClass *parent_class;
 
 static guint ges_timeline_signals[LAST_SIGNAL] = { 0 };
@@ -477,8 +477,6 @@ ges_timeline_class_init (GESTimelineClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GstBinClass *bin_class = GST_BIN_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESTimelinePrivate));
-
   GST_DEBUG_CATEGORY_INIT (ges_timeline_debug, "gestimeline",
       GST_DEBUG_FG_YELLOW, "ges timeline");
 
@@ -660,8 +658,7 @@ ges_timeline_init (GESTimeline * self)
 {
   GESTimelinePrivate *priv = self->priv;
 
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_TIMELINE, GESTimelinePrivate);
+  self->priv = ges_timeline_get_instance_private (self);
 
   priv = self->priv;
   self->layers = NULL;
index f33cbc0..4e012a1 100644 (file)
@@ -34,8 +34,6 @@
 #include "ges-title-source.h"
 #include <string.h>
 
-G_DEFINE_TYPE (GESTitleClip, ges_title_clip, GES_TYPE_SOURCE_CLIP);
-
 #define DEFAULT_TEXT ""
 #define DEFAULT_FONT_DESC "Serif 36"
 #define GES_TITLE_CLIP_VALIGN_TYPE (ges_title_clip_valign_get_type())
@@ -59,6 +57,8 @@ enum
   PROP_YPOS,
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESTitleClip, ges_title_clip, GES_TYPE_SOURCE_CLIP);
+
 static GESTrackElement
     * ges_title_clip_create_track_element (GESClip * clip, GESTrackType type);
 
@@ -150,8 +150,6 @@ ges_title_clip_class_init (GESTitleClipClass * klass)
   GESClipClass *clip_class = GES_CLIP_CLASS (klass);
   GESContainerClass *container_class = GES_CONTAINER_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESTitleClipPrivate));
-
   object_class->get_property = ges_title_clip_get_property;
   object_class->set_property = ges_title_clip_set_property;
   object_class->dispose = ges_title_clip_dispose;
@@ -280,8 +278,7 @@ ges_title_clip_class_init (GESTitleClipClass * klass)
 static void
 ges_title_clip_init (GESTitleClip * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_TITLE_CLIP, GESTitleClipPrivate);
+  self->priv = ges_title_clip_get_instance_private (self);
 
   GES_TIMELINE_ELEMENT (self)->duration = 0;
   /* Not 100% required since a new gobject's content will always be memzero'd */
index af39152..82ddaa2 100644 (file)
@@ -96,8 +96,6 @@
 #define DEFAULT_TEXT ""
 #define DEFAULT_FONT_DESC "Serif 36"
 
-G_DEFINE_TYPE (GESTitleSource, ges_title_source, GES_TYPE_VIDEO_SOURCE);
-
 struct _GESTitleSourcePrivate
 {
   gchar *text;
@@ -112,6 +110,9 @@ struct _GESTitleSourcePrivate
   GstElement *background_el;
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESTitleSource, ges_title_source,
+    GES_TYPE_VIDEO_SOURCE);
+
 enum
 {
   PROP_0,
@@ -159,8 +160,6 @@ ges_title_source_class_init (GESTitleSourceClass * klass)
   GESTimelineElementClass *timeline_element_class =
       GES_TIMELINE_ELEMENT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESTitleSourcePrivate));
-
   object_class->get_property = ges_title_source_get_property;
   object_class->set_property = ges_title_source_set_property;
   object_class->dispose = ges_title_source_dispose;
@@ -174,8 +173,7 @@ ges_title_source_class_init (GESTitleSourceClass * klass)
 static void
 ges_title_source_init (GESTitleSource * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_TITLE_SOURCE, GESTitleSourcePrivate);
+  self->priv = ges_title_source_get_instance_private (self);
 
   self->priv->text = g_strdup (DEFAULT_TEXT);
   self->priv->font_desc = g_strdup (DEFAULT_FONT_DESC);
index 10b6aa7..9e54c40 100644 (file)
@@ -35,13 +35,14 @@ enum
 
 static GParamSpec *properties[PROP_LAST];
 
-G_DEFINE_TYPE (GESTrackElementAsset, ges_track_element_asset, GES_TYPE_ASSET);
-
 struct _GESTrackElementAssetPrivate
 {
   GESTrackType type;
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESTrackElementAsset, ges_track_element_asset,
+    GES_TYPE_ASSET);
+
 static void
 _get_property (GObject * object, guint property_id,
     GValue * value, GParamSpec * pspec)
@@ -77,8 +78,6 @@ ges_track_element_asset_class_init (GESTrackElementAssetClass * klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESTrackElementAssetPrivate));
-
   object_class->get_property = _get_property;
   object_class->set_property = _set_property;
 
@@ -101,8 +100,7 @@ ges_track_element_asset_init (GESTrackElementAsset * self)
 {
   GESTrackElementAssetPrivate *priv;
 
-  priv = self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_TRACK_ELEMENT_ASSET, GESTrackElementAssetPrivate);
+  priv = self->priv = ges_track_element_asset_get_instance_private (self);
 
   priv->type = GES_TRACK_TYPE_UNKNOWN;
 
index 0d9ca13..a0fc71a 100644 (file)
@@ -36,9 +36,6 @@
 #include "ges-clip.h"
 #include "ges-meta-container.h"
 
-G_DEFINE_ABSTRACT_TYPE (GESTrackElement, ges_track_element,
-    GES_TYPE_TIMELINE_ELEMENT);
-
 struct _GESTrackElementPrivate
 {
   GESTrackType track_type;
@@ -75,6 +72,9 @@ enum
 
 static guint ges_track_element_signals[LAST_SIGNAL] = { 0 };
 
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESTrackElement, ges_track_element,
+    GES_TYPE_TIMELINE_ELEMENT);
+
 static GstElement *ges_track_element_create_gnl_object_func (GESTrackElement *
     object);
 
@@ -245,8 +245,6 @@ ges_track_element_class_init (GESTrackElementClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GESTimelineElementClass *element_class = GES_TIMELINE_ELEMENT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESTrackElementPrivate));
-
   object_class->get_property = ges_track_element_get_property;
   object_class->set_property = ges_track_element_set_property;
   object_class->dispose = ges_track_element_dispose;
@@ -317,8 +315,8 @@ ges_track_element_class_init (GESTrackElementClass * klass)
 static void
 ges_track_element_init (GESTrackElement * self)
 {
-  GESTrackElementPrivate *priv = self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_TRACK_ELEMENT, GESTrackElementPrivate);
+  GESTrackElementPrivate *priv = self->priv =
+      ges_track_element_get_instance_private (self);
 
   /* Sane default values */
   GES_TIMELINE_ELEMENT_START (self) = 0;
index 7ad5529..df5fbfd 100644 (file)
@@ -35,9 +35,6 @@
 #include "ges-video-track.h"
 #include "ges-audio-track.h"
 
-G_DEFINE_TYPE_WITH_CODE (GESTrack, ges_track, GST_TYPE_BIN,
-    G_IMPLEMENT_INTERFACE (GES_TYPE_META_CONTAINER, NULL));
-
 static GstStaticPadTemplate ges_track_src_pad_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
@@ -101,6 +98,11 @@ static guint ges_track_signals[LAST_SIGNAL] = { 0 };
 
 static GParamSpec *properties[ARG_LAST];
 
+G_DEFINE_TYPE_WITH_CODE (GESTrack, ges_track, GST_TYPE_BIN,
+    G_ADD_PRIVATE (GESTrack)
+    G_IMPLEMENT_INTERFACE (GES_TYPE_META_CONTAINER, NULL));
+
+
 static void composition_duration_cb (GstElement * composition, GParamSpec * arg
     G_GNUC_UNUSED, GESTrack * obj);
 
@@ -562,8 +564,6 @@ ges_track_class_init (GESTrackClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GstElementClass *gstelement_class = (GstElementClass *) klass;
 
-  g_type_class_add_private (klass, sizeof (GESTrackPrivate));
-
   gstelement_class->change_state = GST_DEBUG_FUNCPTR (ges_track_change_state);
 
   object_class->get_property = ges_track_get_property;
@@ -682,8 +682,7 @@ ges_track_class_init (GESTrackClass * klass)
 static void
 ges_track_init (GESTrack * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_TRACK, GESTrackPrivate);
+  self->priv = ges_track_get_instance_private (self);
 
   self->priv->composition = gst_element_factory_make ("nlecomposition", NULL);
   self->priv->capsfilter = gst_element_factory_make ("capsfilter", NULL);
index b92e60d..acff2f3 100644 (file)
@@ -194,6 +194,7 @@ ges_extractable_interface_init (GESExtractableInterface * iface)
 
 G_DEFINE_TYPE_WITH_CODE (GESTransitionClip,
     ges_transition_clip, GES_TYPE_BASE_TRANSITION_CLIP,
+    G_ADD_PRIVATE (GESTransitionClip)
     G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE,
         ges_extractable_interface_init));
 
@@ -250,8 +251,6 @@ ges_transition_clip_class_init (GESTransitionClipClass * klass)
   GESClipClass *timobj_class = GES_CLIP_CLASS (klass);
   GESContainerClass *container_class = GES_CONTAINER_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESTransitionClipPrivate));
-
   object_class->get_property = ges_transition_clip_get_property;
   object_class->set_property = ges_transition_clip_set_property;
 
@@ -278,8 +277,7 @@ static void
 ges_transition_clip_init (GESTransitionClip * self)
 {
 
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_TRANSITION_CLIP, GESTransitionClipPrivate);
+  self->priv = ges_transition_clip_get_instance_private (self);
 
   self->vtype = GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE;
   self->priv->vtype_name = NULL;
index d6d5652..0036564 100644 (file)
 #include <ges/ges.h>
 #include "ges-internal.h"
 
-G_DEFINE_ABSTRACT_TYPE (GESTransition, ges_transition, GES_TYPE_OPERATION);
-
 struct _GESTransitionPrivate
 {
   /*  Dummy variable */
   void *nothing;
 };
 
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESTransition, ges_transition,
+    GES_TYPE_OPERATION);
+
 
 static void
 ges_transition_class_init (GESTransitionClass * klass)
 {
-  g_type_class_add_private (klass, sizeof (GESTransitionPrivate));
 }
 
 static void
 ges_transition_init (GESTransition * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_TRANSITION, GESTransitionPrivate);
+  self->priv = ges_transition_get_instance_private (self);
 }
index 3389878..b440d77 100644 (file)
@@ -48,10 +48,6 @@ initable_iface_init (GInitableIface * initable_iface)
   initable_iface->init = NULL;
 }
 
-G_DEFINE_TYPE_WITH_CODE (GESUriClipAsset, ges_uri_clip_asset,
-    GES_TYPE_CLIP_ASSET,
-    G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, initable_iface_init));
-
 /* TODO: We should monitor files here, and add some way of reporting changes
  * to user
  */
@@ -83,6 +79,9 @@ struct _GESUriSourceAssetPrivate
   const gchar *uri;
 };
 
+G_DEFINE_TYPE_WITH_CODE (GESUriClipAsset, ges_uri_clip_asset,
+    GES_TYPE_CLIP_ASSET, G_ADD_PRIVATE (GESUriClipAsset)
+    G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, initable_iface_init));
 
 static void
 ges_uri_clip_asset_get_property (GObject * object, guint property_id,
@@ -192,7 +191,6 @@ ges_uri_clip_asset_class_init (GESUriClipAssetClass * klass)
   GstClockTime timeout;
   const gchar *timeout_str;
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
-  g_type_class_add_private (klass, sizeof (GESUriClipAssetPrivate));
 
   object_class->get_property = ges_uri_clip_asset_get_property;
   object_class->set_property = ges_uri_clip_asset_set_property;
@@ -273,8 +271,7 @@ ges_uri_clip_asset_init (GESUriClipAsset * self)
 {
   GESUriClipAssetPrivate *priv;
 
-  priv = self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_URI_CLIP_ASSET, GESUriClipAssetPrivate);
+  priv = self->priv = ges_uri_clip_asset_get_instance_private (self);
 
   priv->info = NULL;
   priv->duration = GST_CLOCK_TIME_NONE;
@@ -662,7 +659,7 @@ ges_uri_clip_asset_get_stream_assets (GESUriClipAsset * self)
  * by #GESUriClipAsset-s.
  */
 
-G_DEFINE_TYPE (GESUriSourceAsset, ges_uri_source_asset,
+G_DEFINE_TYPE_WITH_PRIVATE (GESUriSourceAsset, ges_uri_source_asset,
     GES_TYPE_TRACK_ELEMENT_ASSET);
 
 static GESExtractable *
@@ -708,8 +705,6 @@ _extract (GESAsset * asset, GError ** error)
 static void
 ges_uri_source_asset_class_init (GESUriSourceAssetClass * klass)
 {
-  g_type_class_add_private (klass, sizeof (GESUriSourceAssetPrivate));
-
   GES_ASSET_CLASS (klass)->extract = _extract;
 }
 
@@ -718,8 +713,7 @@ ges_uri_source_asset_init (GESUriSourceAsset * self)
 {
   GESUriSourceAssetPrivate *priv;
 
-  priv = self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_URI_SOURCE_ASSET, GESUriSourceAssetPrivate);
+  priv = self->priv = ges_uri_source_asset_get_instance_private (self);
 
   priv->sinfo = NULL;
   priv->parent_asset = NULL;
index f61944e..d4ae141 100644 (file)
@@ -44,11 +44,6 @@ static void ges_extractable_interface_init (GESExtractableInterface * iface);
 
 #define parent_class ges_uri_clip_parent_class
 
-G_DEFINE_TYPE_WITH_CODE (GESUriClip, ges_uri_clip,
-    GES_TYPE_SOURCE_CLIP,
-    G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE,
-        ges_extractable_interface_init));
-
 GESExtractableInterface *parent_extractable_iface;
 
 struct _GESUriClipPrivate
@@ -68,6 +63,10 @@ enum
   PROP_SUPPORTED_FORMATS,
 };
 
+G_DEFINE_TYPE_WITH_CODE (GESUriClip, ges_uri_clip,
+    GES_TYPE_SOURCE_CLIP, G_ADD_PRIVATE (GESUriClip)
+    G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE,
+        ges_extractable_interface_init));
 
 static GList *ges_uri_clip_create_track_elements (GESClip *
     clip, GESTrackType type);
@@ -146,8 +145,6 @@ ges_uri_clip_class_init (GESUriClipClass * klass)
   GESClipClass *timobj_class = GES_CLIP_CLASS (klass);
   GESTimelineElementClass *element_class = GES_TIMELINE_ELEMENT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESUriClipPrivate));
-
   object_class->get_property = ges_uri_clip_get_property;
   object_class->set_property = ges_uri_clip_set_property;
   object_class->finalize = ges_uri_clip_finalize;
@@ -360,8 +357,7 @@ ges_extractable_interface_init (GESExtractableInterface * iface)
 static void
 ges_uri_clip_init (GESUriClip * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_URI_CLIP, GESUriClipPrivate);
+  self->priv = ges_uri_clip_get_instance_private (self);
 
   /* Setting the duration to -1 by default. */
   GES_TIMELINE_ELEMENT (self)->duration = GST_CLOCK_TIME_NONE;
index d829200..f73a8f1 100644 (file)
@@ -88,7 +88,6 @@
 #include "gstframepositioner.h"
 
 #define parent_class ges_video_source_parent_class
-G_DEFINE_ABSTRACT_TYPE (GESVideoSource, ges_video_source, GES_TYPE_SOURCE);
 
 struct _GESVideoSourcePrivate
 {
@@ -96,6 +95,9 @@ struct _GESVideoSourcePrivate
   GstElement *capsfilter;
 };
 
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESVideoSource, ges_video_source,
+    GES_TYPE_SOURCE);
+
 /* TrackElement VMethods */
 
 static gboolean
@@ -228,8 +230,6 @@ ges_video_source_class_init (GESVideoSourceClass * klass)
   GESTimelineElementClass *element_class = GES_TIMELINE_ELEMENT_CLASS (klass);
   GESVideoSourceClass *video_source_class = GES_VIDEO_SOURCE_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESVideoSourcePrivate));
-
   element_class->set_priority = _set_priority;
   element_class->lookup_child = _lookup_child;
 
@@ -241,8 +241,7 @@ ges_video_source_class_init (GESVideoSourceClass * klass)
 static void
 ges_video_source_init (GESVideoSource * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_VIDEO_SOURCE, GESVideoSourcePrivate);
+  self->priv = ges_video_source_get_instance_private (self);
   self->priv->positioner = NULL;
   self->priv->capsfilter = NULL;
 }
index 81b98b7..baea99f 100644 (file)
@@ -28,9 +28,6 @@
 #include "ges-track-element.h"
 #include "ges-video-test-source.h"
 
-G_DEFINE_TYPE (GESVideoTestSource, ges_video_test_source,
-    GES_TYPE_VIDEO_SOURCE);
-
 #define DEFAULT_VPATTERN GES_VIDEO_TEST_PATTERN_SMPTE
 
 struct _GESVideoTestSourcePrivate
@@ -38,6 +35,9 @@ struct _GESVideoTestSourcePrivate
   GESVideoTestPattern pattern;
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESVideoTestSource, ges_video_test_source,
+    GES_TYPE_VIDEO_SOURCE);
+
 static GstElement *ges_video_test_source_create_source (GESTrackElement * self);
 
 static void
@@ -45,16 +45,13 @@ ges_video_test_source_class_init (GESVideoTestSourceClass * klass)
 {
   GESVideoSourceClass *source_class = GES_VIDEO_SOURCE_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESVideoTestSourcePrivate));
-
   source_class->create_source = ges_video_test_source_create_source;
 }
 
 static void
 ges_video_test_source_init (GESVideoTestSource * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_VIDEO_TEST_SOURCE, GESVideoTestSourcePrivate);
+  self->priv = ges_video_test_source_get_instance_private (self);
 
   self->priv->pattern = DEFAULT_VPATTERN;
 }
index 8a5300c..0bcf1df 100644 (file)
@@ -31,9 +31,7 @@ struct _GESVideoTrackPrivate
   gpointer nothing;
 };
 
-#define GES_VIDEO_TRACK_GET_PRIVATE(o)  (G_TYPE_INSTANCE_GET_PRIVATE ((o), GES_TYPE_VIDEO_TRACK, GESVideoTrackPrivate))
-
-G_DEFINE_TYPE (GESVideoTrack, ges_video_track, GES_TYPE_TRACK);
+G_DEFINE_TYPE_WITH_PRIVATE (GESVideoTrack, ges_video_track, GES_TYPE_TRACK);
 
 static void
 _sync_capsfilter_with_track (GESTrack * track, GstElement * capsfilter)
@@ -125,8 +123,6 @@ ges_video_track_class_init (GESVideoTrackClass * klass)
 /*   GESTrackClass *parent_class = GES_TRACK_CLASS (klass);
  */
 
-  g_type_class_add_private (klass, sizeof (GESVideoTrackPrivate));
-
   object_class->finalize = ges_video_track_finalize;
 
   GES_TRACK_CLASS (klass)->get_mixing_element = ges_smart_mixer_new;
index cbe989e..8070bf4 100644 (file)
@@ -31,7 +31,6 @@
 #include <gst/controller/gstdirectcontrolbinding.h>
 
 #define parent_class ges_video_transition_parent_class
-G_DEFINE_TYPE (GESVideoTransition, ges_video_transition, GES_TYPE_TRANSITION);
 
 static inline void
 ges_video_transition_set_border_internal (GESVideoTransition * self,
@@ -83,6 +82,9 @@ enum
 
 static GParamSpec *properties[PROP_LAST];
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESVideoTransition, ges_video_transition,
+    GES_TYPE_TRANSITION);
+
 #define fast_element_link(a,b) gst_element_link_pads_full((a),"src",(b),"sink",GST_PAD_LINK_CHECK_NOTHING)
 
 static GObject *link_element_to_mixer_with_smpte (GstBin * bin,
@@ -134,8 +136,6 @@ ges_video_transition_class_init (GESVideoTransitionClass * klass)
   GESTrackElementClass *toclass;
   GESTimelineElementClass *element_class = GES_TIMELINE_ELEMENT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESVideoTransitionPrivate));
-
   object_class = G_OBJECT_CLASS (klass);
 
   object_class->get_property = ges_video_transition_get_property;
@@ -189,8 +189,7 @@ ges_video_transition_class_init (GESVideoTransitionClass * klass)
 static void
 ges_video_transition_init (GESVideoTransition * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_VIDEO_TRANSITION, GESVideoTransitionPrivate);
+  self->priv = ges_video_transition_get_instance_private (self);
 
   self->priv->crossfade_control_source = NULL;
   self->priv->smpte_control_source = NULL;
index 61923ac..7b72539 100644 (file)
@@ -119,7 +119,7 @@ ges_extractable_interface_init (GESExtractableInterface * iface)
 }
 
 G_DEFINE_TYPE_WITH_CODE (GESVideoUriSource, ges_video_uri_source,
-    GES_TYPE_VIDEO_SOURCE,
+    GES_TYPE_VIDEO_SOURCE, G_ADD_PRIVATE (GESVideoUriSource)
     G_IMPLEMENT_INTERFACE (GES_TYPE_EXTRACTABLE,
         ges_extractable_interface_init));
 
@@ -177,8 +177,6 @@ ges_video_uri_source_class_init (GESVideoUriSourceClass * klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GESVideoSourceClass *source_class = GES_VIDEO_SOURCE_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (GESVideoUriSourcePrivate));
-
   object_class->get_property = ges_video_uri_source_get_property;
   object_class->set_property = ges_video_uri_source_set_property;
   object_class->dispose = ges_video_uri_source_dispose;
@@ -198,8 +196,7 @@ ges_video_uri_source_class_init (GESVideoUriSourceClass * klass)
 static void
 ges_video_uri_source_init (GESVideoUriSource * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_VIDEO_URI_SOURCE, GESVideoUriSourcePrivate);
+  self->priv = ges_video_uri_source_get_instance_private (self);
 
   g_signal_connect (self, "notify::track",
       G_CALLBACK (ges_video_uri_source_track_set_cb), NULL);
index 38a1537..f0eb2c2 100644 (file)
 #include "ges-internal.h"
 
 #define parent_class ges_xml_formatter_parent_class
-G_DEFINE_TYPE (GESXmlFormatter, ges_xml_formatter, GES_TYPE_BASE_XML_FORMATTER);
-
 #define API_VERSION 0
 #define MINOR_VERSION 4
 #define VERSION 0.4
 
 #define COLLECT_STR_OPT (G_MARKUP_COLLECT_STRING | G_MARKUP_COLLECT_OPTIONAL)
 
-#define _GET_PRIV(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GES_TYPE_XML_FORMATTER, GESXmlFormatterPrivate))
+#define _GET_PRIV(o) (((GESXmlFormatter*)o)->priv)
 
 struct _GESXmlFormatterPrivate
 {
@@ -53,6 +51,9 @@ struct _GESXmlFormatterPrivate
   guint min_version;
 };
 
+G_DEFINE_TYPE_WITH_PRIVATE (GESXmlFormatter, ges_xml_formatter,
+    GES_TYPE_BASE_XML_FORMATTER);
+
 static inline void
 _parse_ges_element (GMarkupParseContext * context, const gchar * element_name,
     const gchar ** attribute_names, const gchar ** attribute_values,
@@ -1618,7 +1619,7 @@ _set_property (GObject * object, guint property_id,
 static void
 ges_xml_formatter_init (GESXmlFormatter * self)
 {
-  GESXmlFormatterPrivate *priv = _GET_PRIV (self);
+  GESXmlFormatterPrivate *priv = ges_xml_formatter_get_instance_private (self);
 
   priv->project_opened = FALSE;
   priv->element_id = g_hash_table_new (g_direct_hash, g_direct_equal);
@@ -1644,7 +1645,6 @@ ges_xml_formatter_class_init (GESXmlFormatterClass * self_class)
 
   basexmlformatter_class = GES_BASE_XML_FORMATTER_CLASS (self_class);
 
-  g_type_class_add_private (self_class, sizeof (GESXmlFormatterPrivate));
   object_class->get_property = _get_property;
   object_class->set_property = _set_property;
   object_class->dispose = _dispose;
index 86c416c..e32847e 100644 (file)
@@ -45,8 +45,6 @@ GST_DEBUG_CATEGORY_STATIC (nlecomposition_debug);
 #define _do_init              \
   GST_DEBUG_CATEGORY_INIT (nlecomposition_debug,"nlecomposition", GST_DEBUG_FG_BLUE | GST_DEBUG_BOLD, "GNonLin Composition");
 #define nle_composition_parent_class parent_class
-G_DEFINE_TYPE_WITH_CODE (NleComposition, nle_composition, NLE_TYPE_OBJECT,
-    _do_init);
 
 enum
 {
@@ -209,6 +207,10 @@ static guint _signals[LAST_SIGNAL] = { 0 };
 
 static GParamSpec *nleobject_properties[NLEOBJECT_PROP_LAST];
 
+G_DEFINE_TYPE_WITH_CODE (NleComposition, nle_composition, NLE_TYPE_OBJECT,
+    G_ADD_PRIVATE (NleComposition)
+    _do_init);
+
 #define OBJECT_IN_ACTIVE_SEGMENT(comp,element)      \
   ((NLE_OBJECT_START(element) < comp->priv->current_stack_stop) &&  \
    (NLE_OBJECT_STOP(element) >= comp->priv->current_stack_start))
@@ -970,8 +972,6 @@ nle_composition_class_init (NleCompositionClass * klass)
   gstbin_class = (GstBinClass *) klass;
   nleobject_class = (NleObjectClass *) klass;
 
-  g_type_class_add_private (klass, sizeof (NleCompositionPrivate));
-
   gst_element_class_set_static_metadata (gstelement_class,
       "GNonLin Composition", "Filter/Editor", "Combines NLE objects",
       "Wim Taymans <wim.taymans@gmail.com>, Edward Hervey <bilboed@bilboed.com>,"
@@ -1044,8 +1044,7 @@ nle_composition_init (NleComposition * comp)
   GST_OBJECT_FLAG_SET (comp, NLE_OBJECT_SOURCE);
   GST_OBJECT_FLAG_SET (comp, NLE_OBJECT_COMPOSITION);
 
-  priv = G_TYPE_INSTANCE_GET_PRIVATE (comp, NLE_TYPE_COMPOSITION,
-      NleCompositionPrivate);
+  priv = nle_composition_get_instance_private (comp);
   priv->objects_start = NULL;
   priv->objects_stop = NULL;
 
index 0fa35c8..9c73b32 100644 (file)
@@ -44,8 +44,6 @@ GST_DEBUG_CATEGORY_STATIC (nlesource);
 #define _do_init \
   GST_DEBUG_CATEGORY_INIT (nlesource, "nlesource", GST_DEBUG_FG_BLUE | GST_DEBUG_BOLD, "GNonLin Source Element");
 #define nle_source_parent_class parent_class
-G_DEFINE_TYPE_WITH_CODE (NleSource, nle_source, NLE_TYPE_OBJECT, _do_init);
-
 struct _NleSourcePrivate
 {
   gboolean dispose_has_run;
@@ -64,6 +62,11 @@ struct _NleSourcePrivate
   gulong probeid;
 };
 
+G_DEFINE_TYPE_WITH_CODE (NleSource, nle_source, NLE_TYPE_OBJECT,
+    G_ADD_PRIVATE (NleSource)
+    _do_init);
+
+
 static gboolean nle_source_prepare (NleObject * object);
 static gboolean nle_source_send_event (GstElement * element, GstEvent * event);
 static gboolean nle_source_add_element (GstBin * bin, GstElement * element);
@@ -86,8 +89,6 @@ nle_source_class_init (NleSourceClass * klass)
   gstbin_class = (GstBinClass *) klass;
   nleobject_class = (NleObjectClass *) klass;
 
-  g_type_class_add_private (klass, sizeof (NleSourcePrivate));
-
   gst_element_class_set_static_metadata (gstelement_class, "GNonLin Source",
       "Filter/Editor",
       "Manages source elements",
@@ -117,8 +118,7 @@ nle_source_init (NleSource * source)
 {
   GST_OBJECT_FLAG_SET (source, NLE_OBJECT_SOURCE);
   source->element = NULL;
-  source->priv =
-      G_TYPE_INSTANCE_GET_PRIVATE (source, NLE_TYPE_SOURCE, NleSourcePrivate);
+  source->priv = nle_source_get_instance_private (source);
 
   GST_DEBUG_OBJECT (source, "Setting GstBin async-handling to TRUE");
   g_object_set (G_OBJECT (source), "async-handling", TRUE, NULL);
index a2c7881..63cac76 100644 (file)
@@ -64,7 +64,7 @@ struct _GESLauncherPrivate
   ParsedOptions parsed_options;
 };
 
-G_DEFINE_TYPE (GESLauncher, ges_launcher, G_TYPE_APPLICATION);
+G_DEFINE_TYPE_WITH_PRIVATE (GESLauncher, ges_launcher, G_TYPE_APPLICATION);
 
 static const gchar *HELP_SUMMARY =
     "ges-launch-1.0 creates a multimedia timeline and plays it back,\n"
@@ -825,14 +825,12 @@ ges_launcher_class_init (GESLauncherClass * klass)
   G_APPLICATION_CLASS (klass)->local_command_line = _local_command_line;
   G_APPLICATION_CLASS (klass)->startup = _startup;
   G_APPLICATION_CLASS (klass)->shutdown = _shutdown;
-  g_type_class_add_private (klass, sizeof (GESLauncherPrivate));
 }
 
 static void
 ges_launcher_init (GESLauncher * self)
 {
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
-      GES_TYPE_LAUNCHER, GESLauncherPrivate);
+  self->priv = ges_launcher_get_instance_private (self);
   self->priv->parsed_options.track_types =
       GES_TRACK_TYPE_AUDIO | GES_TRACK_TYPE_VIDEO;
 }