Frosthaven / voicemeeter-windows-volume

Tray app that allows you to sync windows volume and mute state to Voicemeeter volume controls
278 stars 9 forks source link

Remember volume inbetween boots and "default playback device" change #1

Closed Jerrk closed 2 years ago

Jerrk commented 2 years ago

First of all, i've been looking for this for years so thanks a lot! :smiley:

I've run into an issue where after rebooting my pc the volume will always be set to 100%, and because i am not used to it yet i often forget and accidentally blast my eardrums and/or wake up the entire house. i have the same issue when switching the windows "default playback device" on a new boot where it will always be set to 100%.

So it would be great if you could somehow remember the volume level between boots and/or just give an option "set the default volume level on startup to 20%" or something like that

Frosthaven commented 2 years ago

Hey, first of all I'm glad this has helped you and thanks for reaching out with your comment!

The single binding voicemeeter provides was a thorn in my side for a long time, and like you I scoured the internet and was left empty handed. This project was a result of that and wanting to goof off in a random environment I haven't messed with in awhile.

I will see what I can do about adding a "set initial volume" option over the remainder of the weekend if time allows!

Frosthaven commented 2 years ago

I've added a new initial_volume setting which will change the system volume on program launch. https://github.com/Frosthaven/voicemeeter-windows-volume/releases/tag/v1.2.0

Let me know if this works out for you!

Jerrk commented 2 years ago

if Voiceemeeter Windows Volume is set to run on startup it will launch before VM does (at least on my system). This makes it so the volume is changed before VM is launched so it does not work.

I can go around this by putting a 30 second delay in the task scheduler when VWV runs. though not sure if there is a better way.

With that done it works 😄 .

It didn't change the issue where if i change the windows default playback device to a different VM input it is also at 100%

but hopefully that could be similarly changed 🙂

edit: i also noticed an issue in general if you "restart audio engine" within voicemeeter the volume will be reset to 100% again

Frosthaven commented 2 years ago

if Voiceemeeter Windows Volume is set to run on startup it will launch before VM does (at least on my system). This makes it so the volume is changed before VM is launched so it does not work.

I can go around this by putting a 30 second delay in the task scheduler when VWV runs. though not sure if there is a better way.

With that done it works 😄 .

It didn't change the issue where if i change the windows default playback device to a different VM input it is also at 100%

but hopefully that could be similarly changed 🙂

edit: i also noticed an issue in general if you "restart audio engine" within voicemeeter the volume will be reset to 100% again

Interesting. This application actually waits for voicemeeter before running code. That makes me wonder if you have something else setting your volume to max, as it's worked on the two machines I tested against.

Keep me informed if you find anything new out, and I'll contimplate options on the device change detection :)

Jerrk commented 2 years ago

hmm yes that does seem weird, ill check out my setup and get back to you on that

Jerrk commented 2 years ago

It seems to change the volume before the audio engine has been started, and as i said in the edit above, it appears the volume is reset to 100% whenever the engine is started/restarted. not sure if this same issue manifests with banana/normal. but i've closed all the programs that i can think of that would have an effect with no impact.

I'm not sure if there is a way to change the default delay on the audio engine start or if that is something you or i have changed at some point.

Frosthaven commented 2 years ago

Aha okay I believe I have a better understanding of what is happening now. My audio engine initializes much faster, leading to a race condition that doesn't impact me but does impact you. I can work on an update to the timing of the volume set. Reacting to default audio device changes I'll also look into but will take a little longer.

Much appreciate your input!

Frosthaven commented 2 years ago

Quick question for those of you with this issue: Without this program running does your windows volume jump to 100 when changing default audio devices in Windows / doing audio engine restart in Voicemeeter?

If so, and you know what kind of sound card/driver you are using the more information the better (Realtek, etc)

Jerrk commented 2 years ago

On audio engine restart? Yes.

On changing default audio device? No

I have an ROG MAXIMUS XI HERO motherboard using the onboard audio. I'm using the default windows audio drivers since i've always had issues trying to use their specified realtek ones.

3m-153 commented 2 years ago

On audio engine restart? Yes.

On changing default audio device? No

I have an ROG MAXIMUS XI HERO motherboard using the onboard audio. I'm using the default windows audio drivers since i've always had issues trying to use their specified realtek ones.

Same thing happens to me, I'm also using the default windows audio driver which is version 10.0.19041.1202 to be specific. image

The following is my headset and motherboard.

Frosthaven commented 2 years ago

Alright friends, I come with news. After a lot of exhausting research I've reached some conclusions and have also uploaded an update over on the releases page.

As it turns out, there is quite a rabbit hole of reports where users are getting 100% volume spikes under Windows. This applet never explicitly sets the volume to 100, so it seems to be an issue between Windows and some audio device drivers. I've removed the bug label since this is an external issue.

However, the goal of this applet is to workaround external software limitations, and in that spirit I've uploaded a new version for you to test. Try out the new "Prevent 100% Volume Spikes" toggle and let me know if this is a viable solution.

As always, I'm looking forward to your input!

Jerrk commented 2 years ago

From all my usecases and previous tests it appears to be completely fixed 😁 hopefully @ahs16 doesn't have any more issues and this issue can be closed.

Thanks for your work 🙂

3m-153 commented 2 years ago

Hey, @Jerrk my issue has been fixed too. 😁

Thank you @Frosthaven for your hard work and time.

Frosthaven commented 2 years ago

Fantastic! Closing ticket