Bug 306512 - KMix can only change volume in increments of ~3 %
Summary: KMix can only change volume in increments of ~3 %
Status: RESOLVED NOT A BUG
Alias: None
Product: kmix
Classification: Applications
Component: general (show other bugs)
Version: 4.1
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Christian Esken
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-09 18:23 UTC by Andrei ILIE
Modified: 2012-09-20 10:59 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
My "kmixrc" file (7.89 KB, application/octet-stream)
2012-09-11 16:01 UTC, Andrei ILIE
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrei ILIE 2012-09-09 18:23:26 UTC
In 2004 was filed bug 86065 against KMix, expressing similar complaints... The resolution on that old report was "RESOLVED INVALID" based on the fact that "there are, in fact, only 32 steps (0-31) in the entire volume range for most soundcards. ALSA at least exposes this. [...] KMix cannot be more precise than your hardware".

User experience should be dB agnostic.

SOLUTION - Abstraction, baby ! - KMix / Phonon are higher level interfaces, so they should be able to set the volume (for every channel, not just Master) in a range of [0-100%] with an increment of 1% or, preferably, 5%. They should also perform the necessary translations / approximations in order to translate the users wishes to the backend.


Reproducible: Always




$ yum list installed phonon*
phonon.x86_64, v4.6.0-3.fc17 phonon-backend-vlc.x86_64, v0.6.0-1.fc17 

$ uname -a
Linux localhost.localdomain 3.5.3-1.fc17.x86_64 #1 SMP Wed Aug 29 18:46:34 UTC 2012
Comment 1 Christian Esken 2012-09-10 21:40:26 UTC
Changing percentage is already possible. See http://kmix5.wordpress.com/2011/08/10/what-is-hot-for-kde-4-8/
Comment 2 Andrei ILIE 2012-09-11 16:01:43 UTC
Created attachment 73826 [details]
My "kmixrc" file
Comment 3 Andrei ILIE 2012-09-11 16:09:55 UTC
      I read it... "Mouse Wheel, Volume Hotkeys and  DBUS commands changed the volume by 5% since KMix’s birth".  Well, this does not apply on KDE 4.8.5 when not using PulseAudio server; i have the default "kmixrc" conf file, see attached above.

Please note that I don't use  the PulseAudio server. My configurations is as follows:
      Phonon --> phonon-backend-VLC --> ALSA.
Comment 4 Christian Esken 2012-09-11 19:35:45 UTC
It does not matter whether you use Pulseaudio, or ALSA or SunAudio or whatever. It works for all. Just ADD the config entry as described in the [Global] section, e.g.:

VolumePercentageStep=2.5

Already available. Closing.
Comment 5 Andrei ILIE 2012-09-12 18:46:59 UTC
I disagree with you - KDE targets the average linux desktop users and, as such, it should have sane defaults. Please note that this bug only appeared when I switched backends - see below.

Using Phonon --> backendGStream --> PulseAudio   =   KMix worked fine:
      0% ..5% ..10% ..15% ..20% ..etc Volume.

now, when using Phonon --> backendVLC --> ALSA   =   KMix has issues:
      0% ..3% ..6% ..10% ..13% ..etc Volume. Furthermore, in this setup, there's still some sound coming out the speaker at 0% !!

Hopefully, more reporters will come and confirm this issue. In conclusion, I'll leave this bug as "resolved", although it is __not__.
Comment 6 Christian Esken 2012-09-20 10:59:48 UTC
"Sane defaults" is a very user dependent feeling. Some say 3%, some 5%, some say "different per soundcard", some say "dB based". So I do not think that "sane values" qualifies as a bug. Also while dB is the sanest thing, people want percentages. Also please note that it is simply not possible in all Backends (currently 6) to go dB based. In ALSA it would be possible, but sometimes its even tricker (e.g. multi-channel 5.1 sound), so if you really want sane behavior you should use Pulseaudio.

For information: I could do an abstraction that all controls are based on percentage. But you have to go the whole way like PulseAudio does. Unless your whole desktop does that you are asking for trouble, e.g:
 - I show an inprecise 70% (actually 72%), other applications will show a different value
 - Other application increases volume by 1 step to 76%. What now: Show 75% or 76% (some user might claim 76% to be ugly and inconsistent)

If someone wants to implement dB-based values for the ALSA Backend, thats fine for me. But it should be implemented to be switchable.