Re: [Banshee-devel-list] GStreamer Equalization support



On 4/25/07, hixon alexander mediati org <hixon alexander mediati org> wrote:
I actually started a bit of hacking on the equalizer component a few
weeks back (see attached patch on
http://bugzilla.gnome.org/show_bug.cgi?id=426562).

Cool I am not alone out there. A few comments on your patch to follow.

* EqualizerSupported and EqualizerBandCount

When I was initially hacking on the equalization abock said he would
like to have as an optional interface that a MediaEngine can
implement, so IEqualizer was born (and if it is not implemented there
is no equalization support).

* nband-equalizer

My GStreamer code is fairly messy, and your implementation is much,
much cleaner. However, I would have liked to see equalizer-nbands,
rather than equalizer-10bands, since it may be possible later to have
equalizers with an adjustable number of frequency bands.
g_object_set(G_OBJECT(engine->equalizer), "num-bands", 10, NULL); can
be used to emulate the current implementation.


Initially I implemented the equalizer support for my Xine media engine
and for Helix. They both have different number of bands and different
ranges of gains. So it was decided to have a fixed 10 band equalizer
with fixed frequencies and all the media engines should adapt to that.

* Preference Loading

My code also has the added functionality to load preset values from
the last session, enable/disable the equalizer, as well as hiding the
menu item depending on if the GStreamer element can be found.


My personal opinion is that EqualizerView and EqualizerPresetComboBox
(and everything in the Equalizer.GUI namespace) are purely UI
controls, so they should not have the preference loading logic or any
other logic. All the logic should be in EqualizerManager.

Hopefully the best bits of both patches can be merged, and then
possibly work on the preamp started.

If you are okay with it, you can merge the following with my patch and
we can continue discussing any further issues:

 * fill in the amplifier related methods in gst-playback with the amp code
 * schema modifications

Regards.

P.S: There is a bug GstChildProxy, which yesterday was fixed in CVS. I
haven't yet tried if the equ works now (I don't have CVS of
gstreamer). I think i might have to change the code to pass gdouble
instead of a GValue as well.

--
Ivan N. Zlatev

Web: http://www.i-nZ.net
"It's all some kind of whacked out conspiracy."



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]