Rename audiovoice to audiokaraoke and add it to the docs.

Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* docs/plugins/gst-plugins-good-plugins.args:
* docs/plugins/gst-plugins-good-plugins.hierarchy:
* docs/plugins/inspect/plugin-audiofx.xml:
* gst/audiofx/Makefile.am:
* gst/audiofx/audiofx.c:
* gst/audiofx/audiokaraoke.c:
* gst/audiofx/audiokaraoke.h:
* gst/audiofx/audiovoice.c:
* gst/audiofx/audiovoice.h:
Rename audiovoice to audiokaraoke and add it to the docs.
This commit is contained in:
Stefan Kost 2008-05-28 14:07:21 +00:00
parent 9e26e8b6b4
commit 9c17a6006f
11 changed files with 155 additions and 59 deletions

View file

@ -1,3 +1,19 @@
2008-05-28 Stefan Kost <ensonic@users.sf.net>
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* docs/plugins/gst-plugins-good-plugins.args:
* docs/plugins/gst-plugins-good-plugins.hierarchy:
* docs/plugins/inspect/plugin-audiofx.xml:
* gst/audiofx/Makefile.am:
* gst/audiofx/audiofx.c:
* gst/audiofx/audiokaraoke.c:
* gst/audiofx/audiokaraoke.h:
* gst/audiofx/audiovoice.c:
* gst/audiofx/audiovoice.h:
Rename audiovoice to audiokaraoke and add it to the docs.
2008-05-28 Stefan Kost <ensonic@users.sf.net> 2008-05-28 Stefan Kost <ensonic@users.sf.net>
* REQUIREMENTS: * REQUIREMENTS:

View file

@ -102,6 +102,7 @@ EXTRA_HFILES = \
$(top_srcdir)/gst/audiofx/audioamplify.h \ $(top_srcdir)/gst/audiofx/audioamplify.h \
$(top_srcdir)/gst/audiofx/audiodynamic.h \ $(top_srcdir)/gst/audiofx/audiodynamic.h \
$(top_srcdir)/gst/audiofx/audioinvert.h \ $(top_srcdir)/gst/audiofx/audioinvert.h \
$(top_srcdir)/gst/audiofx/audiokaraoke.h \
$(top_srcdir)/gst/audiofx/audiopanorama.h \ $(top_srcdir)/gst/audiofx/audiopanorama.h \
$(top_srcdir)/gst/audiofx/audiocheblimit.h \ $(top_srcdir)/gst/audiofx/audiocheblimit.h \
$(top_srcdir)/gst/audiofx/audiochebband.h \ $(top_srcdir)/gst/audiofx/audiochebband.h \

View file

@ -24,6 +24,7 @@
<xi:include href="xml/element-audiodynamic.xml" /> <xi:include href="xml/element-audiodynamic.xml" />
<xi:include href="xml/element-audioinvert.xml" /> <xi:include href="xml/element-audioinvert.xml" />
<xi:include href="xml/element-audiopanorama.xml" /> <xi:include href="xml/element-audiopanorama.xml" />
<xi:include href="xml/element-audiokaraoke.xml" />
<xi:include href="xml/element-autoaudiosink.xml" /> <xi:include href="xml/element-autoaudiosink.xml" />
<xi:include href="xml/element-autovideosink.xml" /> <xi:include href="xml/element-autovideosink.xml" />
<xi:include href="xml/element-avidemux.xml" /> <xi:include href="xml/element-avidemux.xml" />

View file

@ -135,6 +135,22 @@ GST_TYPE_AUDIO_INVERT
gst_audio_invert_get_type gst_audio_invert_get_type
</SECTION> </SECTION>
<SECTION>
<FILE>element-audiokaraoke</FILE>
<TITLE>audiokaraoke</TITLE>
GstAudioKaraoke
<SUBSECTION Standard>
GstAudioKaraokeClass
GstAudioKaraokeProcessFunc
GST_AUDIO_KARAOKE
GST_AUDIO_KARAOKE_CLASS
GST_AUDIO_KARAOKE_GET_CLASS
GST_IS_AUDIO_KARAOKE
GST_IS_AUDIO_KARAOKE_CLASS
GST_TYPE_AUDIO_KARAOKE
gst_audio_karaoke_get_type
</SECTION>
<SECTION> <SECTION>
<FILE>element-audiopanorama</FILE> <FILE>element-audiopanorama</FILE>
<TITLE>audiopanorama</TITLE> <TITLE>audiopanorama</TITLE>

