ges: Cleanup the way we declare object types
authorThibault Saunier <tsaunier@igalia.com>
Tue, 17 Mar 2020 18:51:39 +0000 (15:51 -0300)
committerThibault Saunier <tsaunier@igalia.com>
Thu, 19 Mar 2020 21:09:18 +0000 (21:09 +0000)
We create our own _DECLARE_ macro because we have instance structures

60 files changed:
ges/ges-asset.h
ges/ges-audio-source.h
ges/ges-audio-test-source.h
ges/ges-audio-track.h
ges/ges-audio-transition.h
ges/ges-audio-uri-source.h
ges/ges-auto-transition.h
ges/ges-base-effect-clip.h
ges/ges-base-effect.h
ges/ges-base-transition-clip.h
ges/ges-base-xml-formatter.h
ges/ges-clip-asset.h
ges/ges-clip.h
ges/ges-command-line-formatter.h
ges/ges-container.h
ges/ges-effect-asset.h
ges/ges-effect-clip.h
ges/ges-effect.h
ges/ges-extractable.h
ges/ges-formatter.h
ges/ges-group.h
ges/ges-image-source.h
ges/ges-internal.h
ges/ges-layer.h
ges/ges-meta-container.h
ges/ges-multi-file-source.h
ges/ges-operation-clip.h
ges/ges-operation.c
ges/ges-operation.h
ges/ges-overlay-clip.h
ges/ges-pipeline.h
ges/ges-pitivi-formatter.h
ges/ges-project.h
ges/ges-smart-video-mixer.c
ges/ges-source-clip.h
ges/ges-source.h
ges/ges-test-clip.h
ges/ges-text-overlay-clip.h
ges/ges-text-overlay.h
ges/ges-timeline-element.h
ges/ges-timeline.h
ges/ges-title-clip.h
ges/ges-title-source.h
ges/ges-track-element-asset.h
ges/ges-track-element.h
ges/ges-track.h
ges/ges-transition-clip.h
ges/ges-transition.c
ges/ges-transition.h
ges/ges-types.h
ges/ges-uri-asset.c
ges/ges-uri-asset.h
ges/ges-uri-clip.h
ges/ges-video-source.h
ges/ges-video-test-source.h
ges/ges-video-track.h
ges/ges-video-transition.h
ges/ges-video-uri-source.h
ges/ges-xml-formatter.h
tools/ges-launcher.h

index c2911a1..9b3fffb 100644 (file)
 
 G_BEGIN_DECLS
 #define GES_TYPE_ASSET ges_asset_get_type()
-#define GES_ASSET(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_ASSET, GESAsset))
-#define GES_ASSET_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_ASSET, GESAssetClass))
-#define GES_IS_ASSET(obj) \
-    (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_ASSET))
-#define GES_IS_ASSET_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_ASSET))
-#define GES_ASSET_GET_CLASS(obj) \
-    (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_ASSET, GESAssetClass))
+GES_DECLARE_TYPE(Asset, asset, ASSET);
 
 /**
  * GESAssetLoadingReturn:
@@ -57,11 +48,6 @@ typedef enum
   GES_ASSET_LOADING_OK
 } GESAssetLoadingReturn;
 
-typedef struct _GESAssetPrivate GESAssetPrivate;
-
-GES_API
-GType ges_asset_get_type (void);
-
 struct _GESAsset
 {
   GObject parent;
index a040cc1..fdf2c8c 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_AUDIO_SOURCE ges_audio_source_get_type()
-
-#define GES_AUDIO_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_AUDIO_SOURCE, GESAudioSource))
-
-#define GES_AUDIO_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_AUDIO_SOURCE, GESAudioSourceClass))
-
-#define GES_IS_AUDIO_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_AUDIO_SOURCE))
-
-#define GES_IS_AUDIO_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_AUDIO_SOURCE))
-
-#define GES_AUDIO_SOURCE_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_AUDIO_SOURCE, GESAudioSourceClass))
-
-typedef struct _GESAudioSourcePrivate GESAudioSourcePrivate;
+GES_DECLARE_TYPE(AudioSource, audio_source, AUDIO_SOURCE);
 
 /**
  * GESAudioSource:
@@ -83,9 +67,6 @@ struct _GESAudioSourceClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_audio_source_get_type (void);
-
 G_END_DECLS
 
 #endif /* _GES_AUDIO_SOURCE */
index 693e950..86ad0cb 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_AUDIO_TEST_SOURCE ges_audio_test_source_get_type()
-
-#define GES_AUDIO_TEST_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_AUDIO_TEST_SOURCE, GESAudioTestSource))
-
-#define GES_AUDIO_TEST_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_AUDIO_TEST_SOURCE, GESAudioTestSourceClass))
-
-#define GES_IS_AUDIO_TEST_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_AUDIO_TEST_SOURCE))
-
-#define GES_IS_AUDIO_TEST_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_AUDIO_TEST_SOURCE))
-
-#define GES_AUDIO_TEST_SOURCE_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_AUDIO_TEST_SOURCE, GESAudioTestSourceClass))
-
-typedef struct _GESAudioTestSourcePrivate GESAudioTestSourcePrivate;
-
+GES_DECLARE_TYPE(AudioTestSource, audio_test_source, AUDIO_TEST_SOURCE);
 
 /**
  * GESAudioTestSource:
@@ -71,10 +54,6 @@ struct _GESAudioTestSourceClass {
 };
 
 GES_API
-GType ges_audio_test_source_get_type (void);
-
-
-GES_API
 void ges_audio_test_source_set_freq(GESAudioTestSource *self,
                                           gdouble freq);
 
index 87ceda2..9b8d117 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_AUDIO_TRACK             (ges_audio_track_get_type ())
-#define GES_AUDIO_TRACK(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_AUDIO_TRACK, GESAudioTrack))
-#define GES_AUDIO_TRACK_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_AUDIO_TRACK, GESAudioTrackClass))
-#define GES_IS_AUDIO_TRACK(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_AUDIO_TRACK))
-#define GES_IS_AUDIO_TRACK_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_AUDIO_TRACK))
-#define GES_AUDIO_TRACK_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_AUDIO_TRACK, GESAudioTrackClass))
+GES_DECLARE_TYPE(AudioTrack, audio_track, AUDIO_TRACK);
 
-typedef struct _GESAudioTrackPrivate GESAudioTrackPrivate;
 
 struct _GESAudioTrackClass
 {
@@ -55,8 +50,6 @@ struct _GESAudioTrack
 };
 
 GES_API
-GType          ges_audio_track_get_type (void) G_GNUC_CONST;
-GES_API
 GESAudioTrack* ges_audio_track_new (void);
 
 G_END_DECLS
index 203973f..ce46fe8 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_AUDIO_TRANSITION ges_audio_transition_get_type()
-
-#define GES_AUDIO_TRANSITION(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_AUDIO_TRANSITION, GESAudioTransition))
-
-#define GES_AUDIO_TRANSITION_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_AUDIO_TRANSITION, GESAudioTransitionClass))
-
-#define GES_IS_AUDIO_TRANSITION(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_AUDIO_TRANSITION))
-
-#define GES_IS_AUDIO_TRANSITION_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_AUDIO_TRANSITION))
-
-#define GES_AUDIO_TRANSITION_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_AUDIO_TRANSITION, GESAudioTransitionClass))
-
-typedef struct _GESAudioTransitionPrivate GESAudioTransitionPrivate;
+GES_DECLARE_TYPE(AudioTransition, audio_transition, AUDIO_TRANSITION);
 
 /**
  * GESAudioTransition:
@@ -69,9 +53,6 @@ struct _GESAudioTransitionClass {
 };
 
 GES_API
-GType ges_audio_transition_get_type (void);
-
-GES_API
 GESAudioTransition* ges_audio_transition_new (void);
 
 G_END_DECLS
index eddaedc..45f8389 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_AUDIO_URI_SOURCE ges_audio_uri_source_get_type()
-
-#define GES_AUDIO_URI_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_AUDIO_URI_SOURCE, GESAudioUriSource))
-
-#define GES_AUDIO_URI_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_AUDIO_URI_SOURCE, GESAudioUriSourceClass))
-
-#define GES_IS_AUDIO_URI_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_AUDIO_URI_SOURCE))
-
-#define GES_IS_AUDIO_URI_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_AUDIO_URI_SOURCE))
-
-#define GES_AUDIO_URI_SOURCE_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_AUDIO_URI_SOURCE, GESAudioUriSourceClass))
-
-typedef struct _GESAudioUriSourcePrivate GESAudioUriSourcePrivate;
+GES_DECLARE_TYPE(AudioUriSource, audio_uri_source, AUDIO_URI_SOURCE);
 
 /**
  * GESAudioUriSource:
@@ -69,9 +53,6 @@ struct _GESAudioUriSourceClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_audio_uri_source_get_type (void);
-
 G_END_DECLS
 
 #endif /* _GES_AUDIO_URI_SOURCE */
