Skip to content

Draft: Add a workaround for volume spikes when ReplayGain changes from low to high

Tuomas Nurmi requested to merge nurmi/amarok:replayGainVolumePreset into master

RFC: A hack. This is a hack and doesn't always work perfectly. However, my dog doesn't like those volume spikes, so I thought I'd try something.

Gain is adjusted in slotNewTrackPlaying, which will be called only after the new track has started playing, causing a volume spike of a second or so. Try to avoid this by pre-scheduling a gain setup a moment before the track changes, optimally resulting the change taking effect just between songs. Worst-case scenario is volume change happening before the previous song ends, which is not nice, but probably a lesser problem on average.

Some handling for the most foreseeable corner cases, i.e. seeking song backwards while gain setup was already scheduled, is included.

Shouldn't affect any cases where ReplayGain is not available (= phonon-vlc) or used.

BUG: 299461

I'm testing this myself to get a feeling if this, even with the known deficiencies, improves the user experience as total.

EDIT: I tried using this for some time, but the experience wasn't maybe good enough. The timing on track ending is hard to get even nearly right and varies by file quite a bit. Leaving this open still so I won't forget that this is something that could use some new bright ideas.

Edited by Tuomas Nurmi

Merge request reports