Skip to content

fix(linux): control individual app sink-input volume via PID match - #190

Closed
Hummr01 wants to merge 1 commit into
music-assistant:mainfrom
Hummr01:app-specific-volume-control
Closed

Hummr01 wants to merge 1 commit into
music-assistant:mainfrom
Hummr01:app-specific-volume-control

Conversation

@Hummr01

@Hummr01 Hummr01 commented Sep 20, 2026

Copy link
Copy Markdown

This PR fixes an issue on Linux (PulseAudio) where changing the volume inside the desktop app affected the entire system/device volume rather than just the specific application's audio stream.

Changes Made

  • Target Sink-Inputs: Refactored the Linux PulseAudio volume control implementation (src/sendspin/volume_control/linux.rs) to target sink-inputs instead of global audio device sinks.

  • Process ID (PID) Matching: Implemented stream introspection to automatically locate and bind to the specific PulseAudio stream matching the application's process ID (application.process.id).

  • Async Command Handling & Lints: Cleaned up channel communication for asynchronous PulseAudio callbacks and resolved Clippy/type warnings.

Related Issue

Related to #188

Did not touch the windows side of things because i dont have a device to test it on.

@Hummr01
Hummr01 deployed to fork-pr-full-build September 20, 2026 21:55 — with GitHub Actions Active
@teancom

teancom commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

We need to make it more visible (currently ruminating on exactly how), but if you don't want the app's volume controls to affect the whole system, you can select 'Software Volume' from within the app's settings (menubar -> settings -> software volume).

@teancom teancom closed this Oct 3, 2026
@Hummr01
Hummr01 deleted the app-specific-volume-control branch October 3, 2026 14:49

This branch was successfully deployed

1 active deployment
fork-pr-full-build — f6e982b5 Deployed Sep 20, 2026 by Hummr01 via approve-fork-build #324
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants