Adds decimal digits to volume slider tooltip (#356)

* Adds decimal digits to volume slider tooltip

Modifies the volume slider tooltip so that:
-If the volume slider falls below 10%, the volume tooltip will display one decimal digit of precision (e.g. 3.4%).
-Else if the volume slider falls below 1%, display one decimal digit of precision (e.g. 0.34%).
-Otherwise display the volume slider tooltip as normal.

This helps show changes in volume between 0% and 10% where a change in volume isn't shown in the UI but is heard (especially when the "Limit volume control to 100%" option is unchecked in the "Output" Preferences submenu.

* Update VolumeSlider.m

Fix variable declaration

---------

Co-authored-by: Christopher Snowhill <chris@kode54.net>
main
Shoh Sewell 2023-05-03 17:59:24 -07:00 committed by GitHub
parent 07680673f8
commit 9c5a7d0e3e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 1 deletions

View File

@ -63,8 +63,17 @@ static void *kVolumeSliderContext = &kVolumeSliderContext;
double value = [self doubleValue];
double volume;
volume = linearToLogarithmic(value, MAX_VOLUME);
NSString *text;
NSString *text = [NSString stringWithFormat:@"%0.lf%%", volume];
// If volume becomes less than 1%, display two decimal digits of precision (e.g. 0.34%).
if(volume < 1)
text = [NSString stringWithFormat:@"%0.2lf%%", volume];
// Else if volume becomes less than 10%, display one decimal digit of precision (e.g. 3.4%).
else if(volume < 10)
text = [NSString stringWithFormat:@"%0.1lf%%", volume];
// Else display no decimal digits.
else
text = [NSString stringWithFormat:@"%0.lf%%", volume];
[textView setString:text];
}