Makes volume slider logarithmic when limited to 100% to allow easier changing of volume towards the bottom of the slider.
The tooltip remains as the slider location instead of the logarithmic value of the actual volume.
* 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>
This is needed to re-parent the VolumeSlider window, as there is only a
single VolumeSlider, but two different VolumeButtons and their
respective NSPopover windows. So, always recreate the view on open,
which doesn't appear to have a noticeable impact on performance.
Fixes#331
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
All optional fallback code for older versions has also been removed, and
everything now assumes 10.13.0 or newer. Some cases are still included
for point releases, such as 10.13.2.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
Only initialize viewController once, the first time the volume control
is opened. Re-initializing it can cause an error assigning it as first
responder to the volume slider popover view.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
Require asking user consent for data transmission on first launch, or
otherwise disable sending crash reports by default.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
The two toolbars seem to require unique identifiers for each of their
items, even when they're separate toolbars in separate windows.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
Apparently this simpler API already existed on a minimum of 10.11 for
creating a system font with monospaced digits.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
This stupid setLevel default was something suggested when making a
window a drag target, and I was observing a setLevel for a window
control, not for a window itself. I should not have set that in the
first place.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
Since 10.13 doesn't want to observe the auto sizing attribute of the
field properly, gotta use the tiny font size that the field is already
configured to use.
Should fix#243
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
Increasing the threshold for the width of the tooltip to the right of
its intended location to a more generous value, makes it appear on the
left side sooner rather than later, but should fix positioning issues.
Fixes#226
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
Tooltip should appear on the left side when the volume bar is close to
the right side of the screen.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
This prevents the apply presets function from resaving the preset number
and retriggering itself repeatedly, which would cause a crash.
Fixes#223
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
Store custom presets on value changes, on half second intervals, as the
listener observes the user changing the settings.
Fixes#222
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
The old quadra method was broken, too. Now it uses a simple linear
difference sliding scale for the extra points, which seems to work much
better for the 20 kHz band. And the 16 kHz band doesn't get predicted to
heck any more, either.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>