buzz / volctl

Per-application volume control and OSD for Linux desktops.
https://buzz.github.io/volctl/
GNU General Public License v2.0
132 stars 19 forks source link

Volume window fails to open #50

Closed FreaxMATE closed 3 years ago

FreaxMATE commented 3 years ago

Volume window fails to open with this error when left-clicking on the tray icon:

Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/volctl-0.9.0-py3.9.egg/volctl/status_icon.py", line 279, in _cb_gtksi_button_press
  File "/usr/lib/python3.9/site-packages/volctl-0.9.0-py3.9.egg/volctl/status_icon.py", line 185, in _cb_activate
  File "/usr/lib/python3.9/site-packages/volctl-0.9.0-py3.9.egg/volctl/app.py", line 214, in show_slider
  File "/usr/lib/python3.9/site-packages/volctl-0.9.0-py3.9.egg/volctl/slider_win.py", line 38, in __init__
  File "/usr/lib/python3.9/site-packages/volctl-0.9.0-py3.9.egg/volctl/slider_win.py", line 115, in create_widgets
  File "/usr/lib/python3.9/site-packages/volctl-0.9.0-py3.9.egg/volctl/slider_win.py", line 143, in recreate_sliders
KeyError: 'alsa.card_name'

I am using up-to-date Manjaro MATE with pipewire.

buzz commented 3 years ago

Interesting. Not sure how to reproduce this though.

raven2cz commented 3 years ago

Have you installed PulseAudio? Can you provide or try check your output for: pactl list Think about usage and correct configuration of pipwire. For example pipewire-pulse

FreaxMATE commented 3 years ago

Ok, I found out a little bit more: It only happens after opening easyeffects. But then the issue persists until I restart piperwire.

Have you installed PulseAudio?

No I have installed pipewire-pulse

Can you provide or try check your output for: pactl list

https://gist.github.com/FreaxMATE/d23a7fd2a67ce275417af23986870f79

Think about usage and correct configuration of pipwire. For example pipewire-pulse

So this issue realley just seems to be related to easyeffect/pipewire and not volctl as this only happens while easyeffects is opened.

raven2cz commented 3 years ago

I looked to the code and your output pactl list.

I see in the slider_win.py that pulse api is used, and the sink list is taken. In addition, alsa.card_name is taken as label. So, if you look to your cmd output.

There are two Sink components: Sink #49, Sink #50.

Both have card names: HD-Audio Generic, but the devices are different, check sink name: alsa_output.pci-0000_04_00.1.hdmi-stereo-extra1 and alsa_output.pci-0000_04_00.6.analog-stereo.

First is for HDMI monitor, I expect that it is not plugged (but it is available), so no sound change according to your post. Second is analog-stereo which goes to the repros front-left, front-right.

So, according to this. It seems that this is a state that it works. Check the list after with bug, if the sinks will be different or missing, card_name missing or what will be broken.

If something will be broken, it is issue for pipewire-pulse, which doesn't provide correct implementation api for older PulseAudio.

FreaxMATE commented 3 years ago

Thank you! I will close this now, as this is not related to volctl.

dsgust commented 3 years ago

Hi Im getting the same error when connecting my bluetooth headphones. This started after updating to 0.9.0, it works fine if I downgrade to 0.8.2. Starts to work directly after disconnecting them.

raven2cz commented 3 years ago

Hi Im getting the same error when connecting my bluetooth headphones. This started after updating to 0.9.0, it works fine if I downgrade to 0.8.2. Starts to work directly after disconnecting them.

This issue is about pipewire integration. Do you have problem with pipewire? Apologize your problem has to be describe if it has to be corrected. In any way, please create new issue and provides descriptions which includes:

Thanks