gst/equalizer/: And continue to update docs. Also include some sample code for the n-band equalizer in the docs.

Original commit message from CVS:
* gst/equalizer/gstiirequalizer10bands.c:
* gst/equalizer/gstiirequalizer3bands.c:
* gst/equalizer/gstiirequalizernbands.c:
And continue to update docs. Also include some sample code
for the n-band equalizer in the docs.
This commit is contained in:
Sebastian Dröge 2007-11-11 13:55:27 +00:00
parent b687bf25e3
commit 4f77b46494
3 changed files with 60 additions and 7 deletions

View file

@ -19,12 +19,14 @@
/**
* SECTION:element-equalizer-10bands
* @short_description: 10-band equalizer
*
* <refsect2>
* <title>Example launch line</title>
* <para>
* The 10 band equalizer element changes the frequency spectrum of the audio data.
* The 10 band equalizer element allows to change the gain of 10 equally distributed
* frequency bands between 30 Hz and 15 kHz.
* </para>
* <title>Example launch line</title>
* <para>
* <programlisting>
* gst-launch filesrc location=song.ogg ! oggdemux ! vorbisdec ! audioconvert ! equalizer-10bands band2=3.0 ! alsasink

View file

@ -19,17 +19,19 @@
/**
* SECTION:element-equalizer-3bands
* @short_description: 3-band equalizer
*
* <refsect2>
* <title>Example launch line</title>
* <para>
* The 3 band equalizer element changes the frequency spectrum of the audio data.
* The 3-band equalizer element allows to change the gain of a low frequency,
* medium frequency and high frequency band.
* </para>
* <title>Example launch line</title>
* <para>
* <programlisting>
* gst-launch filesrc location=song.ogg ! oggdemux ! vorbisdec ! audioconvert ! equalizer-3bands band1=6.0 ! alsasink
* </programlisting>
* This raises the volume of the 2nd band which is at 1110 Hz by 6 db.
* This raises the volume of the 2nd band, which is at 1110 Hz, by 6 db.
* </para>
* </refsect2>
*/

View file

@ -20,18 +20,67 @@
/**
* SECTION:element-equalizer-nbands
* @short_description: Fully parametric N-band equalizer
*
* <refsect2>
* <title>Example launch line</title>
* <para>
* The n-band equalizer element changes the frequency spectrum of the audio data.
* The n-band equalizer element is a fully parametric equalizer. It allows to
* select between 1 and 64 bands and has properties on each band to change
* the center frequency, band width and gain.
* </para>
* <title>Example launch line</title>
* <para>
* <programlisting>
* gst-launch filesrc location=song.ogg ! oggdemux ! vorbisdec ! audioconvert ! equalizer-nbands num-bands=15 band5::gain=6.0 ! alsasink
* </programlisting>
* This make the equalizer use 15 bands and raises the volume of the 5th band by 6 db.
* </para>
* <title>Example code</title>
* <para>
* <programlisting>
#include &lt;gst/gst.h&gt;
...
typedef struct {
gfloat freq;
gfloat width;
gfloat gain;
} GstEqualizerBandState;
...
GstElement *equalizer;
GstObject *band;
gint i;
GstEqualizerBandState state[] = {
{ 120.0, 50.0, - 3.0},
{ 500.0, 20.0, 12.0},
{1503.0, 2.0, -20.0},
{6000.0, 1000.0, 6.0},
{3000.0, 120.0, 2.0}
};
...
equalizer = gst_element_factory_make ("equalizer-nbands", "equalizer");
g_object_set (G_OBJECT (equalizer), "num-bands", 5, NULL);
...
for (i = 0; i &lt; 5; i++) {
band = gst_child_proxy_get_child_by_index (GST_CHILD_PROXY (equalizer), i);
g_object_set (G_OBJECT (band), "freq", state[i].freq,
"bandwidth", state[i].width,
"gain", state[i].gain);
g_object_unref (G_OBJECT (band));
}
...
* </programlisting>
* </para>
* </refsect2>
*/