clementine-player / Clementine

:tangerine: Clementine Music Player
https://www.clementine-player.org/
GNU General Public License v3.0
3.77k stars 677 forks source link

option to do fade out before starting playing another track on manual switch #2516

Open Clementine-Issue-Importer opened 10 years ago

Clementine-Issue-Importer commented 10 years ago

From shaforos...@gmail.com on December 28, 2011 04:19:40

currently there is option to cross-fade tracks when they are changed manually.

what i would like is the same, but without fading in the new track, so that one could hear current track fading out to silence, and only after that a new track would start playing cleanly (w/o fadein).

this feature will be useful for argentine tango DJ's in milongas (tango dance parties): usually tango songs are played in groups of 3 or 4 tracks (called tandas), then a non-tango song starts to play to mark the end of tanda (so people can leave the dance floor). then, when the dancing floor is empty, the next tanda is started, and if this non-tango song hasn't finished yet it is nice to fade it out. but it wouldn't be nice to mix it with tango song.

Original issue: http://code.google.com/p/clementine-player/issues/detail?id=2516

Clementine-Issue-Importer commented 10 years ago

From shaforos...@gmail.com on December 27, 2011 19:20:23

actually i'm a Qt programmer, so if you can guide me through the code, maybe i can try to implement this myself

Clementine-Issue-Importer commented 10 years ago

From davidsansome on December 28, 2011 03:55:49

For the fading itself look in src/engines/gstengine.cpp - the call to StartFadeout() in GstEngine::Load is the one that fades out the old song. You could change the "if (crossfade)" to "if (crossfade && fade_in_newtrack)" or something.

Add a checkbox to playbacksettingspage.ui and load it in GstEngine::ReloadSettings, and you should be there :)