Closed Silverdev2482 closed 4 months ago
Added cards tab so you can change profile.
Just did a huge code reorganization and clean up so hopefully easier for other contributors to navigate the code now.
I'm only working on this in my very limited spare time.
I edited the original post to make it a task list. I personally would love the input tab, but is the advanced drop down even worth implementing?
On that note do we want complete parity at all? I feel like a decision should be made on this.
Making task lists is all fine and good but I'm aware of what I want/need to implement here. This is still just my personal hobby project and there has been zero pull requests so far.
I would love some help with the actual code bit. I already intend to duplicate all the functionality that pavucontrol has.
I wish I could help but I don't know rust. Maybe I could learn? however that would take a while. I don't even know c.
Just added port/route selection to sinks.
Input device tab has been added.
Nice to hear, Also I have noticed that pwvu crashes when Deep Rock Galactic is open/opened. However the mic doesn't work in DRG so it might be my Pipewire setup, I will investigate.
On Mon, Apr 29, 2024 at 1:38 PM saivert @.***> wrote:
Input device tab has been added.
— Reply to this email directly, view it on GitHub https://github.com/saivert/pwvucontrol/issues/6#issuecomment-2083404414, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUCYQHJQOBY64UXEXH7BNO3Y72HTZAVCNFSM6AAAAABANNESZKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBTGQYDINBRGQ . You are receiving this because you authored the thread.Message ID: @.***>
Is over-amplification (beyond 100%) possible with pipewire?
Yes it is, you can use wpctl status to get all your inputs, here is mine:
[silverdev2482@Desktop-SD:~]$ wpctl status
PipeWire 'pipewire-0' [1.0.6, silverdev2482@Desktop-SD, cookie:2681101611]
└─ Clients:
33. .xdg-desktop-portal-hyprland-wrapped [1.0.6, silverdev2482@Desktop-SD, pid:1805]
34. WirePlumber [1.0.6, silverdev2482@Desktop-SD, pid:1814]
42. WirePlumber [export] [1.0.6, silverdev2482@Desktop-SD, pid:1814]
43. pipewire [1.0.6, silverdev2482@Desktop-SD, pid:1852]
44. waybar [1.0.6, silverdev2482@Desktop-SD, pid:1728]
64. Firefox [1.0.6, silverdev2482@Desktop-SD, pid:1717]
65. .pwvucontrol-wrapped [1.0.6, silverdev2482@Desktop-SD, pid:2485]
67. .pwvucontrol-wrapped [1.0.6, silverdev2482@Desktop-SD, pid:2485]
70. .pwvucontrol-wrapped [1.0.6, silverdev2482@Desktop-SD, pid:2485]
71. .pwvucontrol-wrapped [1.0.6, silverdev2482@Desktop-SD, pid:2485]
93. .pwvucontrol-wrapped [1.0.6, silverdev2482@Desktop-SD, pid:2485]
106. wpctl [1.0.6, silverdev2482@Desktop-SD, pid:9739]
Audio
├─ Devices:
│ 46. CMTECK [alsa]
│ 47. Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X] [alsa]
│ 48. Family 17h (Models 00h-0fh) HD Audio Controller [alsa]
│
├─ Sinks:
│ * 51. Family 17h (Models 00h-0fh) HD Audio Controller Analog Stereo [vol: 0.96]
│
├─ Sources:
│ * 49. CMTECK Mono [vol: 1.00]
│ 52. Family 17h (Models 00h-0fh) HD Audio Controller Analog Stereo [vol: 1.00]
│
├─ Filters:
│
└─ Streams:
69. pwvucontrol-peak-detect
100. input_FL < Firefox:output_FL [paused]
101. monitor_FL
102. input_FR < Firefox:output_FR [paused]
103. monitor_FR
73. pwvucontrol-peak-detect
75. input_FL < ALC892 Analog:monitor_FL [active]
76. monitor_FL
77. input_FR < ALC892 Analog:monitor_FR [active]
78. monitor_FR
82. pwvucontrol-peak-detect
68. input_FL
72. input_FR
81. monitor_FL
86. monitor_FR
84. Firefox
66. output_FR > ALC892 Analog:playback_FR [paused]
74. output_FL > ALC892 Analog:playback_FL [paused]
92. Firefox
95. output_FL > ALC892 Analog:playback_FL [paused]
96. output_FR > ALC892 Analog:playback_FR [paused]
97. pwvucontrol-peak-detect
88. monitor_FR
89. input_FL < Firefox:output_FL [paused]
91. input_FR < Firefox:output_FR [paused]
99. monitor_FL
Video
├─ Devices:
│
├─ Sinks:
│
├─ Sources:
│
├─ Filters:
│
└─ Streams:
Settings
└─ Default Configured Devices:
0. Audio/Sink alsa_output.pci-0000_29_00.3.analog-stereo
1. Audio/Source alsa_input.usb-CMTECK_Co._Ltd._CMTECK_000000000000-00.mono-fallback
From there you can can the volume with:
wpctl get-volume ID
As far as I know you can't set or get the volume of anything in streams that is nested, eg I can set the volume of node 84 or 92, but not 66 or 74.
And you set it with:
wpctl set-volume ID VOLUME
Volume is a decimal by default, but can be changed to a percent by adding a percent symbol. you also can relatively change volume by suffixing ( not prefixing ) it with a plus or minus
pwvucontrol hasn't updated on nixos unstable, and I haven't gotten to patching nixpkgs so no updates on DRG crashing pwvucontrol.
I will create a new catch-all thread for general support so as to not pollute the issue tracker with non-bug / user support related stuff. This is a tracking issue for feature parity with pavucontrol only which has concluded. Closing.
pwvucontrol hasn't updated on nixos unstable, and I haven't gotten to patching nixpkgs so no updates on DRG crashing pwvucontrol.
@Silverdev2482 Actually 0.4.1 was available even on stable since around last week at least: https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/applications/audio/pwvucontrol/default.nix
Not sure why about "About pwvucontrol" popup says it's 0.1.0 though...
not pollute the issue tracker with non-bug / user support related stuff. This is a tracking issue for feature parity with pavucontrol only which has concluded. Closing.
@saivert To clarify, I was asking since over-amplification is available on pavucontrol (lets you raise the volume slider over 100%) so I wasn't clear why it's missing from pwvucontrol (seeing how the slider only makes it to 100%). Now that I tried using wpctl like @Silverdev2482 suggested and noticed it doesn't work there either, I suspect it's probably a pipewire bug / missing feature (or at least, a very common implementation bug) rather than (just) a pwvucontrol.
Regardless, the unfortunate TL;DR of closing the feature request as is (for me at least) is that if it works in pavucontrol but doesn't work in pwvucontrol, use pavucontrol.
Over-amplification is basically using software mixing to raise the waveform and more often than not cause distortion. I can implement support for it.
It was unfortunate that the original poster didn't include it as a point. I too hastily closed the issue. I would appreciate some help finishing this software as I have very little time for it currently and I'm afraid I have painted myself into a corner architecture wise. There are still too many edge cases that needs fixing. It is primarily a way for me to learn rust, writing some actual software with it instead of just doing code exercises which I find boring. It is available on GitHub in the hope that some might find it useful.
@saivert oh I wasn't criticizing the decision to implement it or not. I was just being grumpy and confused about the premature claim of feature parity combined with the suggestion wpctl should allow it even though it clearly didn't. The two comments actually had me waste half-an-hour on three separate machines (a nixos desktop, a nixos laptop and a debian box) doing iterations of wpctl set-volume 61 150%+
(150%+, 150+%, +150% and various values and sinks) before concluding there's a miscommunication and it's just not a supported feature...
Anyhow, there's nothing wrong about not implementing yet-another low-priority feature request. It just needed to be clarified as a caveat emptor for any would-be user scratching their heads trying to debug why their volume slider isn't going over 100% and that it's not them doing something wrong, that it's not a bug and that it's perfectly fine to just continue using pavucontrol until such a time when someone decides it's worth their time to implement the feature.
Regardless, thanks for pwvucontrol. It's a fine piece of software that I use almost all the time and only reach for pavucontrol on very rare occasions. Take your time and just keep having fun with it. If someone REALLY needs it, they'll write a pull request ;)
@RamKromberg I have added support for over-amplification which is ready to test in main branch right now. You must enable it from the hamburger menu.
This will land in version 0.4.2 (next).
Just built and run it. Over-amplification works in the Playback tab nicely enough though it doesn't seem to have an effect on the devices listed in the Output Devices tab. Comparing with wpctl status
is pretty weird: When applying over-amplification to a client in the Playback tab, wpctl status
registers it under the sink device which, in pwvucontrol is found under the Devices tab. 🤷
Still, it works.
Otherwise, I've also applied over-amplification to an Input Device which seemed to apply correctly to a source (under wpctl status
) but I don't have a mic around to test it.
Anyhow, thanks a bunch!
p.s. Unrelated, it's not new and is almost certainly a bug with my theme but the labels in the Hamburger menu aren't colored right:
I've tried using env GTK_DEBUG=interactive pwvucontrol
to figure out what's what but the picker can't catch the label as it looses focus and Ctrl+Shift+I when the menu is showing is being ignored too.
But again, probably just a buggy theme since I'm over customizing stuff.
@RamKromberg
Over-amplification works for devices as well.
Output from wpctl
:
├─ Sinks:
│ * 79. Built-in Audio Analog Stereo [vol: 1.22]
And yes you are using a broken theme which doesn't style popovers correctly.
Please file further actual bug reports as a new issue. Questions are asked in Discussions area.
Closing...
I'm not sure if this is a good idea or all features are necessary but some would be really nice. Here is a list of features that are missing and their subjective importance