index 4058b04..cd43a0f 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_AUTO_TRANSITION             (ges_auto_transition_get_type ())
-#define GES_AUTO_TRANSITION(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_AUTO_TRANSITION, GESAutoTransition))
-#define GES_AUTO_TRANSITION_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_AUTO_TRANSITION, GESAutoTransitionClass))
-#define GES_IS_AUTO_TRANSITION(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_AUTO_TRANSITION))
-#define GES_IS_AUTO_TRANSITION_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_AUTO_TRANSITION))
-#define GES_AUTO_TRANSITION_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_AUTO_TRANSITION, GESAutoTransitionClass))
-
 typedef struct _GESAutoTransitionClass GESAutoTransitionClass;
 typedef struct _GESAutoTransition GESAutoTransition;
 
-
+GES_DECLARE_TYPE(AutoTransition, auto_transition, AUTO_TRANSITION);
 
 struct _GESAutoTransitionClass
 {
@@ -69,8 +63,6 @@ struct _GESAutoTransition
   gpointer _ges_reserved[GES_PADDING];
 };
 
-G_GNUC_INTERNAL GType ges_auto_transition_get_type (void) G_GNUC_CONST;
-
 G_GNUC_INTERNAL void ges_auto_transition_update (GESAutoTransition *self);
 G_GNUC_INTERNAL GESAutoTransition * ges_auto_transition_new (GESTrackElement * transition,
                                              GESTrackElement * previous_source,
index a152739..b2253ba 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_BASE_EFFECT_CLIP ges_base_effect_clip_get_type()
-
-#define GES_BASE_EFFECT_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_BASE_EFFECT_CLIP, GESBaseEffectClip))
-
-#define GES_BASE_EFFECT_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_BASE_EFFECT_CLIP, GESBaseEffectClipClass))
-
-#define GES_IS_BASE_EFFECT_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_BASE_EFFECT_CLIP))
-
-#define GES_IS_BASE_EFFECT_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_BASE_EFFECT_CLIP))
-
-#define GES_BASE_EFFECT_CLIP_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_BASE_EFFECT_CLIP, GESBaseEffectClipClass))
-
-typedef struct _GESBaseEffectClipPrivate GESBaseEffectClipPrivate;
+GES_DECLARE_TYPE(BaseEffectClip, base_effect_clip, BASE_EFFECT_CLIP);
 
 /**
  * GESBaseEffectClip:
@@ -70,8 +54,5 @@ struct _GESBaseEffectClipClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_base_effect_clip_get_type (void);
-
 G_END_DECLS
 #endif /* _GES_BASE_EFFECT_CLIP */
index 2c83214..bcf55b4 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_BASE_EFFECT ges_base_effect_get_type()
-#define GES_BASE_EFFECT(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_BASE_EFFECT, GESBaseEffect))
-#define GES_BASE_EFFECT_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_BASE_EFFECT, GESBaseEffectClass))
-#define GES_IS_BASE_EFFECT(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_BASE_EFFECT))
-#define GES_IS_BASE_EFFECT_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_BASE_EFFECT))
-#define GES_BASE_EFFECT_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_BASE_EFFECT, GESBaseEffectClass))
-
-
-typedef struct _GESBaseEffectPrivate   GESBaseEffectPrivate;
+GES_DECLARE_TYPE(BaseEffect, base_effect, BASE_EFFECT);
 
 /**
  * GESBaseEffect:
@@ -68,8 +56,5 @@ struct _GESBaseEffectClass
 
 };
 
-GES_API
-GType ges_base_effect_get_type (void);
-
 G_END_DECLS
 #endif /* _GES_BASE_EFFECT */
index 87242ab..ea2b1f2 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_BASE_TRANSITION_CLIP ges_base_transition_clip_get_type()
-
-#define GES_BASE_TRANSITION_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_BASE_TRANSITION_CLIP, GESBaseTransitionClip))
-
-#define GES_BASE_TRANSITION_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_BASE_TRANSITION_CLIP, GESBaseTransitionClipClass))
-
-#define GES_IS_BASE_TRANSITION_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_BASE_TRANSITION_CLIP))
-
-#define GES_IS_BASE_TRANSITION_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_BASE_TRANSITION_CLIP))
-
-#define GES_BASE_TRANSITION_CLIP_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_BASE_TRANSITION_CLIP, GESBaseTransitionClipClass))
-
-typedef struct _GESBaseTransitionClipPrivate GESBaseTransitionClipPrivate;
+GES_DECLARE_TYPE(BaseTransitionClip, base_transition_clip, BASE_TRANSITION_CLIP);
 
 /**
  * GESBaseTransitionClip:
@@ -74,9 +58,6 @@ struct _GESBaseTransitionClipClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_base_transition_clip_get_type (void);
-
 G_END_DECLS
 
 #endif /* _GES_BASE_TRANSITION_CLIP */
index b348521..988878b 100644 (file)
 #define GES_BASE_XML_FORMATTER_H
 
 G_BEGIN_DECLS
-#define GES_TYPE_BASE_XML_FORMATTER (ges_base_xml_formatter_get_type ())
-#define GES_BASE_XML_FORMATTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_BASE_XML_FORMATTER, GESBaseXmlFormatter))
-#define GES_BASE_XML_FORMATTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_BASE_XML_FORMATTER, GESBaseXmlFormatterClass))
-#define GES_IS_BASE_XML_FORMATTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_BASE_XML_FORMATTER))
-#define GES_IS_BASE_XML_FORMATTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_BASE_XML_FORMATTER))
-#define GES_BASE_XML_FORMATTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_BASE_XML_FORMATTER, GESBaseXmlFormatterClass))
-
-typedef struct _GESBaseXmlFormatterPrivate GESBaseXmlFormatterPrivate;
 typedef struct _GESBaseXmlFormatter GESBaseXmlFormatter;
 typedef struct _GESBaseXmlFormatterClass GESBaseXmlFormatterClass;
 
+#define GES_TYPE_BASE_XML_FORMATTER (ges_base_xml_formatter_get_type ())
+GES_DECLARE_TYPE(BaseXmlFormatter, base_xml_formatter, BASE_XML_FORMATTER);
+
 /**
  * GESBaseXmlFormatter:
  */
@@ -65,8 +60,5 @@ struct _GESBaseXmlFormatterClass
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_base_xml_formatter_get_type    (void);
-
 G_END_DECLS
 #endif /* _GES_BASE_XML_FORMATTER_H */
index cd241d1..613f427 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_CLIP_ASSET (ges_clip_asset_get_type ())
-#define GES_CLIP_ASSET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_CLIP_ASSET, GESClipAsset))
-#define GES_CLIP_ASSET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_CLIP_ASSET, GESClipAssetClass))
-#define GES_IS_CLIP_ASSET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_CLIP_ASSET))
-#define GES_IS_CLIP_ASSET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_CLIP_ASSET))
-#define GES_CLIP_ASSET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_CLIP_ASSET, GESClipAssetClass))
-
-typedef struct _GESClipAssetPrivate GESClipAssetPrivate;
+GES_DECLARE_TYPE(ClipAsset, clip_asset, CLIP_ASSET);
 
 struct _GESClipAsset
 {
@@ -56,8 +50,6 @@ struct _GESClipAssetClass
 };
 
 GES_API
-GType ges_clip_asset_get_type (void);
-GES_API
 void ges_clip_asset_set_supported_formats         (GESClipAsset *self,
                                                               GESTrackType supportedformats);
 GES_API
index 8051fb5..943a71b 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_CLIP             ges_clip_get_type()
-#define GES_CLIP(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_CLIP, GESClip))
-#define GES_CLIP_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_CLIP, GESClipClass))
-#define GES_IS_CLIP(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_CLIP))
-#define GES_IS_CLIP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_CLIP))
-#define GES_CLIP_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_CLIP, GESClipClass))
-
-typedef struct _GESClipPrivate GESClipPrivate;
+GES_DECLARE_TYPE(Clip, clip, CLIP);
 
 /**
  * GES_CLIP_CLASS_CAN_ADD_EFFECTS:
@@ -147,12 +141,6 @@ struct _GESClipClass
 };
 
 /****************************************************
- *                  Standard                        *
- ****************************************************/
-GES_API
-GType ges_clip_get_type (void);
-
-/****************************************************
  *                TrackElement handling             *
  ****************************************************/
 GES_API
index 1158fd9..c276519 100644 (file)
 
 G_BEGIN_DECLS
 
-#define GES_TYPE_COMMAND_LINE_FORMATTER             (ges_command_line_formatter_get_type ())
-#define GES_COMMAND_LINE_FORMATTER(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_COMMAND_LINE_FORMATTER, GESCommandLineFormatter))
-#define GES_COMMAND_LINE_FORMATTER_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_COMMAND_LINE_FORMATTER, GESCommandLineFormatterClass))
-#define GES_IS_COMMAND_LINE_FORMATTER(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_COMMAND_LINE_FORMATTER))
-#define GES_IS_COMMAND_LINE_FORMATTER_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_COMMAND_LINE_FORMATTER))
-#define GES_COMMAND_LINE_FORMATTER_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_COMMAND_LINE_FORMATTER, GESCommandLineFormatterClass))
-
 typedef struct _GESCommandLineFormatterClass GESCommandLineFormatterClass;
 typedef struct _GESCommandLineFormatter GESCommandLineFormatter;
-typedef struct _GESCommandLineFormatterPrivate GESCommandLineFormatterPrivate;
 
+#define GES_TYPE_COMMAND_LINE_FORMATTER             (ges_command_line_formatter_get_type ())
+GES_DECLARE_TYPE(CommandLineFormatter, command_line_formatter, COMMAND_LINE_FORMATTER);
 
 struct _GESCommandLineFormatterClass
 {
@@ -51,8 +45,6 @@ struct _GESCommandLineFormatter
 };
 
 GES_API
-GType ges_command_line_formatter_get_type (void);
-GES_API
 gchar * ges_command_line_formatter_get_help (gint nargs, gchar ** commands);
 
 G_END_DECLS
index be858bd..70dc9c0 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_CONTAINER             ges_container_get_type()
-#define GES_CONTAINER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_CONTAINER, GESContainer))
-#define GES_CONTAINER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_CONTAINER, GESContainerClass))
-#define GES_IS_CONTAINER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_CONTAINER))
-#define GES_IS_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_CONTAINER))
-#define GES_CONTAINER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_CONTAINER, GESContainerClass))
-
-typedef struct _GESContainerPrivate GESContainerPrivate;
+GES_DECLARE_TYPE(Container, container, CONTAINER);
 
 /**
  * GESChildrenControlMode:
@@ -143,9 +137,6 @@ struct _GESContainerClass
   gpointer _ges_reserved[GES_PADDING_LARGE];
 };
 
-GES_API
-GType ges_container_get_type (void);
-
 /* Children handling */
 GES_API
 GList* ges_container_get_children (GESContainer *container, gboolean recursive);
index 17f4655..5c8fab4 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_EFFECT_ASSET             (ges_effect_asset_get_type ())
-#define GES_EFFECT_ASSET(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_EFFECT_ASSET, GESEffectAsset))
-#define GES_EFFECT_ASSET_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_EFFECT_ASSET, GESEffectAssetClass))
-#define GES_IS_EFFECT_ASSET(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_EFFECT_ASSET))
-#define GES_IS_EFFECT_ASSET_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_EFFECT_ASSET))
-#define GES_EFFECT_ASSET_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_EFFECT_ASSET, GESEffectAssetClass))
-
-typedef struct _GESEffectAssetClass GESEffectAssetClass;
-typedef struct _GESEffectAsset GESEffectAsset;
-typedef struct _GESEffectAssetPrivate GESEffectAssetPrivate;
-
+GES_DECLARE_TYPE(EffectAsset, effect_asset, EFFECT_ASSET);
 
 struct _GESEffectAssetClass
 {
@@ -54,9 +45,6 @@ struct _GESEffectAsset
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_effect_asset_get_type (void) G_GNUC_CONST;
-
 G_END_DECLS
 
 #endif /* _GES_EFFECT_ASSET_H_ */
index 183a96b..dd21839 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_EFFECT_CLIP ges_effect_clip_get_type()
-
-#define GES_EFFECT_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_EFFECT_CLIP, GESEffectClip))
-
-#define GES_EFFECT_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_EFFECT_CLIP, GESEffectClipClass))
-
-#define GES_IS_EFFECT_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_EFFECT_CLIP))
-
-#define GES_IS_EFFECT_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_EFFECT_CLIP))
-
-#define GES_EFFECT_CLIP_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_EFFECT_CLIP, GESEffectClipClass))
-
-typedef struct _GESEffectClipPrivate GESEffectClipPrivate;
+GES_DECLARE_TYPE(EffectClip, effect_clip, EFFECT_CLIP);
 
 /**
  * GESEffectClip:
@@ -70,9 +54,6 @@ struct _GESEffectClipClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_effect_clip_get_type (void);
-
 GES_API GESEffectClip *
 ges_effect_clip_new (const gchar * video_bin_description,
                                      const gchar * audio_bin_description);
index 9453c24..b833795 100644 (file)
 
 G_BEGIN_DECLS
 #define GES_TYPE_EFFECT ges_effect_get_type()
-
-#define GES_EFFECT(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_EFFECT, GESEffect))
-
-#define GES_EFFECT_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_EFFECT, GESEffectClass))
-
-#define GES_IS_EFFECT(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_EFFECT))
-
-#define GES_IS_EFFECT_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_EFFECT))
-
-#define GES_EFFECT_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_EFFECT, GESEffectClass))
-
-
-typedef struct _GESEffectPrivate   GESEffectPrivate;
+GES_DECLARE_TYPE(Effect, effect, EFFECT);
 
 /**
  * GESEffect:
@@ -76,9 +59,6 @@ struct _GESEffectClass
 
 };
 
-GES_API
-GType ges_effect_get_type (void);
-
 GES_API GESEffect*
 ges_effect_new (const gchar * bin_description);
 
index 281ef09..ec3431e 100644 (file)
@@ -33,12 +33,9 @@ G_BEGIN_DECLS
 
 /* GESExtractable interface declarations */
 #define GES_TYPE_EXTRACTABLE                (ges_extractable_get_type ())
-#define GES_EXTRACTABLE(obj)                (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_EXTRACTABLE, GESExtractable))
-#define GES_IS_EXTRACTABLE(obj)             (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_EXTRACTABLE))
 #define GES_EXTRACTABLE_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GES_TYPE_EXTRACTABLE, GESExtractableInterface))
-
 GES_API
-GType ges_extractable_get_type (void);
+G_DECLARE_INTERFACE(GESExtractable, ges_extractable, GES, EXTRACTABLE, GInitiallyUnowned);
 
 /**
  * GESExtractableCheckId:
index e6b9d63..1e0c425 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_FORMATTER ges_formatter_get_type()
-
-#define GES_FORMATTER(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_FORMATTER, GESFormatter))
-
-#define GES_FORMATTER_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_FORMATTER, GESFormatterClass))
-
-#define GES_IS_FORMATTER(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_FORMATTER))
-
-#define GES_IS_FORMATTER_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_FORMATTER))
-
-#define GES_FORMATTER_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_FORMATTER, GESFormatterClass))
-
-typedef struct _GESFormatterPrivate GESFormatterPrivate;
+GES_DECLARE_TYPE(Formatter, formatter, FORMATTER);
 
 /**
  * GESFormatter:
@@ -51,7 +35,8 @@ typedef struct _GESFormatterPrivate GESFormatterPrivate;
  * Base class for timeline data serialization and deserialization.
  */
 
-struct _GESFormatter {
+struct _GESFormatter
+{
   GInitiallyUnowned parent;
 
   /*< private >*/
@@ -139,9 +124,6 @@ struct _GESFormatterClass {
 };
 
 GES_API
-GType ges_formatter_get_type (void);
-
-GES_API
 void ges_formatter_class_register_metas (GESFormatterClass * klass,
                                          const gchar *name,
                                          const gchar *description,
index 5fef392..dca2fb8 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_GROUP (ges_group_get_type ())
-#define GES_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_GROUP, GESGroup))
-#define GES_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_GROUP, GESGroupClass))
-#define GES_IS_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_GROUP))
-#define GES_IS_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_GROUP))
-#define GES_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_GROUP, GESGroupClass))
-
-typedef struct _GESGroupPrivate GESGroupPrivate;
+GES_DECLARE_TYPE(Group, group, GROUP);
 
 struct _GESGroup {
   GESContainer parent;
@@ -52,8 +46,6 @@ struct _GESGroupClass {
 };
 
 GES_API
-GType ges_group_get_type          (void);
-GES_API
 GESGroup *ges_group_new           (void);
 
 G_END_DECLS
index dc1a00e..22bd03d 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_IMAGE_SOURCE ges_image_source_get_type()
-
-#define GES_IMAGE_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_IMAGE_SOURCE, GESImageSource))
-
-#define GES_IMAGE_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_IMAGE_SOURCE, GESImageSourceClass))
-
-#define GES_IS_IMAGE_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_IMAGE_SOURCE))
-
-#define GES_IS_IMAGE_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_IMAGE_SOURCE))
-
-#define GES_IMAGE_SOURCE_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_IMAGE_SOURCE, GESImageSourceClass))
-
-typedef struct _GESImageSourcePrivate GESImageSourcePrivate;
+GES_DECLARE_TYPE(ImageSource, image_source, IMAGE_SOURCE);
 
 /**
  * GESImageSource:
@@ -68,9 +52,6 @@ struct _GESImageSourceClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_image_source_get_type (void);
-
 G_END_DECLS
 
 #endif /* _GES_IMAGE_SOURCE */
index efef5c1..13fd403 100644 (file)
 #include <gst/pbutils/encoding-profile.h>
 #include <gio/gio.h>
 
+G_BEGIN_DECLS
+
+#ifndef GST_CAT_DEFAULT
+#define GST_CAT_DEFAULT (_ges_debug ())
+#endif
+
 #include "ges-timeline.h"
 #include "ges-track-element.h"
 #include "ges-timeline-element.h"
 #include "ges-base-xml-formatter.h"
 #include "ges-timeline-tree.h"
 
-G_BEGIN_DECLS
-
-#ifndef GST_CAT_DEFAULT
-#define GST_CAT_DEFAULT (_ges_debug ())
-#endif
-
 G_GNUC_INTERNAL
 GstDebugCategory * _ges_debug (void);
 
index 48109ba..ec848a6 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_LAYER ges_layer_get_type()
-
-#define GES_LAYER(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_LAYER, GESLayer))
-
-#define GES_LAYER_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_LAYER, GESLayerClass))
-
-#define GES_IS_LAYER(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_LAYER))
-
-#define GES_IS_LAYER_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_LAYER))
-
-#define GES_LAYER_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_LAYER, GESLayerClass))
-
-typedef struct _GESLayerPrivate GESLayerPrivate;
+GES_DECLARE_TYPE(Layer, layer, LAYER);
 
 /**
  * GESLayer:
@@ -90,9 +74,6 @@ struct _GESLayerClass {
 };
 
 GES_API
-GType ges_layer_get_type (void);
-
-GES_API
 GESLayer* ges_layer_new (void);
 
 GES_API
index d35c31e..339731d 100644 (file)
@@ -28,9 +28,9 @@
 G_BEGIN_DECLS
 
 #define GES_TYPE_META_CONTAINER                 (ges_meta_container_get_type ())
-#define GES_META_CONTAINER(obj)                (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_META_CONTAINER, GESMetaContainer))
-#define GES_IS_META_CONTAINER(obj)             (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_META_CONTAINER))
 #define GES_META_CONTAINER_GET_INTERFACE (inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GES_TYPE_META_CONTAINER, GESMetaContainerInterface))
+GES_API
+G_DECLARE_INTERFACE(GESMetaContainer, ges_meta_container, GES, META_CONTAINER, GObject);
 
 /**
  * GES_META_FORMATTER_NAME:
@@ -112,9 +112,6 @@ struct _GESMetaContainerInterface {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_meta_container_get_type (void);
-
 GES_API gboolean
 ges_meta_container_set_boolean     (GESMetaContainer *container,
                                         const gchar* meta_item,
index ebd52aa..536b34e 100644 (file)
 
 G_BEGIN_DECLS
 #define GES_TYPE_MULTI_FILE_SOURCE ges_multi_file_source_get_type()
-#define GES_MULTI_FILE_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_MULTI_FILE_SOURCE, GESMultiFileSource))
-#define GES_MULTI_FILE_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_MULTI_FILE_SOURCE, GESMultiFileSourceClass))
-#define GES_IS_MULTI_FILE_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_MULTI_FILE_SOURCE))
-#define GES_IS_MULTI_FILE_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_MULTI_FILE_SOURCE))
-#define GES_MULTI_FILE_SOURCE_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_MULTI_FILE_SOURCE, GESMultiFileSourceClass))
-typedef struct _GESMultiFileSourcePrivate GESMultiFileSourcePrivate;
+GES_DECLARE_TYPE(MultiFileSource, multi_file_source, MULTI_FILE_SOURCE);
 
 /**
  * GESMultiFileSource:
@@ -63,9 +53,6 @@ struct _GESMultiFileSourceClass
 };
 
 GES_API
-GType ges_multi_file_source_get_type (void);
-
-GES_API
 GESMultiFileSource *ges_multi_file_source_new (gchar * uri);
 
 #define GES_MULTI_FILE_URI_PREFIX "multifile://"
index 205a4df..d80d7ef 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_OPERATION_CLIP ges_operation_clip_get_type()
-
-#define GES_OPERATION_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_OPERATION_CLIP, GESOperationClip))
-
-#define GES_OPERATION_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_OPERATION_CLIP, GESOperationClipClass))
-
-#define GES_IS_OPERATION_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_OPERATION_CLIP))
-
-#define GES_IS_OPERATION_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_OPERATION_CLIP))
-
-#define GES_OPERATION_CLIP_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_OPERATION_CLIP, GESOperationClipClass))
-
-typedef struct _GESOperationClipPrivate GESOperationClipPrivate;
+GES_DECLARE_TYPE(OperationClip, operation_clip, OPERATION_CLIP);
 
 /**
  * GESOperationClip:
@@ -74,9 +58,6 @@ struct _GESOperationClipClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_operation_clip_get_type (void);
-
 G_END_DECLS
 
 #endif /* _GES_OPERATION_CLIP */
index 15a7102..4b0bece 100644 (file)
 #include "ges-track-element.h"
 #include "ges-operation.h"
 
-struct _GESOperationPrivate
-{
-  /* Dummy variable */
-  void *nothing;
-};
-
-G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESOperation, ges_operation,
-    GES_TYPE_TRACK_ELEMENT);
+G_DEFINE_ABSTRACT_TYPE (GESOperation, ges_operation, GES_TYPE_TRACK_ELEMENT);
 
 static void
 ges_operation_class_init (GESOperationClass * klass)
@@ -51,5 +44,4 @@ ges_operation_class_init (GESOperationClass * klass)
 static void
 ges_operation_init (GESOperation * self)
 {
-  self->priv = ges_operation_get_instance_private (self);
 }
index 9bf7cc5..24738e1 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_OPERATION ges_operation_get_type()
-
-#define GES_OPERATION(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_OPERATION, GESOperation))
-
-#define GES_OPERATION_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_OPERATION, GESOperationClass))
-
-#define GES_IS_OPERATION(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_OPERATION))
-
-#define GES_IS_OPERATION_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_OPERATION))
-
-#define GES_OPERATION_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_OPERATION, GESOperationClass))
-
-typedef struct _GESOperationPrivate GESOperationPrivate;
+GES_DECLARE_TYPE(Operation, operation, OPERATION);
 
 /**
  * GESOperation:
@@ -76,9 +60,6 @@ struct _GESOperationClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_operation_get_type (void);
-
 G_END_DECLS
 
 #endif /* _GES_OPERATION */
index 94e7c06..c9fc1a9 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_OVERLAY_CLIP ges_overlay_clip_get_type()
-
-#define GES_OVERLAY_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_OVERLAY_CLIP, GESOverlayClip))
-
-#define GES_OVERLAY_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_OVERLAY_CLIP, GESOverlayClipClass))
-
-#define GES_IS_OVERLAY_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_OVERLAY_CLIP))
-
-#define GES_IS_OVERLAY_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_OVERLAY_CLIP))
-
-#define GES_OVERLAY_CLIP_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_OVERLAY_CLIP, GESOverlayClipClass))
-
-typedef struct _GESOverlayClipPrivate GESOverlayClipPrivate;
+GES_DECLARE_TYPE(OverlayClip, overlay_clip, OVERLAY_CLIP);
 
 /**
  * GESOverlayClip:
@@ -72,10 +56,6 @@ struct _GESOverlayClipClass {
   /* Padding for API extension */
   gpointer _ges_reserved[GES_PADDING];
 };
-
-GES_API
-GType ges_overlay_clip_get_type (void);
-
 G_END_DECLS
 
 #endif /* _GES_OVERLAY_CLIP */
index 6e564d5..a8c2eaf 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_PIPELINE ges_pipeline_get_type()
-
-#define GES_PIPELINE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_PIPELINE, GESPipeline))
-
-#define GES_PIPELINE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_PIPELINE, GESPipelineClass))
-
-#define GES_IS_PIPELINE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_PIPELINE))
-
-#define GES_IS_PIPELINE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_PIPELINE))
-
-#define GES_PIPELINE_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_PIPELINE, GESPipelineClass))
-
-typedef struct _GESPipelinePrivate GESPipelinePrivate;
+GES_DECLARE_TYPE(Pipeline, pipeline, PIPELINE);
 
 /**
  * GESPipeline:
@@ -76,9 +60,6 @@ struct _GESPipelineClass {
 };
 
 GES_API
-GType ges_pipeline_get_type (void);
-
-GES_API
 GESPipeline* ges_pipeline_new (void);
 
 GES_API
index c872b88..e67c00c 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_PITIVI_FORMATTER ges_pitivi_formatter_get_type()
-
-#define GES_PITIVI_FORMATTER(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_PITIVI_FORMATTER, GESPitiviFormatter))
-
-#define GES_PITIVI_FORMATTER_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_PITIVI_FORMATTER, GESPitiviFormatterClass))
-
-#define GES_IS_PITIVI_FORMATTER(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_PITIVI_FORMATTER))
-
-#define GES_IS_PITIVI_FORMATTER_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_PITIVI_FORMATTER))
-
-#define GES_PITIVI_FORMATTER_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_PITIVI_FORMATTER, GESPitiviFormatterClass))
-
-typedef struct _GESPitiviFormatterPrivate GESPitiviFormatterPrivate;
-
+GES_DECLARE_TYPE(PitiviFormatter, pitivi_formatter, PITIVI_FORMATTER);
 
 /**
  * GESPitiviFormatter: (attributes doc.skip=true):
@@ -68,8 +51,6 @@ struct _GESPitiviFormatterClass
 };
 
 GES_API
-GType ges_pitivi_formatter_get_type (void);
-GES_API
 GESPitiviFormatter *ges_pitivi_formatter_new (void);
 
 G_END_DECLS
index 19e5b77..ca3b760 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_PROJECT            ges_project_get_type()
-#define GES_PROJECT(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_PROJECT, GESProject))
-#define GES_PROJECT_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_PROJECT, GESProjectClass))
-#define GES_IS_PROJECT(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_PROJECT))
-#define GES_IS_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_PROJECT))
-#define GES_PROJECT_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_PROJECT, GESProjectClass))
-
-typedef struct _GESProjectPrivate GESProjectPrivate;
-
-GES_API
-GType ges_project_get_type (void);
+GES_DECLARE_TYPE(Project, project, PROJECT);
 
 struct _GESProject
 {
index b1bf584..965bfdb 100644 (file)
 #include "ges-smart-video-mixer.h"
 
 #define GES_TYPE_SMART_MIXER_PAD             (ges_smart_mixer_pad_get_type ())
-#define GES_SMART_MIXER_PAD(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_SMART_MIXER_PAD, GESSmartMixerPad))
-#define GES_SMART_MIXER_PAD_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_SMART_MIXER_PAD, GESSmartMixerPadClass))
-#define GES_IS_SMART_MIXER_PAD(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_SMART_MIXER_PAD))
-#define GES_IS_SMART_MIXER_PAD_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_SMART_MIXER_PAD))
-#define GES_SMART_MIXER_PAD_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_SMART_MIXER_PAD, GESSmartMixerPadClass))
-
 typedef struct _GESSmartMixerPad GESSmartMixerPad;
 typedef struct _GESSmartMixerPadClass GESSmartMixerPadClass;
+GES_DECLARE_TYPE (SmartMixerPad, smart_mixer_pad, SMART_MIXER_PAD);
 
 struct _GESSmartMixerPad
 {
@@ -54,8 +49,6 @@ enum
   PROP_PAD_ALPHA,
 };
 
-static GType ges_smart_mixer_pad_get_type (void);
-
 G_DEFINE_TYPE (GESSmartMixerPad, ges_smart_mixer_pad, GST_TYPE_GHOST_PAD);
 
 static void
index 9037834..3b8f7f6 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_SOURCE_CLIP ges_source_clip_get_type()
-
-#define GES_SOURCE_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_SOURCE_CLIP, GESSourceClip))
-
-#define GES_SOURCE_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_SOURCE_CLIP, GESSourceClipClass))
-
-#define GES_IS_SOURCE_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_SOURCE_CLIP))
-
-#define GES_IS_SOURCE_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_SOURCE_CLIP))
-
-#define GES_SOURCE_CLIP_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_SOURCE_CLIP, GESSourceClipClass))
-
-typedef struct _GESSourceClipPrivate GESSourceClipPrivate;
+GES_DECLARE_TYPE(SourceClip, source_clip, SOURCE_CLIP);
 
 /**
  * GESSourceClip:
@@ -75,9 +59,6 @@ struct _GESSourceClipClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_source_clip_get_type (void);
-
 G_END_DECLS
 
 #endif /* _GES_SOURCE_CLIP */
index 0641746..47dbcaf 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_SOURCE ges_source_get_type()
-
-#define GES_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_SOURCE, GESSource))
-
-#define GES_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_SOURCE, GESSourceClass))
-
-#define GES_IS_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_SOURCE))
-
-#define GES_IS_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_SOURCE))
-
-#define GES_SOURCE_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_SOURCE, GESSourceClass))
-
-typedef struct _GESSourcePrivate GESSourcePrivate;
+GES_DECLARE_TYPE(Source, source, SOURCE);
 
 /**
  * GESSource:
@@ -77,9 +61,6 @@ struct _GESSourceClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_source_get_type (void);
-
 G_END_DECLS
 
 #endif /* _GES_SOURCE */
index 83ef166..5ab9737 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_TEST_CLIP ges_test_clip_get_type()
-
-#define GES_TEST_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TEST_CLIP, GESTestClip))
-
-#define GES_TEST_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TEST_CLIP, GESTestClipClass))
-
-#define GES_IS_TEST_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TEST_CLIP))
-
-#define GES_IS_TEST_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TEST_CLIP))
-
-#define GES_TEST_CLIP_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TEST_CLIP, GESTestClipClass))
-
-typedef struct _GESTestClipPrivate GESTestClipPrivate;
+GES_DECLARE_TYPE(TestClip, test_clip, TEST_CLIP);
 
 /**
  * GESTestClip:
@@ -75,9 +59,6 @@ struct _GESTestClipClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_test_clip_get_type (void);
-
 GES_API void
 ges_test_clip_set_mute (GESTestClip * self, gboolean mute);
 
index e46b59b..59a033a 100644 (file)
 
 G_BEGIN_DECLS
 #define GES_TYPE_OVERLAY_TEXT_CLIP ges_text_overlay_clip_get_type()
-#define GES_OVERLAY_TEXT_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_OVERLAY_TEXT_CLIP, GESTextOverlayClip))
-#define GES_OVERLAY_TEXT_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_OVERLAY_TEXT_CLIP, GESTextOverlayClipClass))
-#define GES_IS_OVERLAY_TEXT_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_OVERLAY_TEXT_CLIP))
-#define GES_IS_OVERLAY_TEXT_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_OVERLAY_TEXT_CLIP))
-#define GES_OVERLAY_TEXT_CLIP_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_OVERLAY_TEXT_CLIP, GESTextOverlayClipClass))
-typedef struct _GESTextOverlayClipPrivate GESTextOverlayClipPrivate;
+GES_DECLARE_TYPE(TextOverlayClip, text_overlay_clip, OVERLAY_TEXT_CLIP);
 
 /**
  * GESTextOverlayClip:
@@ -69,9 +59,6 @@ struct _GESTextOverlayClipClass
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_text_overlay_clip_get_type (void);
-
 GES_API void
 ges_text_overlay_clip_set_text (GESTextOverlayClip * self,
     const gchar * text);
index 572ee7c..4eb3dbe 100644 (file)
 
 G_BEGIN_DECLS
 #define GES_TYPE_TEXT_OVERLAY ges_text_overlay_get_type()
-#define GES_TEXT_OVERLAY(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TEXT_OVERLAY, GESTextOverlay))
-#define GES_TEXT_OVERLAY_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TEXT_OVERLAY, GESTextOverlayClass))
-#define GES_IS_TEXT_OVERLAY(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TEXT_OVERLAY))
-#define GES_IS_TEXT_OVERLAY_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TEXT_OVERLAY))
-#define GES_TEXT_OVERLAY_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TEXT_OVERLAY, GESTextOverlayClass))
-typedef struct _GESTextOverlayPrivate GESTextOverlayPrivate;
+GES_DECLARE_TYPE(TextOverlay, text_overlay, TEXT_OVERLAY);
 
 /**
  * GESTextOverlay:
@@ -65,9 +55,6 @@ struct _GESTextOverlayClass
 };
 
 GES_API
-GType ges_text_overlay_get_type (void);
-
-GES_API
 void ges_text_overlay_set_text (GESTextOverlay * self,
     const gchar * text);
 GES_API
@@ -92,6 +79,9 @@ void ges_text_overlay_set_ypos (GESTextOverlay * self,
     gdouble position);
 
 GES_API
+GESTextOverlay *ges_text_overlay_new (void);
+
+GES_API
 const gchar *ges_text_overlay_get_text (GESTextOverlay * self);
 GES_API
 const char *ges_text_overlay_get_font_desc (GESTextOverlay * self);
@@ -108,8 +98,5 @@ const gdouble ges_text_overlay_get_xpos (GESTextOverlay * self);
 GES_API
 const gdouble ges_text_overlay_get_ypos (GESTextOverlay * self);
 
-GES_API
-GESTextOverlay *ges_text_overlay_new (void);
-
 G_END_DECLS
 #endif /* _GES_TEXT_OVERLAY */
index 9618a71..a5363e3 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_TIMELINE_ELEMENT             (ges_timeline_element_get_type ())
-#define GES_TIMELINE_ELEMENT(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE_ELEMENT, GESTimelineElement))
-#define GES_TIMELINE_ELEMENT_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE_ELEMENT, GESTimelineElementClass))
-#define GES_IS_TIMELINE_ELEMENT(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE_ELEMENT))
-#define GES_IS_TIMELINE_ELEMENT_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE_ELEMENT))
-#define GES_TIMELINE_ELEMENT_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE_ELEMENT, GESTimelineElementClass))
-
-typedef struct _GESTimelineElementPrivate GESTimelineElementPrivate;
+GES_DECLARE_TYPE(TimelineElement, timeline_element, TIMELINE_ELEMENT);
 
 /**
  * GES_TIMELINE_ELEMENT_START:
@@ -277,9 +271,6 @@ struct _GESTimelineElementClass
 };
 
 GES_API
-GType ges_timeline_element_get_type (void) G_GNUC_CONST;
-
-GES_API
 GESTimelineElement * ges_timeline_element_get_toplevel_parent         (GESTimelineElement *self);
 GES_API
 GESTimelineElement * ges_timeline_element_get_parent                  (GESTimelineElement * self);
@@ -400,7 +391,6 @@ gboolean ges_timeline_element_edit                                    (GESTimeli
                                                                        GESEditMode mode,
                                                                        GESEdge edge,
                                                                        guint64 position);
-
 G_END_DECLS
 
 #endif /* _GES_TIMELINE_ELEMENT_H_ */
index ac07ae9..542ce6a 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_TIMELINE ges_timeline_get_type()
-
-#define GES_TIMELINE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TIMELINE, GESTimeline))
-
-#define GES_TIMELINE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TIMELINE, GESTimelineClass))
-
-#define GES_IS_TIMELINE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TIMELINE))
-
-#define GES_IS_TIMELINE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TIMELINE))
-
-#define GES_TIMELINE_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TIMELINE, GESTimelineClass))
+GES_DECLARE_TYPE(Timeline, timeline, TIMELINE);
 
 #define GES_TIMELINE_GET_TRACKS(obj) (GES_TIMELINE (obj)->tracks)
 #define GES_TIMELINE_GET_LAYERS(obj) (GES_TIMELINE (obj)->layers)
@@ -102,9 +88,6 @@ struct _GESTimelineClass {
 };
 
 GES_API
-GType ges_timeline_get_type (void);
-
-GES_API
 GESTimeline* ges_timeline_new (void);
 GES_API
 GESTimeline* ges_timeline_new_from_uri (const gchar *uri, GError **error);
index 6ac5bba..b5aac4f 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_TITLE_CLIP ges_title_clip_get_type()
-
-#define GES_TITLE_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TITLE_CLIP, GESTitleClip))
-
-#define GES_TITLE_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TITLE_CLIP, GESTitleClipClass))
-
-#define GES_IS_TITLE_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TITLE_CLIP))
-
-#define GES_IS_TITLE_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TITLE_CLIP))
-
-#define GES_TITLE_CLIP_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TITLE_CLIP, GESTitleClipClass))
-
-typedef struct _GESTitleClipPrivate GESTitleClipPrivate;
+GES_DECLARE_TYPE(TitleClip, title_clip, TITLE_CLIP);
 
 /**
  * GESTitleClip:
@@ -71,9 +55,6 @@ struct _GESTitleClipClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_title_clip_get_type (void);
-
 G_DEPRECATED_FOR(ges_timeline_element_set_children_properties) void
 ges_title_clip_set_text( GESTitleClip * self, const gchar * text);
 
index e2fc05a..20c13f7 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_TITLE_SOURCE ges_title_source_get_type()
-
-#define GES_TITLE_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TITLE_SOURCE, GESTitleSource))
-
-#define GES_TITLE_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TITLE_SOURCE, GESTitleSourceClass))
-
-#define GES_IS_TITLE_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TITLE_SOURCE))
-
-#define GES_IS_TITLE_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TITLE_SOURCE))
-
-#define GES_TITLE_SOURCE_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TITLE_SOURCE, GESTitleSourceClass))
-
-typedef struct _GESTitleSourcePrivate GESTitleSourcePrivate;
+GES_DECLARE_TYPE(TitleSource, title_source, TITLE_SOURCE);
 
 /**
  * GESTitleSource:
@@ -74,9 +58,6 @@ struct _GESTitleSourceClass {
 };
 
 GES_API
-GType ges_title_source_get_type (void);
-
-GES_API
 void ges_title_source_set_text (GESTitleSource *self,
                                     const gchar *text);
 
index 1cff6c8..0a1b7b8 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_TRACK_ELEMENT_ASSET ges_track_element_asset_get_type()
-#define GES_TRACK_ELEMENT_ASSET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_ELEMENT_ASSET, GESTrackElementAsset))
-#define GES_TRACK_ELEMENT_ASSET_CLASS(klass)  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_ELEMENT_ASSET, GESTrackElementAssetClass))
-#define GES_IS_TRACK_ELEMENT_ASSET(obj)  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_ELEMENT_ASSET))
-#define GES_IS_TRACK_ELEMENT_ASSET_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_ELEMENT_ASSET))
-#define GES_TRACK_ELEMENT_ASSET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_ELEMENT_ASSET, GESTrackElementAssetClass))
-
-typedef struct _GESTrackElementAssetPrivate GESTrackElementAssetPrivate;
-
-GES_API
-GType ges_track_element_asset_get_type (void);
+GES_DECLARE_TYPE(TrackElementAsset, track_element_asset, TRACK_ELEMENT_ASSET);
 
 struct _GESTrackElementAsset
 {
index 2f7e276..70db04d 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_TRACK_ELEMENT ges_track_element_get_type()
-
-#define GES_TRACK_ELEMENT(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_ELEMENT, GESTrackElement))
-
-#define GES_TRACK_ELEMENT_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_ELEMENT, GESTrackElementClass))
-
-#define GES_IS_TRACK_ELEMENT(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_ELEMENT))
-
-#define GES_IS_TRACK_ELEMENT_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_ELEMENT))
-
-#define GES_TRACK_ELEMENT_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_ELEMENT, GESTrackElementClass))
-
-typedef struct _GESTrackElementPrivate GESTrackElementPrivate;
+GES_DECLARE_TYPE(TrackElement, track_element, TRACK_ELEMENT)
 
 /**
  * GES_TRACK_ELEMENT_CLASS_DEFAULT_HAS_INTERNAL_SOURCE:
@@ -134,9 +118,6 @@ struct _GESTrackElementClass {
 };
 
 GES_API
-GType ges_track_element_get_type               (void);
-
-GES_API
 GESTrack* ges_track_element_get_track          (GESTrackElement * object);
 
 GES_API
index 8969adb..029978d 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_TRACK            ges_track_get_type()
-#define GES_TRACK(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK, GESTrack))
-#define GES_TRACK_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK, GESTrackClass))
-#define GES_IS_TRACK(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK))
-#define GES_IS_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK))
-#define GES_TRACK_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK, GESTrackClass))
-
-typedef struct _GESTrackPrivate GESTrackPrivate;
+GES_DECLARE_TYPE(Track, track, TRACK);
 
 /**
  * GESCreateElementForGapFunc:
@@ -108,9 +102,6 @@ void               ges_track_update_restriction_caps         (GESTrack *track, c
 GES_API
 GstCaps *          ges_track_get_restriction_caps            (GESTrack * track);
 
-/* standard methods */
-GES_API
-GType              ges_track_get_type                        (void);
 GES_API
 GESTrack*          ges_track_new                             (GESTrackType type, GstCaps * caps);
 
index 1887004..4990689 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_TRANSITION_CLIP ges_transition_clip_get_type()
-
-#define GES_TRANSITION_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRANSITION_CLIP, GESTransitionClip))
-
-#define GES_TRANSITION_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRANSITION_CLIP, GESTransitionClipClass))
-
-#define GES_IS_TRANSITION_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRANSITION_CLIP))
-
-#define GES_IS_TRANSITION_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRANSITION_CLIP))
-
-#define GES_TRANSITION_CLIP_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRANSITION_CLIP, GESTransitionClipClass))
-
-typedef struct _GESTransitionClipPrivate GESTransitionClipPrivate;
+GES_DECLARE_TYPE(TransitionClip, transition_clip, TRANSITION_CLIP);
 
 /**
  * GESTransitionClip:
@@ -79,9 +63,6 @@ struct _GESTransitionClipClass {
 };
 
 GES_API
-GType ges_transition_clip_get_type (void);
-
-GES_API
 GESTransitionClip *ges_transition_clip_new (GESVideoStandardTransitionType vtype);
 GES_API
 GESTransitionClip *ges_transition_clip_new_for_nick (char *nick);
index 65c07e6..f1de5a9 100644 (file)
 #include <ges/ges.h>
 #include "ges-internal.h"
 
-struct _GESTransitionPrivate
-{
-  /*  Dummy variable */
-  void *nothing;
-};
-
-G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GESTransition, ges_transition,
-    GES_TYPE_OPERATION);
-
+G_DEFINE_ABSTRACT_TYPE (GESTransition, ges_transition, GES_TYPE_OPERATION);
 
 static void
 ges_transition_class_init (GESTransitionClass * klass)
@@ -49,5 +41,4 @@ ges_transition_class_init (GESTransitionClass * klass)
 static void
 ges_transition_init (GESTransition * self)
 {
-  self->priv = ges_transition_get_instance_private (self);
 }
index 406140a..b1806b2 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_TRANSITION ges_transition_get_type()
-
-#define GES_TRANSITION(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRANSITION,\
-        GESTransition))
-
-#define GES_TRANSITION_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRANSITION,\
-        GESTransitionClass))
-
-#define GES_IS_TRANSITION(obj) \
-    (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRANSITION))
-
-#define GES_IS_TRANSITION_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRANSITION))
-
-#define GES_TRANSITION_GET_CLASS(obj) \
-    (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRANSITION,\
-        GESTransitionClass))
-
-typedef struct _GESTransitionPrivate GESTransitionPrivate;
+GES_DECLARE_TYPE(Transition, transition, TRANSITION);
 
 /**
  * GESTransition:
@@ -75,15 +56,12 @@ struct _GESTransition
 struct _GESTransitionClass {
   /*< private >*/
   GESOperationClass parent_class;
