After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 524300 - fade in and out (crossfade)
fade in and out (crossfade)
Status: RESOLVED WONTFIX
Product: banshee
Classification: Other
Component: Playback
git master
Other All
: Normal enhancement
: ---
Assigned To: Banshee Maintainers
Banshee Maintainers
gnome[unmaintained]
: 554119 (view as bug list)
Depends on: 602286
Blocks:
 
 
Reported: 2008-03-25 13:20 UTC by Jakub 'Livio' Rusinek
Modified: 2020-03-17 08:34 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
refactorForXfade.patch (30.79 KB, patch)
2009-11-17 22:40 UTC, olivier dufour
needs-work Details | Review

Description Jakub 'Livio' Rusinek 2008-03-25 13:20:19 UTC
rhythmbox provides nice fade in and out feature.

why banshee could be the worst :> ?

implement it on:

- play and pause
- stop
- next and previous
- start and quit
- volume changes

and I'll be happy banshee user :) .
Comment 1 Andrew Conkling 2008-03-25 13:21:33 UTC
I have to say, that would go nicely with the fade in/out of the text too. :)
Comment 2 Jakub 'Livio' Rusinek 2008-03-25 13:24:05 UTC
what a fast response :o !

and, yes, it's most wanted feature in banshee. by me of course (; .
Comment 3 Jakub 'Livio' Rusinek 2008-04-18 20:50:10 UTC
Any action? Month from submission...
Comment 4 Marcelo Fernández 2008-08-16 19:13:04 UTC
I agree, for me this is the "Big" feature Banshee still misses in comparison with Amarok or Rythmbox....

So +1

