Bug 288594 - KMix: scroll wheel adjusts both Master and Amarok
Summary: KMix: scroll wheel adjusts both Master and Amarok
Alias: None
Product: kmix
Classification: Applications
Component: Backend: Pulseaudio (show other bugs)
Version: 3.8
Platform: Unlisted Binaries Linux
: NOR normal
Target Milestone: ---
Assignee: Colin Guthrie
Depends on:
Reported: 2011-12-09 20:23 UTC by Jeffrey
Modified: 2011-12-09 21:12 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Note You need to log in before you can comment on or make changes to this bug.
Description Jeffrey 2011-12-09 20:23:32 UTC
Version:           3.8 (using KDE 4.7.2) 
OS:                Linux

This is with PulseAudio backend on Debian Sid with KDE-Qt Experimental version of KDE 4.7.2.  This same behaviour was also in KDE 4.6.5 on Debian Sid.

Amarok music player has its own volume control, KMix has the Master control, and there are Playback Streams controls.  When I use the mouse scroll wheel over the KMix icon to adjust the Master Volume, this scrolling also adjusts Amarok's volume and all Playback Stream volumes.  This shouldn't happen and it effectively doubles my volume adjustments (+X in KMix and also +X in Amarok)

Reproducible: Always

Steps to Reproduce:
Play audio in Amarok.  Scroll in KMix and watch Amarok's volume change as well as KMix Master Volume.

Actual Results:  
Play audio in Amarok.  Scroll in KMix and watch Amarok's volume change as well as KMix Master Volume and also Playback Streams.

Expected Results:  
Amarok shouldn't change unless I adjust that specifically in the Amarok application.  The Playback Streams should probably be their own locked volumes as well — they're PulseAudio controlled volume limits but seem to be tied to application volumes.

Master should be the overall output.

Playback streams should allow me to set Amarok louder than, say, notifications but quieter than VLC (for example).

Each application should have its own outp[ut volume which is what that app passes TO Pulse.  Pulse shouldn't control these, KMix shouldn't control these.  If for some design reason the Playback Streams volumes are directly tied into the app volumes, then Master should still be independent and changing this shouldn't affect other levels.

Thanks for KDE.
Comment 1 Colin Guthrie 2011-12-09 20:47:02 UTC
This is expected.

It's a feature called "flat volumes". This means that when you see "Amarok 50%" you actually know what that means in absolute terms. Otherwise all you know is "Amarok is 50% of whatever the device volume is". This is, in itself, a meaningless value, whereas with flat volumes you always know what the value is absolutely.

You can still make changes to individual applications and have them only affect their own app, or you can change the device volume and have it affect all applications, it's just that the values shown for each application are now meaningful in their own right.

Internally, PulseAudio will always only set the hardware volume to that of the loudest stream playing. If the Sink volume is at 75% and Amarok is at 50%, then we will actually set the h/w volume to 50% and try to avoid making any adjustments in software. If a there are two applications running and one (AppA) is at 50% the other (AppB) at 75% with the Sink volume officially stated as being 90%, then we will actually set the underlying h/w to (as this is the loudest, playing stream) 75%  and set make software adjustments to bring AppA down to 50%. This maximises h/w volume control whenever possible.

As a result of flat volumes, the Sink volume can never be quieter than any stream volume. If the Sink volume is 50% and you push the application up to e.g. 75%, then the Sink volume will increase to 75% too to cope with this.

So the effects you are seeing are very much intentional, and, FWIW, nothing to do with KDE. This is purely a feature within PulseAudio itself, KDE just reflects this.

However, we (speaking with my PulseAudio developer hat on) appreciate that this is not something everyone likes (even although I personally very much like this setup), and thus you can disable the use of flat volumes in the PulseAudio daemon.conf (see man pulse-daemon.conf) if you really don't like it.

I hope this answers your concerns.
Comment 2 Jeffrey 2011-12-09 21:12:32 UTC
I'm not a fan of this Flat Volume concept.  I am happy to see that there is a config for this though and it is something I'll have to look into.  Thanks for making this configurable and for the tips.

You can probably close this report, thanks again for the feedback and the software!