-  
+
   /*< private >*/
   /* Padding for API extension */
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_transition_get_type (void);
-
 G_END_DECLS
 
 #endif
index d93f131..c9bf2e5 100644 (file)
@@ -189,9 +189,42 @@ typedef struct _GESAudioTrackClass GESAudioTrackClass;
 typedef struct _GESAudioTrack GESAudioTrack;
 
 typedef struct _GESMarkerList GESMarkerList;
-
 typedef struct _GESMarker GESMarker;
 
+typedef struct _GESEffectAssetClass GESEffectAssetClass;
+typedef struct _GESEffectAsset GESEffectAsset;
+
+typedef struct _GESXmlFormatterClass GESXmlFormatterClass;
+typedef struct _GESXmlFormatter GESXmlFormatter;
+
+#define GES_DECLARE_TYPE(ObjName, obj_name, OBJ_NAME)    \
+  GES_API GType ges_##obj_name##_get_type(void);                               \
+  G_GNUC_BEGIN_IGNORE_DEPRECATIONS                                             \
+  typedef struct _GES##ObjName##Private GES##ObjName##Private;                 \
+                                                                               \
+  G_DEFINE_AUTOPTR_CLEANUP_FUNC(GES##ObjName, gst_object_unref)                \
+                                                                               \
+  static G_GNUC_UNUSED inline GES##ObjName *GES_##OBJ_NAME(gpointer ptr) {                   \
+    return G_TYPE_CHECK_INSTANCE_CAST(ptr, ges_##obj_name##_get_type(),        \
+                                      GES##ObjName);                           \
+  }                                                                            \
+  static G_GNUC_UNUSED inline GES##ObjName##Class *GES_##OBJ_NAME##_CLASS(gpointer ptr) {    \
+    return G_TYPE_CHECK_CLASS_CAST(ptr, ges_##obj_name##_get_type(),           \
+                                   GES##ObjName##Class);                       \
+  }                                                                            \
+  static G_GNUC_UNUSED inline gboolean GES_IS_##OBJ_NAME(gpointer ptr) {                     \
+    return G_TYPE_CHECK_INSTANCE_TYPE(ptr, ges_##obj_name##_get_type());       \
+  }                                                                            \
+  static G_GNUC_UNUSED inline gboolean GES_IS_##OBJ_NAME##_CLASS(gpointer ptr) {             \
+    return G_TYPE_CHECK_CLASS_TYPE(ptr, ges_##obj_name##_get_type());          \
+  }                                                                            \
+  static G_GNUC_UNUSED inline GES##ObjName##Class *GES_##OBJ_NAME##_GET_CLASS(               \
+      gpointer ptr) {                                                          \
+    return G_TYPE_INSTANCE_GET_CLASS(ptr, ges_##obj_name##_get_type(),         \
+                                     GES##ObjName##Class);                     \
+  }                                                                            \
+  G_GNUC_END_IGNORE_DEPRECATIONS
+
 G_END_DECLS
 
 #endif /* __GES_TYPES_H__ */
index 32c71cc..ddd0af7 100644 (file)
@@ -507,7 +507,7 @@ asset_ready_cb (GESAsset * source, GAsyncResult * res, RequestSyncData * data)
 GstDiscovererInfo *
 ges_uri_clip_asset_get_info (const GESUriClipAsset * self)
 {
-  g_return_val_if_fail (GES_IS_URI_CLIP_ASSET (self), NULL);
+  g_return_val_if_fail (GES_IS_URI_CLIP_ASSET ((GESUriClipAsset *) self), NULL);
 
   return self->priv->info;
 }
index 6b739c2..9ae6e82 100644 (file)
 
 G_BEGIN_DECLS
 #define GES_TYPE_URI_CLIP_ASSET ges_uri_clip_asset_get_type()
-#define GES_URI_CLIP_ASSET(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_URI_CLIP_ASSET, GESUriClipAsset))
-#define GES_URI_CLIP_ASSET_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_URI_CLIP_ASSET, GESUriClipAssetClass))
-#define GES_IS_URI_CLIP_ASSET(obj) \
-    (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_URI_CLIP_ASSET))
-#define GES_IS_URI_CLIP_ASSET_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_URI_CLIP_ASSET))
-#define GES_URI_CLIP_ASSET_GET_CLASS(obj) \
-    (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_URI_CLIP_ASSET, GESUriClipAssetClass))
-
-typedef struct _GESUriClipAssetPrivate GESUriClipAssetPrivate;
-
-GES_API
-GType ges_uri_clip_asset_get_type (void);
+GES_DECLARE_TYPE(UriClipAsset, uri_clip_asset, URI_CLIP_ASSET);
 
 struct _GESUriClipAsset
 {
@@ -97,21 +83,7 @@ GES_API
 const GList * ges_uri_clip_asset_get_stream_assets  (GESUriClipAsset *self);
 
 #define GES_TYPE_URI_SOURCE_ASSET ges_uri_source_asset_get_type()
-#define GES_URI_SOURCE_ASSET(obj) \
-    (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_URI_SOURCE_ASSET, GESUriSourceAsset))
-#define GES_URI_SOURCE_ASSET_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_URI_SOURCE_ASSET, GESUriSourceAssetClass))
-#define GES_IS_URI_SOURCE_ASSET(obj) \
-    (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_URI_SOURCE_ASSET))
-#define GES_IS_URI_SOURCE_ASSET_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_URI_SOURCE_ASSET))
-#define GES_URI_SOURCE_ASSET_GET_CLASS(obj) \
-    (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_URI_SOURCE_ASSET, GESUriSourceAssetClass))
-
-typedef struct _GESUriSourceAssetPrivate GESUriSourceAssetPrivate;
-
-GES_API
-GType ges_uri_source_asset_get_type (void);
+GES_DECLARE_TYPE(UriSourceAsset, uri_source_asset, URI_SOURCE_ASSET);
 
 struct _GESUriSourceAsset
 {
index 66f0d0e..b1ea556 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_URI_CLIP ges_uri_clip_get_type()
-
-#define GES_URI_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_URI_CLIP, GESUriClip))
-
-#define GES_URI_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_URI_CLIP, GESUriClipClass))
-
-#define GES_IS_URI_CLIP(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_URI_CLIP))
-
-#define GES_IS_URI_CLIP_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_URI_CLIP))
-
-#define GES_URI_CLIP_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_URI_CLIP, GESUriClipClass))
-
-typedef struct _GESUriClipPrivate GESUriClipPrivate;
+GES_DECLARE_TYPE(UriClip, uri_clip, URI_CLIP);
 
 struct _GESUriClip {
   GESSourceClip parent;
@@ -69,9 +53,6 @@ struct _GESUriClipClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_uri_clip_get_type (void);
-
 GES_API void
 ges_uri_clip_set_mute (GESUriClip * self, gboolean mute);
 
index f626b17..af32d5a 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_VIDEO_SOURCE ges_video_source_get_type()
-
-#define GES_VIDEO_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_VIDEO_SOURCE, GESVideoSource))
-
-#define GES_VIDEO_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_VIDEO_SOURCE, GESVideoSourceClass))
-
-#define GES_IS_VIDEO_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_VIDEO_SOURCE))
-
-#define GES_IS_VIDEO_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_VIDEO_SOURCE))
-
-#define GES_VIDEO_SOURCE_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_VIDEO_SOURCE, GESVideoSourceClass))
-
-typedef struct _GESVideoSourcePrivate GESVideoSourcePrivate;
+GES_DECLARE_TYPE(VideoSource, video_source, VIDEO_SOURCE);
 
 /**
  * GESVideoSource:
@@ -91,8 +75,6 @@ struct _GESVideoSourceClass {
 };
 
 GES_API
-GType ges_video_source_get_type (void);
-GES_API
 gboolean ges_video_source_get_natural_size(GESVideoSource* self, gint* width, gint* height);
 
 G_END_DECLS
index e6f0afa..b9a157a 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_VIDEO_TEST_SOURCE ges_video_test_source_get_type()
-
-#define GES_VIDEO_TEST_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_VIDEO_TEST_SOURCE, GESVideoTestSource))
-
-#define GES_VIDEO_TEST_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_VIDEO_TEST_SOURCE, GESVideoTestSourceClass))
-
-#define GES_IS_VIDEO_TEST_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_VIDEO_TEST_SOURCE))
-
-#define GES_IS_VIDEO_TEST_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_VIDEO_TEST_SOURCE))
-
-#define GES_VIDEO_TEST_SOURCE_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_VIDEO_TEST_SOURCE, GESVideoTestSourceClass))
-
-typedef struct _GESVideoTestSourcePrivate GESVideoTestSourcePrivate;
+GES_DECLARE_TYPE(VideoTestSource, video_test_source, VIDEO_TEST_SOURCE);
 
 /**
  * GESVideoTestSource:
@@ -67,9 +51,6 @@ struct _GESVideoTestSourceClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_video_test_source_get_type (void);
-
 GES_API void
 ges_video_test_source_set_pattern(GESVideoTestSource *self,
                                        GESVideoTestPattern pattern);
index 608ab41..4996f27 100644 (file)
 
 G_BEGIN_DECLS
 #define GES_TYPE_VIDEO_TRACK             (ges_video_track_get_type ())
-#define GES_VIDEO_TRACK(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_VIDEO_TRACK, GESVideoTrack))
-#define GES_VIDEO_TRACK_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_VIDEO_TRACK, GESVideoTrackClass))
-#define GES_IS_VIDEO_TRACK(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_VIDEO_TRACK))
-#define GES_IS_VIDEO_TRACK_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_VIDEO_TRACK))
-#define GES_VIDEO_TRACK_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_VIDEO_TRACK, GESVideoTrackClass))
-
-typedef struct _GESVideoTrackPrivate GESVideoTrackPrivate;
+GES_DECLARE_TYPE(VideoTrack, video_track, VIDEO_TRACK);
 
 struct _GESVideoTrackClass
 {
@@ -55,9 +49,6 @@ struct _GESVideoTrack
 };
 
 GES_API
-GType ges_video_track_get_type (void) G_GNUC_CONST;
-
-GES_API
 GESVideoTrack * ges_video_track_new (void);
 
 G_END_DECLS
index 4071438..38a01b2 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_VIDEO_TRANSITION ges_video_transition_get_type()
-
-#define GES_VIDEO_TRANSITION(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_VIDEO_TRANSITION, GESVideoTransition))
-
-#define GES_VIDEO_TRANSITION_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_VIDEO_TRANSITION, GESVideoTransitionClass))
-
-#define GES_IS_VIDEO_TRANSITION(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_VIDEO_TRANSITION))
-
-#define GES_IS_VIDEO_TRANSITION_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_VIDEO_TRANSITION))
-
-#define GES_VIDEO_TRANSITION_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_VIDEO_TRANSITION, GESVideoTransitionClass))
-
-typedef struct _GESVideoTransitionPrivate GESVideoTransitionPrivate;
+GES_DECLARE_TYPE(VideoTransition, video_transition, VIDEO_TRANSITION);
 
 /**
  * GESVideoTransition:
@@ -76,8 +60,6 @@ struct _GESVideoTransitionClass {
 };
 
 GES_API
-GType ges_video_transition_get_type               (void);
-GES_API
 GESVideoTransition* ges_video_transition_new (void);
 
 GES_API
index c1bc16e..be83270 100644 (file)
 G_BEGIN_DECLS
 
 #define GES_TYPE_VIDEO_URI_SOURCE ges_video_uri_source_get_type()
-
-#define GES_VIDEO_URI_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_VIDEO_URI_SOURCE, GESVideoUriSource))
-
-#define GES_VIDEO_URI_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_VIDEO_URI_SOURCE, GESVideoUriSourceClass))
-
-#define GES_IS_VIDEO_URI_SOURCE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_VIDEO_URI_SOURCE))
-
-#define GES_IS_VIDEO_URI_SOURCE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_VIDEO_URI_SOURCE))
-
-#define GES_VIDEO_URI_SOURCE_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_VIDEO_URI_SOURCE, GESVideoUriSourceClass))
-
-typedef struct _GESVideoUriSourcePrivate GESVideoUriSourcePrivate;
+GES_DECLARE_TYPE(VideoUriSource, video_uri_source, VIDEO_URI_SOURCE);
 
 /**
  * GESVideoUriSource:
@@ -69,9 +53,6 @@ struct _GESVideoUriSourceClass {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-GES_API
-GType ges_video_uri_source_get_type (void);
-
 G_END_DECLS
 
 #endif /* _GES_VIDEO_URI_SOURCE */
index 940148d..e11fc78 100644 (file)
 
 G_BEGIN_DECLS
 #define GES_TYPE_XML_FORMATTER (ges_xml_formatter_get_type ())
-#define GES_XML_FORMATTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_XML_FORMATTER, GESXmlFormatter))
-#define GES_XML_FORMATTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_XML_FORMATTER, GESXmlFormatterClass))
-#define GES_IS_XML_FORMATTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_XML_FORMATTER))
-#define GES_IS_XML_FORMATTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_XML_FORMATTER))
-#define GES_XML_FORMATTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_XML_FORMATTER, GESXmlFormatterClass))
-typedef struct _GESXmlFormatterPrivate GESXmlFormatterPrivate;
-
-typedef struct
+GES_DECLARE_TYPE(XmlFormatter, xml_formatter, XML_FORMATTER);
+
+struct _GESXmlFormatter
 {
   GESBaseXmlFormatter parent;
 
   GESXmlFormatterPrivate *priv;
 
   gpointer _ges_reserved[GES_PADDING];
-} GESXmlFormatter;
+};
 
-typedef struct
+struct _GESXmlFormatterClass
 {
   GESBaseXmlFormatterClass parent;
 
   gpointer _ges_reserved[GES_PADDING];
-} GESXmlFormatterClass;
-
-GES_API
-GType ges_xml_formatter_get_type (void);
+};
 
 G_END_DECLS
 #endif /* _GES_XML_FORMATTER_H */
