Replace pulsectl-rs with local pulse module (#241)
* Replace pulsectl-rs with local pulse module pulsectl-rs is archived and has unfixed bugs: SourceController uses sink (not source) APIs for get_default_device, set_device_mute_by_index, and set_device_mute_by_name, causing --input-volume mute-toggle to silently fail. Replace it with a focused pulse module (~350 lines) that calls libpulse-binding directly with the correct sink/source APIs for each controller. This also removes the substring dependency. * Use a global Pulse Context instead of recreating it every call --------- Co-authored-by: Erik Reider <35975961+ErikReider@users.noreply.github.com>
W
William Wernert committed
4a902d14f2ee653d148ea5bd00a42f50c7caa171
Parent: f4f70bd
Committed by GitHub <noreply@github.com>
on 6/4/2026, 11:40:48 PM