On pausing, optional fade-out fade-in and optional auto-rewind
This feature should be optional to turn on, but should not be default behavior. It is an additional feature, targeting people who use VLC for entertainment or loud music.
If you have your audio volume way up all your subs going off and shaking the floor and pause VLC it would be a much more pleasant experience if when you hit pause, it gradualy reduced the volume before coming to a halt, and much more important, when you resume, it would be great if VLC continued playback at a lower volume level and gradually ramped up the volume until it reached the level where it was at before the pause. It doesn't need to reduce to zero. It would also be great if it would rewind the track during the pause, after all if you pause it because of a distraction of any kind, if you're watching a movie, you really need to back it up a little bit anyway, and if the phone rings right when your playlist gets to your favorite part of your favorite song, why not have it automatically back it up before you resume, that way by the time it gets to full volume, you haven't missed anything.
These options should be configurable by the user in preferences.
I suggest the following settings in preferences:
-
A tickbox to enable/disable the feature alltogether, off by default. all other options are greyed out if this tickbox is unchecked (disabled).
-
A field to set the fade out delay, by default 2.0 seconds. Range starting at 0 (=none).
-
A field to set the fade in delay, by default 2.0 seconds. Range starting at 0 (=none).
-
A field to adjust the percentage of audio fade out, by default 75%. Total range 0% to 200%. On the start of the fade in the volume opens at the level the fade out closed with (unless the user manually altered the volume).
-
A checkbox to enable/disable a rewind, enabled by default (unless greyed out). The rewind will be as long as the fade out and fade in time summed up, plus a few extra seconds.
Additional forseen complexities:
- The extra seconds rewind are nessesary to overcome the part where fade out has already set in and fade in has not yet been completed
- The user might attempt to change the volume level manualy during the fading or during the pause, this should overwite the fade effect.
- The rewind function might rewind the currently playing item further back than (or exactly to) timeindex 0 . In this case resuming playback should start at the beginning of the current item and not have a fade-in.
- The fade out might pass the end of the currently playing item. In this case the fade out should continue as usual, and plause at the exact end of the item. (It wont matter if full fade out has not been reached) On resuming, the next item will play, if any, or the loop will continue. There will be no fade-in effect, volume will continue at the level it was before the fade-out started.
- Video cannot be left unhandled if rewind is enabled. Video will also have to fade out, or jump back without fade out, to the frame at which fade out began, plus the extra seconds. Of course, video, audio and subtitles need to remain syncronised.
Remark: I adapted this idea form a forum post, it's not originally mine. It could be split into two tickets, one for the fade effect, one for the rewind, but I consider it more efficient to work on this as one single enhancement.