index 8069fed..e33375f 100644 (file)
@@ -26,24 +26,8 @@ G_BEGIN_DECLS
 
 #define GES_TYPE_LAUNCHER ges_launcher_get_type()
 
-#define GES_LAUNCHER(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_LAUNCHER, GESLauncher))
-
-#define GES_LAUNCHER_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_LAUNCHER, GESLauncherClass))
-
-#define GES_IS_LAUNCHER(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_LAUNCHER))
-
-#define GES_IS_LAUNCHER_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_LAUNCHER))
-
-#define GES_LAUNCHER_GET_CLASS(obj) \
-  (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_LAUNCHER, GESLauncherClass))
-
 typedef struct _GESLauncherPrivate GESLauncherPrivate;
-typedef struct _GESLauncher GESLauncher;
-typedef struct _GESLauncherClass GESLauncherClass;
+G_DECLARE_FINAL_TYPE(GESLauncher, ges_launcher, GES, LAUNCHER, GApplication);
 
 typedef struct
 {
@@ -79,16 +63,6 @@ struct _GESLauncher {
   gpointer _ges_reserved[GES_PADDING];
 };
 
-struct _GESLauncherClass {
-  /*< private >*/
-  GApplicationClass parent_class;
-
-  /* Padding for API extension */
-  gpointer _ges_reserved[GES_PADDING];
-};
-
-GType ges_launcher_get_type (void);
-
 GESLauncher* ges_launcher_new (void);
 gint ges_launcher_get_exit_status (GESLauncher *self);
 gboolean ges_launcher_parse_options(GESLauncher* self, gchar*** arguments, gint *argc, GOptionContext* ctx, GError** error);