View file

@ -19208,3 +19208,43 @@
<DEFAULT>TRUE</DEFAULT> <DEFAULT>TRUE</DEFAULT>
</ARG> </ARG>
<ARG>
<NAME>GstAudioKaraoke::filter-band</NAME>
<TYPE>gfloat</TYPE>
<RANGE>[0,441]</RANGE>
<FLAGS>rw</FLAGS>
<NICK>Filter Band</NICK>
<BLURB>The Frequency band of the filter.</BLURB>
<DEFAULT>220</DEFAULT>
</ARG>
<ARG>
<NAME>GstAudioKaraoke::filter-width</NAME>
<TYPE>gfloat</TYPE>
<RANGE>[0,100]</RANGE>
<FLAGS>rw</FLAGS>
<NICK>Filter Width</NICK>
<BLURB>The Frequency width of the filter.</BLURB>
<DEFAULT>100</DEFAULT>
</ARG>
<ARG>
<NAME>GstAudioKaraoke::level</NAME>
<TYPE>gfloat</TYPE>
<RANGE>[0,1]</RANGE>
<FLAGS>rw</FLAGS>
<NICK>Level</NICK>
<BLURB>Level of the effect (1.0 = full).</BLURB>
<DEFAULT>1</DEFAULT>
</ARG>
<ARG>
<NAME>GstAudioKaraoke::mono-level</NAME>
<TYPE>gfloat</TYPE>
<RANGE>[0,1]</RANGE>
<FLAGS>rw</FLAGS>
<NICK>Mono Level</NICK>
<BLURB>Level of the mono channel (1.0 = full).</BLURB>
<DEFAULT>1</DEFAULT>
</ARG>

View file

@ -45,6 +45,7 @@ GObject
GstAudioPanorama GstAudioPanorama
GstAudioFilter GstAudioFilter
GstAudioInvert GstAudioInvert
GstAudioKaraoke
GstAudioAmplify GstAudioAmplify
GstAudioDynamic GstAudioDynamic
GstAudioChebLimit GstAudioChebLimit

View file

@ -114,6 +114,27 @@
</caps> </caps>
</pads> </pads>
</element> </element>
<element>
<name>audiokaraoke</name>
<longname>AudioKaraoke</longname>
<class>Filter/Effect/Audio</class>
<description>Removes voice from sound</description>
<author>Wim Taymans &lt;wim.taymans@gmail.com&gt;</author>
<pads>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>audio/x-raw-int, depth=(int)16, width=(int)16, endianness=(int)1234, signed=(boolean)true, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; audio/x-raw-float, width=(int)32, endianness=(int)1234, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details>
</caps>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>audio/x-raw-int, depth=(int)16, width=(int)16, endianness=(int)1234, signed=(boolean)true, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; audio/x-raw-float, width=(int)32, endianness=(int)1234, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details>
</caps>
</pads>
</element>
<element> <element>
<name>audiopanorama</name> <name>audiopanorama</name>
<longname>Stereo positioning</longname> <longname>Stereo positioning</longname>

View file

@ -8,7 +8,7 @@ libgstaudiofx_la_SOURCES = audiofx.c\
audioinvert.c \ audioinvert.c \
audioamplify.c \ audioamplify.c \
audiodynamic.c \ audiodynamic.c \
audiovoice.c \ audiokaraoke.c \
audiocheblimit.c \ audiocheblimit.c \
audiochebband.c \ audiochebband.c \
audiowsincband.c \ audiowsincband.c \
@ -32,7 +32,7 @@ noinst_HEADERS = audiopanorama.h \
audioinvert.h \ audioinvert.h \
audioamplify.h \ audioamplify.h \
audiodynamic.h \ audiodynamic.h \
audiovoice.h \ audiokaraoke.h \
audiocheblimit.h \ audiocheblimit.h \
audiochebband.h \ audiochebband.h \
audiowsincband.h \ audiowsincband.h \

