[vlc-commits] macosx/keyboard backlight control: add debug information and clean coding style

Felix Paul Kühne git at videolan.org
Sat Jun 1 14:35:03 CEST 2019


vlc | branch: master | Felix Paul Kühne <felix at feepk.net> | Sat Jun  1 12:55:12 2019 +0200| [2e3fc8687b2e3f31613ea040d119deba7171133c] | committer: Felix Paul Kühne

macosx/keyboard backlight control: add debug information and clean coding style

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=2e3fc8687b2e3f31613ea040d119deba7171133c
---

 .../os-integration/VLCKeyboardBacklightControl.h   |  8 --
 .../os-integration/VLCKeyboardBacklightControl.m   | 95 ++++++++++++++--------
 2 files changed, 62 insertions(+), 41 deletions(-)

diff --git a/modules/gui/macosx/os-integration/VLCKeyboardBacklightControl.h b/modules/gui/macosx/os-integration/VLCKeyboardBacklightControl.h
index ecbb308f6c..f590a12cc5 100644
--- a/modules/gui/macosx/os-integration/VLCKeyboardBacklightControl.h
+++ b/modules/gui/macosx/os-integration/VLCKeyboardBacklightControl.h
@@ -26,14 +26,6 @@
 @interface VLCKeyboardBacklightControl : NSObject
 
 /*!
- *  Initialize an instance of KeyboardBacklight.
- *
- *  Note: this will return nil if the connection to
- *  the controller could not be opened.
- */
-- (id)init;
-
-/*!
  *  Smoothly turn on backlight on MacBook keyboard.
  *
  *  Try to restore the previous brightness level. If the user has put
diff --git a/modules/gui/macosx/os-integration/VLCKeyboardBacklightControl.m b/modules/gui/macosx/os-integration/VLCKeyboardBacklightControl.m
index 55cf2b0b7f..3bba8e7c3c 100644
--- a/modules/gui/macosx/os-integration/VLCKeyboardBacklightControl.m
+++ b/modules/gui/macosx/os-integration/VLCKeyboardBacklightControl.m
@@ -1,8 +1,7 @@
 /*****************************************************************************
  * VLCKeyboardBlacklightControl.m: MacBook keyboard backlight control for VLC
  *****************************************************************************
- * Copyright (C) 2015 VLC authors and VideoLAN
- *
+ * Copyright (C) 2015, 2019 VLC authors and VideoLAN
  *
  * Authors: Maxime Mouchet <max at maxmouchet.com>
  *
@@ -23,6 +22,7 @@
 
 #import "VLCKeyboardBacklightControl.h"
 #import <IOKit/IOKitLib.h>
+#import "main/VLCMain.h"
 
 enum {
     kGetSensorReadingID = 0, // getSensorReading(int *, int *)
@@ -31,40 +31,57 @@ enum {
     kSetLEDFadeID = 3        // setLEDFade(int, int, int, int *)
 };
 
- at implementation VLCKeyboardBacklightControl {
-    io_connect_t dataPort;
+ at interface VLCKeyboardBacklightControl ()
+{
+    io_connect_t _dataPort;
+    float _lastBrightnessLevel;
 }
+ at end
 
-static float lastBrightnessLevel;
+ at implementation VLCKeyboardBacklightControl
 
-- (id)init {
-    dataPort = [self getDataPort];
-    lastBrightnessLevel = [self getBrightness];
+- (id)init
+{
+    self = [super init];
+    if (self) {
+        _dataPort = [self getDataPort];
+        _lastBrightnessLevel = [self getBrightness];
+    }
     return self;
 }
 
-- (void)dealloc {
-    if (dataPort)
-        IOServiceClose(dataPort);
+- (void)dealloc
+{
+    if (_dataPort)
+        IOServiceClose(_dataPort);
 }
 
 - (io_connect_t)getDataPort {
-    if (dataPort) return dataPort;
+    if (_dataPort)
+        return _dataPort;
 
     io_service_t serviceObject = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("AppleLMUController"));
 
-    if (!serviceObject) return 0;
+    if (!serviceObject) {
+        msg_Err(getIntf(), "Failed to get an AppleLMUController service, keyboard dimming will not work");
+        return 0;
+    }
 
-    kern_return_t kr = IOServiceOpen(serviceObject, mach_task_self(), 0, &dataPort);
+    kern_return_t kr = IOServiceOpen(serviceObject, mach_task_self(), 0, &_dataPort);
     IOObjectRelease(serviceObject);
 
-    if (kr != KERN_SUCCESS) return 0;
+    if (kr != KERN_SUCCESS) {
+        msg_Err(getIntf(), "Failed to open an AppleLMUController service, keyboard dimming will not work");
+        return 0;
+    }
 
-    return dataPort;
+    return _dataPort;
 }
 
-- (void)setBrightness:(float)brightness {
-    if (!dataPort) return;
+- (void)setBrightness:(float)brightness
+{
+    if (!_dataPort)
+        return;
 
     UInt32 inputCount = 2;
     UInt64 inputValues[2] = { 0, brightness * 0xfff };
@@ -72,18 +89,21 @@ static float lastBrightnessLevel;
     UInt32 outputCount = 1;
     UInt64 outputValues[1];
 
-    kern_return_t kr = IOConnectCallScalarMethod(dataPort,
+    kern_return_t kr = IOConnectCallScalarMethod(_dataPort,
                                                  kSetLEDBrightnessID,
                                                  inputValues,
                                                  inputCount,
                                                  outputValues,
                                                  &outputCount);
 
-    if (kr != KERN_SUCCESS) return;
+    if (kr != KERN_SUCCESS)
+        return;
 }
 
-- (float)getBrightness {
-    if (!dataPort) return 0.0;
+- (float)getBrightness
+{
+    if (!_dataPort)
+        return 0.0;
 
     uint32_t inputCount = 1;
     uint64_t inputValues[1] = { 0 };
@@ -91,7 +111,7 @@ static float lastBrightnessLevel;
     uint32_t outputCount = 1;
     uint64_t outputValues[1];
 
-    kern_return_t kr = IOConnectCallScalarMethod(dataPort,
+    kern_return_t kr = IOConnectCallScalarMethod(_dataPort,
                                                  kGetLEDBrightnessID,
                                                  inputValues,
                                                  inputCount,
@@ -106,16 +126,20 @@ static float lastBrightnessLevel;
     return brightness;
 }
 
-- (void)lightsUp {
-    if (!dataPort) return;
+- (void)lightsUp
+{
+    if (!_dataPort) {
+        return;
+    }
 
     @synchronized(self) {
         float start = [self getBrightness];
-        float target = lastBrightnessLevel;
+        float target = _lastBrightnessLevel;
 
         // Don't do anything if the user has put
         // backlight on again during playback.
-        if (start != 0) return;
+        if (start != 0)
+            return;
 
         for (float i = start; i <= target; i += 0.08) {
             [self setBrightness:i];
@@ -126,14 +150,17 @@ static float lastBrightnessLevel;
     }
 }
 
-- (void)lightsDown {
-    if (!dataPort) return;
+- (void)lightsDown
+{
+    if (!_dataPort) {
+        return;
+    }
 
     @synchronized(self) {
         float start = [self getBrightness];
         float target = 0;
 
-        lastBrightnessLevel = start;
+        _lastBrightnessLevel = start;
 
         for (float i = start; i >= target; i -= 0.08) {
             [self setBrightness:i];
@@ -144,7 +171,8 @@ static float lastBrightnessLevel;
     }
 }
 
-- (void)switchLightsAsync:(BOOL)on {
+- (void)switchLightsAsync:(BOOL)on
+{
     if (on) {
         [NSThread detachNewThreadSelector:@selector(lightsUp) toTarget:self withObject:nil];
     } else {
@@ -152,11 +180,12 @@ static float lastBrightnessLevel;
     }
 }
 
-- (void)switchLightsInstantly:(BOOL)on {
+- (void)switchLightsInstantly:(BOOL)on
+{
     if (on) {
         // Don't do anything if the user has put backlight on again during playback.
         if ([self getBrightness] == 0) {
-            [self setBrightness:lastBrightnessLevel];
+            [self setBrightness:_lastBrightnessLevel];
         }
     } else {
         [self setBrightness:0];



More information about the vlc-commits mailing list