From 44e09dddc430f9e24f0db08fc86120e3cd8b13c7 Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Fri, 9 Mar 2007 08:58:26 +0000 Subject: gst/equalizer/: Refactor plugin into a base class and a first subclass (nband eq). The nband eq uses GstChildProxy an... Original commit message from CVS: * gst/equalizer/Makefile.am: * gst/equalizer/gstiirequalizer.c: (_do_init), (gst_iir_equalizer_band_set_property), (gst_iir_equalizer_band_get_property), (gst_iir_equalizer_band_class_init), (gst_iir_equalizer_band_get_type), (gst_iir_equalizer_child_proxy_get_child_by_index), (gst_iir_equalizer_child_proxy_get_children_count), (gst_iir_equalizer_child_proxy_interface_init), (gst_iir_equalizer_base_init), (gst_iir_equalizer_class_init), (gst_iir_equalizer_finalize), (setup_filter), (gst_iir_equalizer_compute_frequencies), (gst_iir_equalizer_set_property), (gst_iir_equalizer_get_property), (gst_iir_equalizer_setup), (plugin_init): * gst/equalizer/gstiirequalizer.h: * gst/equalizer/gstiirequalizernbands.c: (gst_iir_equalizer_nbands_base_init), (gst_iir_equalizer_nbands_class_init), (gst_iir_equalizer_nbands_init), (gst_iir_equalizer_nbands_set_property), (gst_iir_equalizer_nbands_get_property): * gst/equalizer/gstiirequalizernbands.h: Refactor plugin into a base class and a first subclass (nband eq). The nband eq uses GstChildProxy and is controlable. More subclasses will follow. --- gst/equalizer/gstiirequalizernbands.h | 52 +++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 gst/equalizer/gstiirequalizernbands.h (limited to 'gst/equalizer/gstiirequalizernbands.h') diff --git a/gst/equalizer/gstiirequalizernbands.h b/gst/equalizer/gstiirequalizernbands.h new file mode 100644 index 00000000..c523f90f --- /dev/null +++ b/gst/equalizer/gstiirequalizernbands.h @@ -0,0 +1,52 @@ +/* GStreamer + * Copyright (C) <2004> Benjamin Otte + * <2007> Stefan Kost + * + * 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 __GST_IIR_EQUALIZER_NBANDS__ +#define __GST_IIR_EQUALIZER_NBANDS__ + +#include "gstiirequalizer.h" + +typedef struct _GstIirEqualizerNBands GstIirEqualizerNBands; +typedef struct _GstIirEqualizerNBandsClass GstIirEqualizerNBandsClass; + +#define GST_TYPE_IIR_EQUALIZER_NBANDS \ + (gst_iir_equalizer_nbands_get_type()) +#define GST_IIR_EQUALIZER_NBANDS(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_IIR_EQUALIZER_NBANDS,GstIirEqualizerNBands)) +#define GST_IIR_EQUALIZER_NBANDS_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_IIR_EQUALIZER_NBANDS,GstIirEqualizerNBandsClass)) +#define GST_IS_IIR_EQUALIZER_NBANDS(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_IIR_EQUALIZER_NBANDS)) +#define GST_IS_IIR_EQUALIZER_NBANDS_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_IIR_EQUALIZER_NBANDS)) + +struct _GstIirEqualizerNBands +{ + GstIirEqualizer equalizer; +}; + +struct _GstIirEqualizerNBandsClass +{ + GstIirEqualizer equalizer_class; +}; + +extern GType gst_iir_equalizer_nbands_get_type(void); + +#endif /* __GST_IIR_EQUALIZER_NBANDS__ */ -- cgit