Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion HideVolumeOSD/VolumePoup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public void updateValueSafe()
}
else
{
volume = ((int)(getVolume() * 100)).ToString();
volume = (getVolume() * 100).ToString();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This produces a decimal specifically with the number 8 from testing.
image

A better solution would be to use rounding with the appropriate rounding technique.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is possible. Maybe it's a Windows 11 issue.
I'm actively using it on Windows 10 x64, without the int conversion, it works perfectly. Using both keyboard volume, and using the mouse cursor to change the slider from tray, displays the same value as Windows, no decimals.
I recommend you are using real conditions to verify, not unit tests.
Investigate what is happening, find the source of the issue before coming up with solutions.
The quickest way to get in more trouble is to be smart about it and theoretical, without knowing the source and patching the result.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See this commit on my fork. Tested using both volume up/down keys and the slider from tray.

Result:
image

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From Microsoft's documentation here and this code

pAudioEndpointVolume.GetMasterVolumeLevelScalar(out masterVolume);

GetMasterVolumeLevelScalar returns a float value between 0.0 and 1.0.

The reason why in Windows 11 it may appear as a decimal is because of what is is mentioned with Note that the shape of the curve might change in future versions of Windows.

Refresh();
}
}
Expand Down