Thanks
Marcelo
Comment 5 kxra 2008-08-20 05:47:05 UTC
This and gapless playback would be amazing. Also: it would be cool if banshee became the first application able to sync with Rockbox
Comment 6 Andrew Conkling 2008-08-20 11:53:51 UTC
(In reply to comment #5)
> This and gapless playback would be amazing. Also: it would be cool if banshee
> became the first application able to sync with Rockbox

Gapless playback is bug 440952.
My Rockbox player synchronizes fine; if yours does not, don't comment here and please file a new bug.
Comment 7 Bertrand Lorentz 2008-09-28 09:20:16 UTC
*** Bug 554119 has been marked as a duplicate of this bug. ***
Comment 8 Nuno Khan 2009-04-12 17:00:11 UTC
screw this, no cross fading and no auto-update library? im switching back to rythmbox
Comment 9 Wouter Bolsterlee (uws) 2009-04-12 21:06:45 UTC
Nuno Khan, comments like these (and like those in bug #385965) are not helpful at all. Please refrain from making such statements in the future. Please don't waste our time with your stop energy. Kthxbye.
Comment 10 olivier dufour 2009-07-18 14:21:11 UTC
Just a simple question for this patch. Must it be done on libanshee (c part) or in playerEngine in c# part?
Comment 11 olivier dufour 2009-11-09 02:59:36 UTC
After a analyse from my own (so maybe wrong ^^). It mean refactor the libbanshee system to remove playbin and build our own pipepline with basicly 
- an output bin whitch is the current one we link to playbin audio-sink
- a adder pad which will mix streams and forward to output bin 
- streams: Most of time we will have 1 stream and when about to finish we will have 2 streams : old one fade out and next one fade in

To sum up:
OLD PIPE:
playbin.audio-sink  = tee audiosinkqueue (eq_audioconvert preamp equalizer eq_audioconvert2) audiosink

NEW PIPE
Stream = source (queue if web radio) decoder queue(for preroll) volume(for fade in and out) 
Adder = gstadder pad to mix streams
output bin = volume(for global volume) tee audiosinkqueue (eq_audioconvert preamp equalizer eq_audioconvert2) audiosink

It seems that rhythmbox add :
- audioconvert audioresample capsfilter between decoder and queue in stream
- capsfilter audioconvert audioresample at start of outputbin
but I do not know why... anybody know?
it seems that it is to improove quality of sound and remove noice but not sure...
Comment 12 olivier dufour 2009-11-17 22:40:19 UTC
Created attachment 147999 [details] [review]
refactorForXfade.patch

Hi,

I have try to work on this features but my c is very rusty and I learn the gstreamer api.
I am pretty sure there are a lot of leak and the code is far from complet. LibBanshee compil but that s all...
I guess we need a parametters for crossfading time. I remove playbin and do not use playbin2. So I will need to do something to get when the song is about to finished and call open(uri).


Is it the good way to support this feature?
Comment 13 Gabriel Burt 2009-11-17 22:50:01 UTC
Talking to RAOF (who is working on the gapless playback patch - see bug #440952), it sounds like playbin2 can handle this (or is close to being able to).  I think using it is the better approach.  And this patch needs to be worked on in concert with the gapless work to not conflict.
Comment 14 olivier dufour 2009-11-18 09:17:14 UTC
Imo, it is not possible to use 2 playbins and link to adder (even with playbin2) and playbin2 do not support cross fading currently. I do not think it is even planned... I will try to contact the playbin2 author to know if there is a roadmap and if there are pending features not implemented...but plan soon. so we can not use the same code with gapless patch. But we can do gapless with this structure.
Comment 15 Alexander Kojevnikov 2009-11-18 09:54:26 UTC
Olivier, the playbin2 vs. crossfading has recently been discussed on IRC, here's the log:

gabaug: RAOF: do you have any thoughts on approaches for crossfading?
gabaug: basically requires 2 sources mixed via an adder, no?
RAOF: gabaug: Yeah.  It should be possible to implement it in playbin2, and then extend the current gapless patch by basically setting one additional property on the playbin.
gabaug: oh yeah?  playbin2 can play from two sources at once?
RAOF: That's how it implements gapless.  It starts a new pipeline for the second URI and then switches the output at the right time.
gabaug: ok, cool
gabaug: I was worried it wouldn't be doable w/ playbin2, glad to hear that
RAOF: It needs to be actually implemented in playbin2; I don't think anyone's working on it at the moment.  But it's possible to do in playbin2.
Comment 16 olivier dufour 2009-11-18 10:26:12 UTC
thansk for feedback. I have open a bug on gstreamer bugzilla for crossfading in playbin2:
https://bugzilla.gnome.org/show_bug.cgi?id=602286

It can simplify a lot the work to add cross fading
Comment 17 Gregor Wenkelewsky 2010-01-29 20:23:07 UTC
Just to keep it up... "yes please" for:

- fade out at pause, stop (also when switching to next or other track) and quit
- fade in at pause resume
- gapless playback

When this is inplemented, I would consider Banshee to be the perfect music player. Now it's just almost perfect.

Some nice extras would be like:

- manual crossfade
- mixing functions
Comment 18 Alexander Kojevnikov 2010-03-04 11:32:18 UTC
Review of attachment 147999 [details] [review]:

Olivier, the gapless-ng branch which uses playbin2 will soon merge into master. Could you adapt your patch to play with it nicely?
Comment 19 olivier dufour 2010-03-04 16:05:30 UTC
No sorry.

playbin2 do not have a support for cross fading. so we have to build our own pipeline and mix them. But playbin2 is more standard so best is to have this features on playbin2 because cooked pipeline will bring some regressions.

I have open a ticket on gstreamer fot that:
https://bugzilla.gnome.org/show_bug.cgi?id=602286

I see no commit which bring this feature on gstreamer :
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/log/gst/playback
Comment 20 Sebastian Krämer 2011-06-02 18:34:42 UTC
It would be nice to have. The gstreamer bug shows some activity, maybe there's hope.
Comment 21 Questioner 2012-04-01 04:25:58 UTC
No activity here for over half a year.

I understand that Banshee relies on gstreamer and other packages in order to make this feature feasible, but if there is any progress, it would be nice if it were reported here instead of having to follow bug trackers for multiple applications.

Also, I just wanted to put my voice in to stress the importance of this feature. It's one of the ones that other software packages take for granted, and so do users. Without it, Banshee comes across as a hobbled.
Comment 22 Andrés G. Aragoneses (IRC: knocte) 2012-04-01 19:41:24 UTC
(In reply to comment #21)
> I understand that Banshee relies on gstreamer and other packages in order to
> make this feature feasible, but if there is any progress, it would be nice if
> it were reported here instead of having to follow bug trackers for multiple
> applications.

GStreamer bugs are tracked in this same bugzilla, you can then subscribe to bug 602286 easily.

I'm even setting up a dependency on it now so everyone in the CC list of this bug can get notified when this GStreamer's bug changes its status.
Comment 23 Boyd Kelly 2012-05-20 18:33:29 UTC
Hi,

Really anticipating this feature fixed/implemented as well.  

Thanks for your work on this!

bk
Comment 24 André Klapper 2020-03-17 08:34:17 UTC
Banshee is not under active development anymore and had its last code changes more than three years ago. Its codebase has been archived.

Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect
reality. Please feel free to reopen this ticket (or rather transfer the project
to GNOME Gitlab, as GNOME Bugzilla is being shut down) if anyone takes the
responsibility for active development again.
See https://gitlab.gnome.org/Infrastructure/Infrastructure/issues/264 for more info.