From 174c8377678d8625404984fc40dcbaed0bffb25c Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Tue, 13 Jul 2021 21:45:07 -0400 Subject: [PATCH] Switches to a logarithmic volume dial. --- OSBindings/Mac/Clock Signal/Base.lproj/MachineDocument.xib | 2 +- .../Mac/Clock Signal/Documents/MachineDocument.swift | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/OSBindings/Mac/Clock Signal/Base.lproj/MachineDocument.xib b/OSBindings/Mac/Clock Signal/Base.lproj/MachineDocument.xib index 5dbf99834..c86cff17f 100644 --- a/OSBindings/Mac/Clock Signal/Base.lproj/MachineDocument.xib +++ b/OSBindings/Mac/Clock Signal/Base.lproj/MachineDocument.xib @@ -43,7 +43,7 @@ - + diff --git a/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift b/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift index 2d7f5655d..6055686eb 100644 --- a/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift +++ b/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift @@ -127,7 +127,7 @@ class MachineDocument: override func windowControllerDidLoadNib(_ aController: NSWindowController) { super.windowControllerDidLoadNib(aController) aController.window?.contentAspectRatio = self.aspectRatio() - volumeSlider.floatValue = userDefaultsVolume() + volumeSlider.floatValue = pow(2.0, userDefaultsVolume()) volumeView.layer!.cornerRadius = 5.0 } @@ -705,8 +705,9 @@ class MachineDocument: // MARK: - Volume Control. @IBAction func setVolume(_ sender: NSSlider!) { if let machine = self.machine { - machine.setVolume(sender.floatValue) - setUserDefaultsVolume(sender.floatValue) + let linearValue = log2(sender.floatValue) + machine.setVolume(linearValue) + setUserDefaultsVolume(linearValue) } }