ebruck / radiotray-ng

An Internet radio player for Linux
GNU General Public License v3.0
256 stars 23 forks source link

Volume bugs in Plasma 5.10 (Arch) #15

Closed Swipe650 closed 7 years ago

Swipe650 commented 7 years ago

I've found a couple of minor volume bugs in Plasma 5.10 (Arch Linux) using the radiotray-ng-0.1.6-2 package from the AUR.

This has been confirmed on two separate machines.

  1. Scrolling the middle click mouse wheel above the radiotray-ng tray icon doesn't change the volume

  2. When a stream is started it doesn't match the volume level set in the config file. Two examples for demonstration purposes: 'volume-level' set to 50 in the config file results in 79% in the radiotray-ng application volume sink and 'volume-level' set to 70 in the config file results in 89% in the volume sink. Any volume levels changed manually will get reset each time a new station is started. I would expect the manually changed levels to be written back to the config file when changed, this is not happening.

Let me know if you need any more info.

ebruck commented 7 years ago
  1. That appears to be a limitation of the appindicator support in Plasma. Please file a bug upstream.

  2. Changing the volume outside of Radiotray-NG is not really supported. Your best bet is to wait for the dbus work or use the media key mapping to assign volume up/down (see readme). I'm using a script to mimic media keys I don't have to adjust the volume with my Microsoft 4000 keyboard's extra buttons.

I'll have a look to see if I can just check the player's volume level and reset what I have stored internally to it before playing, which is the best I can do.

Swipe650 commented 7 years ago

I now have a workaround for this. I tend to always have the radiotray volume set at 70% and use the keyboard volume keys to control the master volume rather than the application's input sink. So if I set 'volume-level' to 34 in the config file, this results in the sink input showing as 70%.

After some playing around I now understand what is going on here. It appears that pactl set-sink-input-volume 70 0.34 is the equivalent of pactl set-sink-input-volume 70 70% (where 70 is the current index of radiotray-ng - you can obtain the current index by using pacmd list-sink-inputs).

I use custom keyboard shortcuts that execute bash scripts that get the sink index and run pactl set-sink-input-volume and pacmd set-sink-input-mute to lower/increase the sink input volume and mute/unmute any ads when commercial breaks air/finish.