dlprows / FocusVolumeControl

Stream Deck+ plugin for controlling the focused application's volume
MIT License
5 stars 1 forks source link

Helldivers 2 not displaying #10

Closed jackmon1 closed 8 months ago

jackmon1 commented 9 months ago

Screenshot 2024-02-20 172019

Helldivers 2 showing something weird. Trying to change the volume also does nothing to the games volume

dlprows commented 9 months ago

I don't have Helldrivers to be able to test it, but i have built a debugging tool that shows some information about the process that was picked as in focus, and what was used to determine potential audio process matches, along with which audio processes are assigned to which devices

https://github.com/dlprows/FocusVolumeControl/releases/tag/dubugging

If you run that, and send the output I might be able to figure out what's going on.

You can either run it, and press ctrl+alt+shift+P to pause it on whatever app is currently in focus, or you can click the pause button on top, and then switch to the app that's causing problems

jackmon1 commented 9 months ago

It would seem nothing gets matched when doing this. I do see it under each of my audio devices, but upon focusing the app, nothing matches. If there is anything else I can do to debug this for you let me know.

image

dlprows commented 9 months ago

At the top where it says Possible Current Processes it lists out the process that it detected as in focus. For example this is what i get when chrome is focused

Screenshot 2024-02-23 152612

I think what's happened is when i made the pause button, i didn't account for clicking on applications in the start bar, or alt-tab. I just tested it with clicking on another window on screen. But when you click on the start bar, or alt tab, the process first becomes windows file explorer, and then becomes the thing you're switching to.

the keyboard shortcut shouldn't have that problem. And i can also try to get an updated version of the sound browser that doesn't pause on file explorer.

jackmon1 commented 9 months ago

Perfect, here is what I got.

image

dlprows commented 9 months ago

You got such odd looking results that I picked up a copy to see what's going on.

Unfortunately, I think its a result of the particular anti-cheat that they're using.

Basically what happens is if you try to get the process associated to the foreground window from the operating system, it gives you back a process with a bunch of messed up data on it. As a result of the messed up data, the audio session matching ends up trying to grab that AudioSrv audio process, which i normally have filtered out because it's not normal user defined audio session.

even though the process id ends up being messed up, they left the display name working. So I might be able to work out some kind of hacky solution. But unfortunately it will be prone to breaking because it will rely so heavily on the game makers not changing the display name or the process name.

I plan to return the game since I only picked it up for troubleshooting. So if I manage work something out that functions, would you be able to test it for a bit before I publish it as an update to elgato? (I specifically don't know if during play of the game, if the window title changes which would break the hacky workaround that I'm considering)

jackmon1 commented 9 months ago

Absolutely, would be happy to test it out for you, appreciate your work on the plugin!

dlprows commented 9 months ago

https://github.com/dlprows/FocusVolumeControl/releases/tag/helldivers2_beta

jackmon1 commented 9 months ago

Yup, seems to be working now, image and game name are displayed.

image

dlprows commented 7 months ago

Just wanted to give you a heads up because I decided to re-work this, and didn't want you to be frustrated when it appeared to break. (even though I've still not submitted the version where I fixed helldivers to elgato. I just wasn't quite happy with the code)

I've gone with adding an overrides system to the plugin. so that you can just add in manual mappings for applications instead of me having to put special code in for any game that uses aggressive anti-cheat.

In this version, i put helldivers 2 into the overrides commented out by default since not everyone's going to use it.

So in this version, after installing, you'll want to just remove the leading // characters in the plugin's properties in the stream deck app.

I'm going to be testing it for a week or so before i send it to elgato. https://github.com/dlprows/FocusVolumeControl/releases/tag/v1.3.0