diff --git a/ges/ges-asset.c b/ges/ges-asset.c index 280aaeb989..a7d5d30334 100644 --- a/ges/ges-asset.c +++ b/ges/ges-asset.c @@ -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; diff --git a/ges/ges-audio-source.c b/ges/ges-audio-source.c index c5a97cc8cb..1588a1e4d7 100644 --- a/ges/ges-audio-source.c +++ b/ges/ges-audio-source.c @@ -55,14 +55,15 @@ #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); } diff --git a/ges/ges-audio-test-source.c b/ges/ges-audio-test-source.c index 00fb448f35..03831ad0c3 100644 --- a/ges/ges-audio-test-source.c +++ b/ges/ges-audio-test-source.c @@ -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; } diff --git a/ges/ges-audio-track.c b/ges/ges-audio-track.c index 7ce1dbdf30..68bc2f723a 100644 --- a/ges/ges-audio-track.c +++ b/ges/ges-audio-track.c @@ -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; diff --git a/ges/ges-audio-transition.c b/ges/ges-audio-transition.c index bc6703bc42..10c70e2c80 100644 --- a/ges/ges-audio-transition.c +++ b/ges/ges-audio-transition.c @@ -30,8 +30,6 @@ #include -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 diff --git a/ges/ges-audio-uri-source.c b/ges/ges-audio-uri-source.c index 1211a7f743..11c367542a 100644 --- a/ges/ges-audio-uri-source.c +++ b/ges/ges-audio-uri-source.c @@ -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); diff --git a/ges/ges-base-effect-clip.c b/ges/ges-base-effect-clip.c index 763529a664..18e03d18f4 100644 --- a/ges/ges-base-effect-clip.c +++ b/ges/ges-base-effect-clip.c @@ -30,26 +30,22 @@ #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); } diff --git a/ges/ges-base-effect.c b/ges/ges-base-effect.c index 5b71aaf50f..ee11d6c680 100644 --- a/ges/ges-base-effect.c +++ b/ges/ges-base-effect.c @@ -31,23 +31,21 @@ #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); } diff --git a/ges/ges-base-transition-clip.c b/ges/ges-base-transition-clip.c index 040894c26a..b2347bfccc 100644 --- a/ges/ges-base-transition-clip.c +++ b/ges/ges-base-transition-clip.c @@ -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); } diff --git a/ges/ges-base-xml-formatter.c b/ges/ges-base-xml-formatter.c index 09430850bf..ca967921d5 100644 --- a/ges/ges-base-xml-formatter.c +++ b/ges/ges-base-xml-formatter.c @@ -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; diff --git a/ges/ges-clip-asset.c b/ges/ges-clip-asset.c index f0c66cd201..4561084f50 100644 --- a/ges/ges-clip-asset.c +++ b/ges/ges-clip-asset.c @@ -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; diff --git a/ges/ges-clip.c b/ges/ges-clip.c index 0e067843af..347cfbf3e8 100644 --- a/ges/ges-clip.c +++ b/ges/ges-clip.c @@ -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; diff --git a/ges/ges-command-line-formatter.c b/ges/ges-command-line-formatter.c index 7cef5e5049..4dbc181f55 100644 --- a/ges/ges-command-line-formatter.c +++ b/ges/ges-command-line-formatter.c @@ -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; diff --git a/ges/ges-container.c b/ges/ges-container.c index 6a8e572e8d..5b26cfa01f 100644 --- a/ges/ges-container.c +++ b/ges/ges-container.c @@ -31,10 +31,6 @@ #include -#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) diff --git a/ges/ges-effect-asset.c b/ges/ges-effect-asset.c index 8189c530f6..815085580e 100644 --- a/ges/ges-effect-asset.c +++ b/ges/ges-effect-asset.c @@ -29,14 +29,13 @@ #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; diff --git a/ges/ges-effect-clip.c b/ges/ges-effect-clip.c index af99307aaf..fab0370079 100644 --- a/ges/ges-effect-clip.c +++ b/ges/ges-effect-clip.c @@ -31,14 +31,15 @@ #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 * diff --git a/ges/ges-effect.c b/ges/ges-effect.c index d8d0ef557a..d9c31d7ec3 100644 --- a/ges/ges-effect.c +++ b/ges/ges-effect.c @@ -33,10 +33,6 @@ 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 diff --git a/ges/ges-formatter.c b/ges/ges-formatter.c index 8dfdf06beb..5ff9f04eca 100644 --- a/ges/ges-formatter.c +++ b/ges/ges-formatter.c @@ -37,15 +37,16 @@ /* 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; } diff --git a/ges/ges-group.c b/ges/ges-group.c index 16dcaae927..f6762690d5 100644 --- a/ges/ges-group.c +++ b/ges/ges-group.c @@ -39,8 +39,6 @@ #include #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; } diff --git a/ges/ges-image-source.c b/ges/ges-image-source.c index 619aa91dc9..54ebcb44a3 100644 --- a/ges/ges-image-source.c +++ b/ges/ges-image-source.c @@ -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); } /** diff --git a/ges/ges-layer.c b/ges/ges-layer.c index 0bfae4b334..fcc036c7df 100644 --- a/ges/ges-layer.c +++ b/ges/ges-layer.c @@ -39,11 +39,6 @@ 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; diff --git a/ges/ges-multi-file-source.c b/ges/ges-multi-file-source.c index 30cea5582c..ce9e19df4d 100644 --- a/ges/ges-multi-file-source.c +++ b/ges/ges-multi-file-source.c @@ -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); } /** diff --git a/ges/ges-operation-clip.c b/ges/ges-operation-clip.c index 445de763bb..9b8116890d 100644 --- a/ges/ges-operation-clip.c +++ b/ges/ges-operation-clip.c @@ -30,22 +30,21 @@ #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); } diff --git a/ges/ges-operation.c b/ges/ges-operation.c index 9bfb7bdf95..6bf10cd452 100644 --- a/ges/ges-operation.c +++ b/ges/ges-operation.c @@ -28,27 +28,25 @@ #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); } diff --git a/ges/ges-overlay-clip.c b/ges/ges-overlay-clip.c index 52db863a2a..51e0488c7d 100644 --- a/ges/ges-overlay-clip.c +++ b/ges/ges-overlay-clip.c @@ -35,24 +35,22 @@ #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); } diff --git a/ges/ges-pipeline.c b/ges/ges-pipeline.c index 94c9f4cbd2..c82f4ffc35 100644 --- a/ges/ges-pipeline.c +++ b/ges/ges-pipeline.c @@ -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"); diff --git a/ges/ges-pitivi-formatter.c b/ges/ges-pitivi-formatter.c index 0acaa7601f..835554b604 100644 --- a/ges/ges-pitivi-formatter.c +++ b/ges/ges-pitivi-formatter.c @@ -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; diff --git a/ges/ges-project.c b/ges/ges-project.c index 599f8fb418..e4d9f20d13 100644 --- a/ges/ges-project.c +++ b/ges/ges-project.c @@ -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; diff --git a/ges/ges-source-clip.c b/ges/ges-source-clip.c index dac3459508..24dd0bffcd 100644 --- a/ges/ges-source-clip.c +++ b/ges/ges-source-clip.c @@ -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); } diff --git a/ges/ges-source.c b/ges/ges-source.c index c0fc1805a1..3c60523080 100644 --- a/ges/ges-source.c +++ b/ges/ges-source.c @@ -30,15 +30,14 @@ #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); } diff --git a/ges/ges-test-clip.c b/ges/ges-test-clip.c index 2077a4a2aa..9f2c5fb887 100644 --- a/ges/ges-test-clip.c +++ b/ges/ges-test-clip.c @@ -37,8 +37,6 @@ #include "ges-audio-test-source.h" #include -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; diff --git a/ges/ges-text-overlay-clip.c b/ges/ges-text-overlay-clip.c index 0238431bf4..57f1f3a8ef 100644 --- a/ges/ges-text-overlay-clip.c +++ b/ges/ges-text-overlay-clip.c @@ -32,8 +32,6 @@ #include "ges-text-overlay.h" #include -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 */ diff --git a/ges/ges-text-overlay.c b/ges/ges-text-overlay.c index 22c583526b..1278a6d0d9 100644 --- a/ges/ges-text-overlay.c +++ b/ges/ges-text-overlay.c @@ -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; diff --git a/ges/ges-timeline-element.c b/ges/ges-timeline-element.c index f68acdadbe..bfa3889249 100644 --- a/ges/ges-timeline-element.c +++ b/ges/ges-timeline-element.c @@ -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; diff --git a/ges/ges-timeline.c b/ges/ges-timeline.c index 99149dcb51..de5880fe67 100644 --- a/ges/ges-timeline.c +++ b/ges/ges-timeline.c @@ -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; diff --git a/ges/ges-title-clip.c b/ges/ges-title-clip.c index f33cbc0ed8..4e012a16e8 100644 --- a/ges/ges-title-clip.c +++ b/ges/ges-title-clip.c @@ -34,8 +34,6 @@ #include "ges-title-source.h" #include -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 */ diff --git a/ges/ges-title-source.c b/ges/ges-title-source.c index af39152e23..82ddaa2890 100644 --- a/ges/ges-title-source.c +++ b/ges/ges-title-source.c @@ -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); diff --git a/ges/ges-track-element-asset.c b/ges/ges-track-element-asset.c index 10b6aa7b55..9e54c40125 100644 --- a/ges/ges-track-element-asset.c +++ b/ges/ges-track-element-asset.c @@ -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; diff --git a/ges/ges-track-element.c b/ges/ges-track-element.c index 0d9ca1390e..a0fc71a0e7 100644 --- a/ges/ges-track-element.c +++ b/ges/ges-track-element.c @@ -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; diff --git a/ges/ges-track.c b/ges/ges-track.c index 7ad5529440..df5fbfdb79 100644 --- a/ges/ges-track.c +++ b/ges/ges-track.c @@ -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); diff --git a/ges/ges-transition-clip.c b/ges/ges-transition-clip.c index b92e60da58..acff2f3b2a 100644 --- a/ges/ges-transition-clip.c +++ b/ges/ges-transition-clip.c @@ -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; diff --git a/ges/ges-transition.c b/ges/ges-transition.c index d6d5652b40..00365645af 100644 --- a/ges/ges-transition.c +++ b/ges/ges-transition.c @@ -28,24 +28,23 @@ #include #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); } diff --git a/ges/ges-uri-asset.c b/ges/ges-uri-asset.c index 33898781f6..b440d77ef9 100644 --- a/ges/ges-uri-asset.c +++ b/ges/ges-uri-asset.c @@ -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; diff --git a/ges/ges-uri-clip.c b/ges/ges-uri-clip.c index f61944e6c0..d4ae1417b9 100644 --- a/ges/ges-uri-clip.c +++ b/ges/ges-uri-clip.c @@ -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; diff --git a/ges/ges-video-source.c b/ges/ges-video-source.c index d82920025c..f73a8f104b 100644 --- a/ges/ges-video-source.c +++ b/ges/ges-video-source.c @@ -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; } diff --git a/ges/ges-video-test-source.c b/ges/ges-video-test-source.c index 81b98b7204..baea99fe16 100644 --- a/ges/ges-video-test-source.c +++ b/ges/ges-video-test-source.c @@ -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; } diff --git a/ges/ges-video-track.c b/ges/ges-video-track.c index 8a5300ccf9..0bcf1dff9c 100644 --- a/ges/ges-video-track.c +++ b/ges/ges-video-track.c @@ -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; diff --git a/ges/ges-video-transition.c b/ges/ges-video-transition.c index cbe989e277..8070bf4b62 100644 --- a/ges/ges-video-transition.c +++ b/ges/ges-video-transition.c @@ -31,7 +31,6 @@ #include #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; diff --git a/ges/ges-video-uri-source.c b/ges/ges-video-uri-source.c index 61923acb26..7b72539bd1 100644 --- a/ges/ges-video-uri-source.c +++ b/ges/ges-video-uri-source.c @@ -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); diff --git a/ges/ges-xml-formatter.c b/ges/ges-xml-formatter.c index 38a1537728..f0eb2c2782 100644 --- a/ges/ges-xml-formatter.c +++ b/ges/ges-xml-formatter.c @@ -29,15 +29,13 @@ #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; diff --git a/plugins/nle/nlecomposition.c b/plugins/nle/nlecomposition.c index 86c416c539..e32847ed1c 100644 --- a/plugins/nle/nlecomposition.c +++ b/plugins/nle/nlecomposition.c @@ -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 , Edward Hervey ," @@ -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; diff --git a/plugins/nle/nlesource.c b/plugins/nle/nlesource.c index 0fa35c8cd3..9c73b32822 100644 --- a/plugins/nle/nlesource.c +++ b/plugins/nle/nlesource.c @@ -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); diff --git a/tools/ges-launcher.c b/tools/ges-launcher.c index a2c788183a..63cac7688d 100644 --- a/tools/ges-launcher.c +++ b/tools/ges-launcher.c @@ -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; }