diff --git a/docs/libs/ges-sections.txt b/docs/libs/ges-sections.txt index 094a1efc86..a367ac4b87 100644 --- a/docs/libs/ges-sections.txt +++ b/docs/libs/ges-sections.txt @@ -111,6 +111,21 @@ ges_track_transition_new ges_track_transition_set_vtype +
+ges-track-audio-transition +<GESTrackAudioTransition +GESTrackAudioTransition +GESTrackAudioTransitionClass +GES_IS_TRACK_AUDIO_TRANSITION +ges_track_audio_transition_get_type +ges_track_audio_transition_new + +GES_IS_TRACK_AUDIO_TRANSITION_CLASS +GES_TRACK_AUDIO_TRANSITION +GES_TRACK_AUDIO_TRANSITION_CLASS +GES_TRACK_AUDIO_TRANSITION_GET_CLASS +GES_TYPE_TRACK_AUDIO_TRANSITION +
ges-timeline diff --git a/ges/Makefile.am b/ges/Makefile.am index 4edfc79480..b0abec05e8 100644 --- a/ges/Makefile.am +++ b/ges/Makefile.am @@ -25,6 +25,7 @@ libges_@GST_MAJORMINOR@_la_SOURCES = \ ges-track-source.c \ ges-track-filesource.c \ ges-track-transition.c \ + ges-track-audio-transition.c \ ges-track-background-source.c \ ges-track-video-background-source.c \ ges-track-audio-background-source.c \ @@ -54,6 +55,7 @@ libges_@GST_MAJORMINOR@include_HEADERS = \ ges-track-source.h \ ges-track-filesource.h \ ges-track-transition.h \ + ges-track-audio-transition.h \ ges-track-background-source.h \ ges-track-video-background-source.h \ ges-track-audio-background-source.h \ diff --git a/ges/ges-track-audio-transition.c b/ges/ges-track-audio-transition.c new file mode 100644 index 0000000000..3ead9cf45b --- /dev/null +++ b/ges/ges-track-audio-transition.c @@ -0,0 +1,105 @@ +/* GStreamer Editing Services + * Copyright (C) 2010 Brandon Lewis + * 2010 Nokia Corporation + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/** + * SECTION:ges-track-audio-transition + * @short_description: implements audio crossfade transitino + */ + +#include "ges-internal.h" +#include "ges-track-object.h" +#include "ges-track-audio-transition.h" + +G_DEFINE_TYPE (GESTrackAudioTransition, ges_track_audio_transition, + GES_TYPE_TRACK_TRANSITION); + +enum +{ + PROP_0, +}; + +static void ges_track_audio_transition_dispose (GObject * object); + +static void ges_track_audio_transition_finalize (GObject * object); + +static void ges_track_audio_transition_get_property (GObject * object, guint + property_id, GValue * value, GParamSpec * pspec); + +static void ges_track_audio_transition_set_property (GObject * object, guint + property_id, const GValue * value, GParamSpec * pspec); + +static void +ges_track_audio_transition_class_init (GESTrackAudioTransitionClass * klass) +{ + GObjectClass *object_class; + GESTrackTransitionClass *bg_class; + + object_class = G_OBJECT_CLASS (klass); + bg_class = GES_TRACK_TRANSITION_CLASS (klass); + + object_class->get_property = ges_track_audio_transition_get_property; + object_class->set_property = ges_track_audio_transition_set_property; + object_class->dispose = ges_track_audio_transition_dispose; + object_class->finalize = ges_track_audio_transition_finalize; + +} + +static void +ges_track_audio_transition_init (GESTrackAudioTransition * self) +{ +} + +static void +ges_track_audio_transition_dispose (GObject * object) +{ + G_OBJECT_CLASS (ges_track_audio_transition_parent_class)->dispose (object); +} + +static void +ges_track_audio_transition_finalize (GObject * object) +{ + G_OBJECT_CLASS (ges_track_audio_transition_parent_class)->finalize (object); +} + +static void +ges_track_audio_transition_get_property (GObject * object, + guint property_id, GValue * value, GParamSpec * pspec) +{ + switch (property_id) { + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + } +} + +static void +ges_track_audio_transition_set_property (GObject * object, + guint property_id, const GValue * value, GParamSpec * pspec) +{ + switch (property_id) { + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + } +} + +GESTrackAudioTransition * +ges_track_audio_transition_new (void) +{ + return g_object_new (GES_TYPE_TRACK_AUDIO_TRANSITION, NULL); +} diff --git a/ges/ges-track-audio-transition.h b/ges/ges-track-audio-transition.h new file mode 100644 index 0000000000..4dd0b81148 --- /dev/null +++ b/ges/ges-track-audio-transition.h @@ -0,0 +1,78 @@ +/* GStreamer Editing Services + * Copyright (C) 2010 Brandon Lewis + * 2010 Nokia Corporation + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef _GES_TRACK_AUDIO_TRANSITION +#define _GES_TRACK_AUDIO_TRANSITION + +#include +#include +#include + +G_BEGIN_DECLS + +#define GES_TYPE_TRACK_AUDIO_TRANSITION ges_track_audio_transition_get_type() + +#define GES_TRACK_AUDIO_TRANSITION(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_TRACK_AUDIO_TRANSITION, GESTrackAudioTransition)) + +#define GES_TRACK_AUDIO_TRANSITION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GES_TYPE_TRACK_AUDIO_TRANSITION, GESTrackAudioTransitionClass)) + +#define GES_IS_TRACK_AUDIO_TRANSITION(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GES_TYPE_TRACK_AUDIO_TRANSITION)) + +#define GES_IS_TRACK_AUDIO_TRANSITION_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GES_TYPE_TRACK_AUDIO_TRANSITION)) + +#define GES_TRACK_AUDIO_TRANSITION_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_AUDIO_TRANSITION, GESTrackAudioTransitionClass)) + +/** + * GESTrackAudioTransition: + * @parent: parent + * + */ + +struct _GESTrackAudioTransition { + GESTrackTransition parent; + + /*< public >*/ +}; + +/** + * GESTrackAudioTransitionClass: + * @parent_class: parent class + * + */ + +struct _GESTrackAudioTransitionClass { + GESTrackTransitionClass parent_class; + + /*< public >*/ +}; + +GType ges_track_audio_transition_get_type (void); + +GESTrackAudioTransition* ges_track_audio_transition_new (void); + +G_END_DECLS + +#endif /* _GES_TRACK_AUDIO_transition */ + diff --git a/ges/ges-types.h b/ges/ges-types.h index 439f6a91f9..93cafedca6 100644 --- a/ges/ges-types.h +++ b/ges/ges-types.h @@ -69,6 +69,10 @@ typedef struct _GESTrackFileSourceClass GESTrackFileSourceClass; typedef struct _GESTrackTransition GESTrackTransition; typedef struct _GESTrackTransitionClass GESTrackTransitionClass; +typedef struct _GESTrackAudioTransition GESTrackAudioTransition; +typedef struct _GESTrackAudioTransitionClass + GESTrackAudioTransitionClass; + typedef struct _GESTrackBackgroundSource GESTrackBackgroundSource; typedef struct _GESTrackBackgroundSourceClass GESTrackBackgroundSourceClass;