[Rhythmbox-devel] Re: Crossfading Support?



I looked into this a bit a few weeks ago. Basically:

* We'd need to write a new crossfader element. It has two input pads, one
output pad. Rhythmbox sets up and maintains TWO pipelines at once, feeding
into the crossfader. IE the crossfader element would be compulsory, not
optional without major hackage inside RB - that doesn't mean you have to
have the effect enabled though.

* The crossfader element would pull N seconds of audio into itself and
then have two internal volume elements and an adder element. You could use
the sine function to splice between them, which is easy enough, the hard
bit is pulling the right amount of audio I think. GStreamer 0.7 supports
querying a buffer for its duration.

* We could also use this element to implement gapless playback as it'd
buffer a small amount on the alternate pipeline before doing the switch.
Once the switch between the pads has occurred, the element could emit a
signal that RB would attach to and rejig the pipelines.

* Maybe a weekend or twos work. Unfortunately I am already committed to
too much stuff elsewhere in linuxland, so I can't do this....

thanks -mike




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