Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix multiple sessions per process #162

Merged
merged 23 commits into from
Nov 20, 2024
Merged

Conversation

Dregu
Copy link
Contributor

@Dregu Dregu commented Feb 22, 2024

When routing the W10 per-app audio output to a non-default device, some applications will open (inactive) sessions to multiple devices. Or some complex apps might do so on purpose. VC treats these sessions as duplicates even though they are on different outputs, which means only the first session can be adjusted, and it's usually the wrong one.

So I fixed that...

This PR:

Haven't tested this a lot, just what I have running currently, but then again there's not much to test. I also don't really know what I'm doing, so I might be doing something silly.

image
Some more clutter in the mixer, but not in the notification!

@Dregu
Copy link
Contributor Author

Dregu commented Feb 24, 2024

I also have a branch messing with active application / target override notifications where all affected sessions are always shown, even if the sessions are otherwise hidden. I had to reorganize how the hidden sessions are stored and filtered though, cause it seemed like a big mess to me to figure out which list a VM is supposed to be in. It's even more experimental...

@radj307
Copy link
Owner

radj307 commented Feb 29, 2024

This looks great so far! 👍

@Dregu
Copy link
Contributor Author

Dregu commented Mar 1, 2024

This looks great so far! 👍

I think so too! I've been rocking the active notifications for a week with no issues, except for the few corner cases with empty notification I just fixed, so that feature is also merged here now.

@danpowpow
Copy link

hey @radj307 - any chance you could merge these fixes and update the latest version? I've been hunting for a way to manage app volumes - including discord chat - via hotkeys, and your tools is super lightweight, but just falling at the final hurdle with Discords' multiple processes :/
sorry to hijack this thread, but @Dregu seems to have done some great work here and it's a shame to see it lying unused...
Thanks again for a great tool!

@radj307 radj307 marked this pull request as ready for review November 20, 2024 21:38
@radj307 radj307 merged commit ebb99a3 into radj307:main Nov 20, 2024
@radj307
Copy link
Owner

radj307 commented Nov 20, 2024

@Dregu @danpowpow
I've marked this as ready and merged it despite wanting to change a couple of things. I'll put out a pre-release with the changes, but before fully releasing it I'd like to do a few things first:

  • LockedAccentBrush is used for text, which it isn't intended for. As a result, it isn't independently customizable and the default color happens to not be very visible against the background.
    This is a pretty easy fix that just involves adding some new variables to the config/viewmodels.
  • Sessions disappear very quickly after they stop playing audio.
    This is more involved and bug-prone to fix, so idk

Pre-release: https://github.com/radj307/volume-control/releases/tag/6.7.0-rc2

@Dregu
Copy link
Contributor Author

Dregu commented Nov 21, 2024

Hmm yeah, I guess this ended up in a draft limbo when it was good enough for me, but maybe not polished enough for everyone. I have been using this build still with no big issues with the actual features, more so from using it so rarely that the notification window lag issue becomes apparent often. Hopefully that experimental fix will help with that lag and hopefully you can get a proper release out of this pr.

@danpowpow
Copy link

thanks for the merge and build, @radj307 - it's great to have a tool which can adjust discord chat volume via hotkeys :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants