Bug 1046589
Summary: | Enable/disable/adjust pulseaudio-equalizer and audio mutes | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Robert Tucker <roberttucker> |
Component: | pulseaudio-equalizer | Assignee: | Jaromír Cápík <jcapik> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 21 | CC: | adietish, danofsatx, hicham.haouari, ovasik, panormitis, peter.t.kozich, tho.mei |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | pulseaudio-equalizer-2.7-16.fc21 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-08-10 10:03:45 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Robert Tucker
2013-12-26 08:54:10 UTC
pacmd output format must have changed recently, but the /usr/bin/pulseaudio-equalizer script has not been updated to meet that change. There is no 'volume: 0:' pattern in the output any longer. I tried this and it works in my configuration: PA_CURRENT_VOLUME=$(pacmd list-sinks | grep -m 1 'volume: front-left:' | gawk '{sub(/%/,"",$5); print $5}') Perhaps the maintainer can come up with something more general and robust. Yes, that works for me too. I read that this equalizer is not maintained any longer. qpaeq.py (the alternative?) was apparently omitted from pulseaudio-utils in fc20 but is reappearing in fc21. This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component. This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component. *** Bug 1098756 has been marked as a duplicate of this bug. *** Fedora 21 pulseaudio-equalizer-2.7-13.fc21 Change /usr/bin/pulseaudio-equalizer from: PA_CURRENT_VOLUME=$(pacmd list | grep -A20 "<$PA_CURRENT_SINK>" | grep -m1 'volume: 0:' | awk '{print $NF}' | sed 's/%//g') to: PA_CURRENT_VOLUME=$(pacmd list | grep -A20 "<$PA_CURRENT_SINK>" | grep -m1 'volume: front-left: ' | awk '{print $NF}' | sed 's/%//g') Sorry, my post above seems to work for everything but 'enable' when still mutes. Don't know what else I've changed but now working (at this moment!) with my penultimate comment for everything including "EQ Enabled" and "Keep Settings". [I tried copying {HOME}./pulse/equalizerrc to {HOME}.equalizerrc (for LADSPA) but deleted it again.] I can confirm the workaround on comment 7 works, the volume only gets muted once, when the equalizer is enabled. In any case, at least the equalizer is usable now. $ pacmd list | grep -A20 "<$PA_CURRENT_SINK>" | grep -m1 'volume: front-left: ' | awk '{print $NF}' | sed 's/%//g' just returns "dB" when I try it at the command line. I suggest continue to use solution given by pkoz in comment 1 or the all awk alternative: PA_CURRENT_VOLUME=$(pacmd list | awk '/volume: front-left/' | awk NR==1 | awk '{sub("%","",$5); print $5}' Sorry missed the end bracket: PA_CURRENT_VOLUME=$(pacmd list | awk '/volume: front-left/' | awk NR==1 | awk '{sub("%","",$5); print $5}') With grep and sed maybe: PA_CURRENT_VOLUME=$(pacmd list | grep -A20 "<$PA_CURRENT_SINK>" | grep -m 1 'volume: front-left: ' | sed 's![^%]* \([0-9]*\)% .*!\1!') Shorter awk method: PA_CURRENT_VOLUME=$(pacmd list | awk '/volume: front-left:/ {sub("%","",$5);print $5;exit}') (In reply to Robert Tucker from comment #13) You are not using $PA_CURRENT_SINK. Isn't your method incorrect if the user has multiple soundcards? Having upgraded to Fedora 21, the 'volume: 0:' pattern came back to me. The 'volume: front-left:' pattern saved the situation again. This message is a reminder that Fedora 20 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 20. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '20'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 20 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. Still not fixed! The problem still exists in F21 and F22. Pleas, could someone fix this issue? I tried https://bugzilla.redhat.com/show_bug.cgi?id=1046589#c1 in F22, it still works there. Hello guys. Thanks everyone for participating. I believe we should stick to the default sink (to keep it as designed) and therefore the expression requires the 'grep -A20 "<$PA_CURRENT_SINK>"' part. However, the new change shows that the major flaw of the equalizer and that's the inability to work with unbalanced stereo. Anyway, I'm gonna apply the workaround from #c6 as that looks the most correct to me at the moment. The #c6 expression helps to keep the volume level when adjusting the equalizer, but doesn't prevent it from muting the sound when enabling the EQ. I'm unsure whether this ever worked before. Can anyone confirm that? The solutions ignoring the default sink simply work better because they take the volume level from a wrong sink (the soundcard instead of the ladspa) and that would really cause troubles with multiple soundcards. I need to discuss all that with the pulseaudio-utils maintainer. Ok ... after doing few tests I see that the pacmd output has 2 variants. One with 3 values per channel (16bit level / percentage / dB) and one with 2 values only (16bit level / percentage) ... we need to adjust the expression to take just the percentage ... gonna do that. The right expression seems to be the following: PA_CURRENT_VOLUME=$(pacmd list | grep -A20 "<$PA_CURRENT_SINK>" | grep -m1 'volume: front-left: ' | cut -f1 -d'%' | awk '{print $NF}') pulseaudio-equalizer-2.7-16.fc23 has been submitted as an update for Fedora 23. https://admin.fedoraproject.org/updates/pulseaudio-equalizer-2.7-16.fc23 pulseaudio-equalizer-2.7-16.fc22 has been submitted as an update for Fedora 22. https://admin.fedoraproject.org/updates/pulseaudio-equalizer-2.7-16.fc22 pulseaudio-equalizer-2.7-16.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/pulseaudio-equalizer-2.7-16.fc21 Package pulseaudio-equalizer-2.7-16.fc23: * should fix your issue, * was pushed to the Fedora 23 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing pulseaudio-equalizer-2.7-16.fc23' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2015-12323/pulseaudio-equalizer-2.7-16.fc23 then log in and leave karma (feedback). pulseaudio-equalizer-2.7-16.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report. pulseaudio-equalizer-2.7-16.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report. pulseaudio-equalizer-2.7-16.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report. |