Problem: When I scroll down on xfce-mixer-plugin completely (and reach 0%) in order to rapidly reduce the volume, I can still hear some minor noise. (I suppose that's because the PCM channel is still active; if I scroll down PCM slider too (in mixer window), I do get silence). Solution: I would like xfce-mixer-plugin to mute the device/channel, when my scrolling reaches 0%, and unmute it when I scroll up. That's the behavior of gnome-volume-control-applet (gnome-sound-applet in gnome3) and is much more intuitive. One could argue that muting and setting volume are two distinct features, but they're really not: ether I want volume (on some level), or I don't want any. I think like four lines of code would need to be added here: http://git.xfce.org/apps/xfce4-mixer/tree/panel-plugin/xfce-volume-button.c#n372 1. to check whether we're downward close to or at 0%, and in that case mute. 2. to check whether we're upward close to 0%, and in that case unmute. I don't think I'm skilled enough to do it myself though, as I can hardly read that source. :$ Bug usability-wise related to https://bugzilla.xfce.org/show_bug.cgi?id=7944
Created attachment 4258 Toggle mute of mixer track when the volume is low When the volume of the selected mixer track in the panel app is low, as currently defined at 4%, the selected track will be muted. Anytime the volume is changed to a value larger than 4% the mixer track will be unmuted. This patch only does this for the active mixer track (the button that's displayed in the panel).
Fixed in commit f543917aea0dd551490cf25806c4260d9740b288.
Some people find this "fix" harmful: "Another annoying bug(feature?) with this mixer is that when the slider is moved to minimum, it auto mutes that channel. Unfortunately, HDA IFs mute more than one channel at a time. They are set up with a speaker level, headphone level and a master. Muting any one of these mutes all of them. So, if I turn the headphone level down to zero, the sound from the speakers vanishes. To get it back, I have to unmute both the master and the speaker channels." https://lists.ubuntu.com/archives/ubuntu-studio-devel/2013-May/005031.html
Jarno, can you convenience yourself a bit by using several mixer plugins controlling different tracks each? Does muting only master also mute others? If not, you can have the plugin set to control only master, and then plug in and out the headphones when you need them. :) So if Eric says the patch only mutes the selected channel, maybe the bug is in "Muting any one of these mutes all of them."
liquider, I tested (by integrated Intel HDA audio) that, PulseAudio, used by default in Ubuntu Studio, has that effect of muting several channels at once. If I kill PulseAudio, only one channel is muted. Indicator plugin for Pulseaudio handles additional lowering volume by setting PCM (and Front etc.) volumes to zero, not muting them. Why not just mute volume, if you want to rapidly reduce volume completely? Isn't the bug in Alsa drivers or in hardware, if setting volume of a channel to zero does not reduce volume to zero?
Oh, Jarno, I'm so sorry. I only switched to 4.10 today and had I switched before, I as the OP would never have accepted the implemented solution (despite it being exactly what I proposed). xD This is unacceptable! How can a layperson use this? Moving the slider all the way down. Then up. Then end up wondering why the sound no longer works. Then having to right-click to access Audio Mixer to unmute... This is absolutely not as intuitive and Just Works™ as one sees Xfce to be! Please fix this by any means, including, for lack of better option, reverting to the previous behavior. But removing/killing PulseAudio is obviously not a go-to default option. Sorry all.
Well, I would think the issue is also in pulseaudio, as it mutes several channels at once. As a result, you get the same effect, if you mute a channel by the mixer plugin explicitly, too. If Pulseaudio is used, and its behavior is accepted, some other volume mixer could be more suitable, instead of xfce4-mixer panel widget.
It's no news that everything Lennart touches is a bug itself. Anyway, here are some proposed solutions: * Somehow ensure ONLY the selected channel (e.g. Master) is muted. E.g. some magic that polls all available channels (of all cards) for their mute status, and restores it right after muting the selected channel. (Not really recommended and with Pulse running probably wouldn't work.) * When unmuting the selected channel, also unmute PCM channel if muted. This will not fix muted Headphone/Speaker channel and other channels auto-muted by the audio device, hence not recommended. * Restore the previous behavior of just setting the active channel to 0%. Realize that I am an idiot, and that any residual sound coming from the speakers after Master is set to 0% is an odd, unexpected behavior and likely a bug somewhere further down the stack. Of five machines I tested just now (an old laptop, a brand new laptop, a netbook, an old desktop, and a newish desktop), only the old laptop produces the effect I described in the initial report. I most kindly ask the developers to revert the associated commit and restore the previous behavior as this change was, in all likelihood, an altogether unthought-through and stupid idea. (Don't beat yourself for merging a stupid idea. How was anyone supposed to know Gnome will fail so utterly at their attempt to take over the world...) Happy new year's! :)
Closing old bugs. Mixer is being rewritten