squentin / gmusicbrowser

jukebox for large collections of music
http://gmusicbrowser.org
GNU General Public License v3.0
197 stars 42 forks source link

crossfade support? #2

Open nddrylliog opened 14 years ago

nddrylliog commented 14 years ago

Would it be possible/easy to implement crossfading for the gstreamer backend? I think musikcube does it right - the default timings are very sensible (different ones for prev/next and pause/play and select track) and it's easy to change them + disable/enable crossfading.

squentin commented 14 years ago

It is possible, and more or less planned. But currently, gusicbrowser uses playbin/playbin2 in gstreamer, that mostly do everything by itself. playbin2 does not currently support cross-fading, so to implement it I would have to re-implement playbin2 and its gapless mode :( So currently, I would rather wait for cross-fading to be implemented in playbin2. (https://bugzilla.gnome.org/show_bug.cgi?id=602286)

nddrylliog commented 14 years ago

Well playbin2's gapless mode seems buggy as hell unfortunately :/ It makes my gmusicbrowser crash all the time so I just gave up on it.

And considering gstreamer's development rate (and contributer cost - ie. the time/effort it takes for someone to learn/write a patch/get it merged, etc.) I'm betting we won't have crossfading in playbin2 before 2015...

squentin commented 14 years ago

About gapless crashes, the problem comes from the perl bindings, see http://bugzilla.gnome.org/show_bug.cgi?id=614650 sadly I haven't gotten around to do what the devs suggested yet (help welcome).

Yes it could take a while before gstreamer add this feature, though other players want this too. I might try to implement it myself in gmusicbrowser at some point if it is still not supported in gstreamer's playbin2 by then, but currently I have too many other things to do anyway.

Semmu commented 8 years ago

Any update on this one? gstreamer gapless playback is still marked as experimental (and isn't truly gapless on my machine), also I can't find anything on crossfade support.