VolumeFeedback: overlap chiming instead of hard-cancelling

When changing the volume several notches in a burst (ie scrolling the tray icon), VolumeFeedback cancelled the in-flight libcanberra sample before starting a new one. That hard-cuts the waveform and produces inconsistent feedback with clicks/pops. libcanberra already stacks plays that share an id, so dropping the cancel lets the chimes overlap.

This is a different change from !405 (closed). That MR plays feedback on key release. This one leaves play() timing alone and only stops cutting a sample that is already sounding. Tray scroll is unchanged by !405 (closed).

Tested on Plasma 6.7.4 with the default chime, Ocean's audio-volume-change sample. Fast scroll layers ticks instead of chopping them. Recordings of before and after are attached.

Used Cursor while investigating. The change is simply the removal of the ca_context_playing / ca_context_cancel pair in VolumeFeedback::play(), which code comments already expressed uncertainty over. Intended behavior of a chime on each volume change is still preserved, just without the cancel and clipping.

Before

After

Merge request reports

Loading
Loading