View file

@ -27,7 +27,7 @@
#include "audiopanorama.h" #include "audiopanorama.h"
#include "audioinvert.h" #include "audioinvert.h"
#include "audiovoice.h" #include "audiokaraoke.h"
#include "audioamplify.h" #include "audioamplify.h"
#include "audiodynamic.h" #include "audiodynamic.h"
#include "audiocheblimit.h" #include "audiocheblimit.h"
@ -50,8 +50,8 @@ plugin_init (GstPlugin * plugin)
GST_TYPE_AUDIO_PANORAMA) && GST_TYPE_AUDIO_PANORAMA) &&
gst_element_register (plugin, "audioinvert", GST_RANK_NONE, gst_element_register (plugin, "audioinvert", GST_RANK_NONE,
GST_TYPE_AUDIO_INVERT) && GST_TYPE_AUDIO_INVERT) &&
gst_element_register (plugin, "audiovoice", GST_RANK_NONE, gst_element_register (plugin, "audiokaraoke", GST_RANK_NONE,
GST_TYPE_AUDIO_VOICE) && GST_TYPE_AUDIO_KARAOKE) &&
gst_element_register (plugin, "audioamplify", GST_RANK_NONE, gst_element_register (plugin, "audioamplify", GST_RANK_NONE,
GST_TYPE_AUDIO_AMPLIFY) && GST_TYPE_AUDIO_AMPLIFY) &&
gst_element_register (plugin, "audiodynamic", GST_RANK_NONE, gst_element_register (plugin, "audiodynamic", GST_RANK_NONE,

View file

@ -19,16 +19,16 @@
*/ */
/** /**
* SECTION:element-audiovoice * SECTION:element-audiokaraoke
* @short_description: Voice removal element * @short_description: Voice removal element
* *
* <refsect2> * <refsect2>
* Remove the voice from audio by removing the center channel. * Remove the voice from audio by filtering the center channel.
* This plugin is useful for karaoke applications. * This plugin is useful for karaoke applications.
* <title>Example launch line</title> * <title>Example launch line</title>
* <para> * <para>
* <programlisting> * <programlisting>
* gst-launch filesrc location="song.ogg" ! oggdemux ! vorbisdec ! audiovoice ! audioconvert ! alsasink * gst-launch filesrc location=song.ogg ! oggdemux ! vorbisdec ! audiokaraoke ! audioconvert ! alsasink
* </programlisting> * </programlisting>
* </para> * </para>
* </refsect2> * </refsect2>
@ -46,13 +46,13 @@
#include <gst/audio/gstaudiofilter.h> #include <gst/audio/gstaudiofilter.h>
#include <gst/controller/gstcontroller.h> #include <gst/controller/gstcontroller.h>
#include "audiovoice.h" #include "audiokaraoke.h"
#define GST_CAT_DEFAULT gst_audio_voice_debug #define GST_CAT_DEFAULT gst_audio_karaoke_debug
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT); GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
static const GstElementDetails element_details = static const GstElementDetails element_details =
GST_ELEMENT_DETAILS ("AudioVoice", GST_ELEMENT_DETAILS ("AudioKaraoke",
"Filter/Effect/Audio", "Filter/Effect/Audio",
"Removes voice from sound", "Removes voice from sound",
"Wim Taymans <wim.taymans@gmail.com>"); "Wim Taymans <wim.taymans@gmail.com>");
@ -94,30 +94,30 @@ enum
" channels=(int)[1,MAX]" " channels=(int)[1,MAX]"
#define DEBUG_INIT(bla) \ #define DEBUG_INIT(bla) \
GST_DEBUG_CATEGORY_INIT (gst_audio_voice_debug, "audiovoice", 0, "audiovoice element"); GST_DEBUG_CATEGORY_INIT (gst_audio_karaoke_debug, "audiokaraoke", 0, "audiokaraoke element");
GST_BOILERPLATE_FULL (GstAudioVoice, gst_audio_voice, GstAudioFilter, GST_BOILERPLATE_FULL (GstAudioKaraoke, gst_audio_karaoke, GstAudioFilter,
GST_TYPE_AUDIO_FILTER, DEBUG_INIT); GST_TYPE_AUDIO_FILTER, DEBUG_INIT);
static void gst_audio_voice_set_property (GObject * object, guint prop_id, static void gst_audio_karaoke_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec); const GValue * value, GParamSpec * pspec);
static void gst_audio_voice_get_property (GObject * object, guint prop_id, static void gst_audio_karaoke_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec); GValue * value, GParamSpec * pspec);
static gboolean gst_audio_voice_setup (GstAudioFilter * filter, static gboolean gst_audio_karaoke_setup (GstAudioFilter * filter,
GstRingBufferSpec * format); GstRingBufferSpec * format);
static GstFlowReturn gst_audio_voice_transform_ip (GstBaseTransform * base, static GstFlowReturn gst_audio_karaoke_transform_ip (GstBaseTransform * base,
GstBuffer * buf); GstBuffer * buf);
static void gst_audio_voice_transform_int (GstAudioVoice * filter, static void gst_audio_karaoke_transform_int (GstAudioKaraoke * filter,
gint16 * data, guint num_samples); gint16 * data, guint num_samples);
static void gst_audio_voice_transform_float (GstAudioVoice * filter, static void gst_audio_karaoke_transform_float (GstAudioKaraoke * filter,
gfloat * data, guint num_samples); gfloat * data, guint num_samples);
/* GObject vmethod implementations */ /* GObject vmethod implementations */
static void static void
gst_audio_voice_base_init (gpointer klass) gst_audio_karaoke_base_init (gpointer klass)
{ {
GstElementClass *element_class = GST_ELEMENT_CLASS (klass); GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
GstCaps *caps; GstCaps *caps;
@ -131,13 +131,13 @@ gst_audio_voice_base_init (gpointer klass)
} }
static void static void
gst_audio_voice_class_init (GstAudioVoiceClass * klass) gst_audio_karaoke_class_init (GstAudioKaraokeClass * klass)
{ {
GObjectClass *gobject_class; GObjectClass *gobject_class;
gobject_class = (GObjectClass *) klass; gobject_class = (GObjectClass *) klass;
gobject_class->set_property = gst_audio_voice_set_property; gobject_class->set_property = gst_audio_karaoke_set_property;
gobject_class->get_property = gst_audio_voice_get_property; gobject_class->get_property = gst_audio_karaoke_get_property;
g_object_class_install_property (gobject_class, PROP_LEVEL, g_object_class_install_property (gobject_class, PROP_LEVEL,
g_param_spec_float ("level", "Level", g_param_spec_float ("level", "Level",
@ -160,13 +160,13 @@ gst_audio_voice_class_init (GstAudioVoiceClass * klass)
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE)); G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE));
GST_AUDIO_FILTER_CLASS (klass)->setup = GST_AUDIO_FILTER_CLASS (klass)->setup =
GST_DEBUG_FUNCPTR (gst_audio_voice_setup); GST_DEBUG_FUNCPTR (gst_audio_karaoke_setup);
GST_BASE_TRANSFORM_CLASS (klass)->transform_ip = GST_BASE_TRANSFORM_CLASS (klass)->transform_ip =
GST_DEBUG_FUNCPTR (gst_audio_voice_transform_ip); GST_DEBUG_FUNCPTR (gst_audio_karaoke_transform_ip);
} }
static void static void
gst_audio_voice_init (GstAudioVoice * filter, GstAudioVoiceClass * klass) gst_audio_karaoke_init (GstAudioKaraoke * filter, GstAudioKaraokeClass * klass)
{ {
gst_base_transform_set_in_place (GST_BASE_TRANSFORM (filter), TRUE); gst_base_transform_set_in_place (GST_BASE_TRANSFORM (filter), TRUE);
gst_base_transform_set_gap_aware (GST_BASE_TRANSFORM (filter), TRUE); gst_base_transform_set_gap_aware (GST_BASE_TRANSFORM (filter), TRUE);
@ -178,7 +178,7 @@ gst_audio_voice_init (GstAudioVoice * filter, GstAudioVoiceClass * klass)
} }
static void static void
update_filter (GstAudioVoice * filter, gint rate) update_filter (GstAudioKaraoke * filter, gint rate)
{ {
gfloat A, B, C; gfloat A, B, C;
@ -197,12 +197,12 @@ update_filter (GstAudioVoice * filter, gint rate)
} }
static void static void
gst_audio_voice_set_property (GObject * object, guint prop_id, gst_audio_karaoke_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec) const GValue * value, GParamSpec * pspec)
{ {
GstAudioVoice *filter; GstAudioKaraoke *filter;
filter = GST_AUDIO_VOICE (object); filter = GST_AUDIO_KARAOKE (object);
switch (prop_id) { switch (prop_id) {
case PROP_LEVEL: case PROP_LEVEL:
@ -226,12 +226,12 @@ gst_audio_voice_set_property (GObject * object, guint prop_id,
} }
static void static void
gst_audio_voice_get_property (GObject * object, guint prop_id, gst_audio_karaoke_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec) GValue * value, GParamSpec * pspec)
{ {
GstAudioVoice *filter; GstAudioKaraoke *filter;
filter = GST_AUDIO_VOICE (object); filter = GST_AUDIO_KARAOKE (object);
switch (prop_id) { switch (prop_id) {
case PROP_LEVEL: case PROP_LEVEL:
@ -255,20 +255,20 @@ gst_audio_voice_get_property (GObject * object, guint prop_id,
/* GstAudioFilter vmethod implementations */ /* GstAudioFilter vmethod implementations */
static gboolean static gboolean
gst_audio_voice_setup (GstAudioFilter * base, GstRingBufferSpec * format) gst_audio_karaoke_setup (GstAudioFilter * base, GstRingBufferSpec * format)
{ {
GstAudioVoice *filter = GST_AUDIO_VOICE (base); GstAudioKaraoke *filter = GST_AUDIO_KARAOKE (base);
gboolean ret = TRUE; gboolean ret = TRUE;
filter->channels = format->channels; filter->channels = format->channels;
filter->rate = format->rate; filter->rate = format->rate;
if (format->type == GST_BUFTYPE_FLOAT && format->width == 32) if (format->type == GST_BUFTYPE_FLOAT && format->width == 32)
filter->process = (GstAudioVoiceProcessFunc) filter->process = (GstAudioKaraokeProcessFunc)
gst_audio_voice_transform_float; gst_audio_karaoke_transform_float;
else if (format->type == GST_BUFTYPE_LINEAR && format->width == 16) else if (format->type == GST_BUFTYPE_LINEAR && format->width == 16)
filter->process = (GstAudioVoiceProcessFunc) filter->process = (GstAudioKaraokeProcessFunc)
gst_audio_voice_transform_int; gst_audio_karaoke_transform_int;
else else
ret = FALSE; ret = FALSE;
@ -278,7 +278,7 @@ gst_audio_voice_setup (GstAudioFilter * base, GstRingBufferSpec * format)
} }
static void static void
gst_audio_voice_transform_int (GstAudioVoice * filter, gst_audio_karaoke_transform_int (GstAudioKaraoke * filter,
gint16 * data, guint num_samples) gint16 * data, guint num_samples)
{ {
gint i, l, r, o, x; gint i, l, r, o, x;
@ -311,7 +311,7 @@ gst_audio_voice_transform_int (GstAudioVoice * filter,
} }
static void static void
gst_audio_voice_transform_float (GstAudioVoice * filter, gst_audio_karaoke_transform_float (GstAudioKaraoke * filter,
gfloat * data, guint num_samples) gfloat * data, guint num_samples)
{ {
gint i; gint i;
@ -340,9 +340,9 @@ gst_audio_voice_transform_float (GstAudioVoice * filter,
/* GstBaseTransform vmethod implementations */ /* GstBaseTransform vmethod implementations */
static GstFlowReturn static GstFlowReturn
gst_audio_voice_transform_ip (GstBaseTransform * base, GstBuffer * buf) gst_audio_karaoke_transform_ip (GstBaseTransform * base, GstBuffer * buf)
{ {
GstAudioVoice *filter = GST_AUDIO_VOICE (base); GstAudioKaraoke *filter = GST_AUDIO_KARAOKE (base);
guint num_samples = guint num_samples =
GST_BUFFER_SIZE (buf) / (GST_AUDIO_FILTER (filter)->format.width / 8); GST_BUFFER_SIZE (buf) / (GST_AUDIO_FILTER (filter)->format.width / 8);

View file

@ -18,8 +18,8 @@
* Boston, MA 02111-1307, USA. * Boston, MA 02111-1307, USA.
*/ */
#ifndef __GST_AUDIO_VOICE_H__ #ifndef __GST_AUDIO_KARAOKE_H__
#define __GST_AUDIO_VOICE_H__ #define __GST_AUDIO_KARAOKE_H__
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/base/gstbasetransform.h> #include <gst/base/gstbasetransform.h>
@ -27,18 +27,18 @@
#include <gst/audio/gstaudiofilter.h> #include <gst/audio/gstaudiofilter.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_AUDIO_VOICE (gst_audio_voice_get_type()) #define GST_TYPE_AUDIO_KARAOKE (gst_audio_karaoke_get_type())
#define GST_AUDIO_VOICE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_VOICE,GstAudioVoice)) #define GST_AUDIO_KARAOKE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_KARAOKE,GstAudioKaraoke))
#define GST_IS_AUDIO_VOICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_VOICE)) #define GST_IS_AUDIO_KARAOKE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_KARAOKE))
#define GST_AUDIO_VOICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass) ,GST_TYPE_AUDIO_VOICE,GstAudioVoiceClass)) #define GST_AUDIO_KARAOKE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass) ,GST_TYPE_AUDIO_KARAOKE,GstAudioKaraokeClass))
#define GST_IS_AUDIO_VOICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_AUDIO_VOICE)) #define GST_IS_AUDIO_KARAOKE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_AUDIO_KARAOKE))
#define GST_AUDIO_VOICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_AUDIO_VOICE,GstAudioVoiceClass)) #define GST_AUDIO_KARAOKE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_AUDIO_KARAOKE,GstAudioKaraokeClass))
typedef struct _GstAudioVoice GstAudioVoice; typedef struct _GstAudioKaraoke GstAudioKaraoke;
typedef struct _GstAudioVoiceClass GstAudioVoiceClass; typedef struct _GstAudioKaraokeClass GstAudioKaraokeClass;
typedef void (*GstAudioVoiceProcessFunc) (GstAudioVoice *, guint8 *, guint); typedef void (*GstAudioKaraokeProcessFunc) (GstAudioKaraoke *, guint8 *, guint);
struct _GstAudioVoice struct _GstAudioKaraoke
{ {
GstAudioFilter audiofilter; GstAudioFilter audiofilter;
@ -56,15 +56,15 @@ struct _GstAudioVoice
gfloat y1, y2; gfloat y1, y2;
/* < private > */ /* < private > */
GstAudioVoiceProcessFunc process; GstAudioKaraokeProcessFunc process;
}; };
struct _GstAudioVoiceClass struct _GstAudioKaraokeClass
{ {
GstAudioFilterClass parent; GstAudioFilterClass parent;
}; };
GType gst_audio_voice_get_type (void); GType gst_audio_karaoke_get_type (void);
G_END_DECLS G_END_DECLS
#endif /* __GST_AUDIO_VOICE_H__ */ #endif /* __GST_AUDIO_KARAOKE_H__ */