[vlc-commits] macosx/clicker manager: remove dependency on core interaction singleton

Felix Paul Kühne git at videolan.org
Sat Apr 13 22:09:59 CEST 2019


vlc | branch: master | Felix Paul Kühne <felix at feepk.net> | Sat Apr 13 21:01:14 2019 +0200| [c632dbaf2d96102f804ee944413b6d35ae4f3825] | committer: Felix Paul Kühne

macosx/clicker manager: remove dependency on core interaction singleton

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

 .../gui/macosx/coreinteraction/VLCClickerManager.m | 109 ++++++++++-----------
 1 file changed, 52 insertions(+), 57 deletions(-)

diff --git a/modules/gui/macosx/coreinteraction/VLCClickerManager.m b/modules/gui/macosx/coreinteraction/VLCClickerManager.m
index e3cccd7fe2..c75045aafa 100644
--- a/modules/gui/macosx/coreinteraction/VLCClickerManager.m
+++ b/modules/gui/macosx/coreinteraction/VLCClickerManager.m
@@ -22,19 +22,19 @@
 
 #import "VLCClickerManager.h"
 
-#include <vlc_common.h>
-#include <vlc_actions.h>
-
-#import "coreinteraction/VLCCoreInteraction.h"
 #import "extensions/NSSound+VLCAdditions.h"
 #import "imported/SPMediaKeyTap/SPMediaKeyTap.h"
 #import "imported/AppleRemote/AppleRemote.h"
 #import "main/VLCMain.h"
 #import "playlist/VLCPlaylistController.h"
 #import "playlist/VLCPlaylistModel.h"
+#import "playlist/VLCPlayerController.h"
 
 @interface VLCClickerManager()
 {
+    VLCPlaylistController *_playlistController;
+    VLCPlayerController *_playerController;
+
     /* media key support */
     BOOL b_mediaKeySupport;
     BOOL b_mediakeyJustJumped;
@@ -52,12 +52,15 @@
 {
     self = [super init];
     if (self) {
+        _playlistController = [[VLCMain sharedInstance] playlistController];
+        _playerController = [_playlistController playerController];
+        NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
+
         /* init media key support */
         b_mediaKeySupport = var_InheritBool(getIntf(), "macosx-mediakeys");
         if (b_mediaKeySupport) {
             _mediaKeyController = [[SPMediaKeyTap alloc] initWithDelegate:self];
         }
-        NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
         [notificationCenter addObserver:self
                                selector:@selector(coreChangedMediaKeySupportSetting:)
                                    name:VLCMediaKeySupportSettingChangedNotification
@@ -66,6 +69,12 @@
                                selector:@selector(coreChangedAppleRemoteSetting:)
                                    name:VLCAppleRemoteSettingChangedNotification
                                  object:nil];
+
+
+        /* init Apple Remote support */
+        _remote = [[AppleRemote alloc] init];
+        [_remote setClickCountEnabledButtons: kRemoteButtonPlay];
+        [_remote setDelegate: self];
         [notificationCenter addObserver:self
                                selector:@selector(startListeningWithAppleRemote)
                                    name:NSApplicationDidBecomeActiveNotification
@@ -74,11 +83,6 @@
                                selector:@selector(stopListeningWithAppleRemote)
                                    name:NSApplicationDidResignActiveNotification
                                  object:nil];
-
-        /* init Apple Remote support */
-        _remote = [[AppleRemote alloc] init];
-        [_remote setClickCountEnabledButtons: kRemoteButtonPlay];
-        [_remote setDelegate: self];
     }
     return self;
 }
@@ -98,7 +102,7 @@
     b_mediakeyJustJumped = NO;
 }
 
-- (void)coreChangedMediaKeySupportSetting: (NSNotification *)o_notification
+- (void)coreChangedMediaKeySupportSetting:(NSNotification *)o_notification
 {
     intf_thread_t *p_intf = getIntf();
     if (!p_intf)
@@ -138,14 +142,15 @@
         int keyState = (((keyFlags & 0xFF00) >> 8)) == 0xA;
         int keyRepeat = (keyFlags & 0x1);
 
-        if (keyCode == NX_KEYTYPE_PLAY && keyState == 0)
-            [[VLCCoreInteraction sharedInstance] playOrPause];
+        if (keyCode == NX_KEYTYPE_PLAY && keyState == 0) {
+            [_playerController togglePlayPause];
+        }
 
         if ((keyCode == NX_KEYTYPE_FAST || keyCode == NX_KEYTYPE_NEXT) && !b_mediakeyJustJumped) {
-            if (keyState == 0 && keyRepeat == 0)
-                [[VLCCoreInteraction sharedInstance] next];
-            else if (keyRepeat == 1) {
-                [[VLCCoreInteraction sharedInstance] forwardShort];
+            if (keyState == 0 && keyRepeat == 0) {
+                [_playlistController playNextItem];
+            } else if (keyRepeat == 1) {
+                [_playerController jumpForwardShort];
                 b_mediakeyJustJumped = YES;
                 [self performSelector:@selector(resetMediaKeyJump)
                            withObject: NULL
@@ -154,10 +159,10 @@
         }
 
         if ((keyCode == NX_KEYTYPE_REWIND || keyCode == NX_KEYTYPE_PREVIOUS) && !b_mediakeyJustJumped) {
-            if (keyState == 0 && keyRepeat == 0)
-                [[VLCCoreInteraction sharedInstance] previous];
-            else if (keyRepeat == 1) {
-                [[VLCCoreInteraction sharedInstance] backwardShort];
+            if (keyState == 0 && keyRepeat == 0) {
+                [_playlistController playPreviousItem];
+            } else if (keyRepeat == 1) {
+                [_playerController jumpBackwardShort];
                 b_mediakeyJustJumped = YES;
                 [self performSelector:@selector(resetMediaKeyJump)
                            withObject: NULL
@@ -170,7 +175,7 @@
 #pragma mark -
 #pragma mark Apple Remote Control
 
-- (void)coreChangedAppleRemoteSetting: (NSNotification *)notification
+- (void)coreChangedAppleRemoteSetting:(NSNotification *)notification
 {
     if (var_InheritBool(getIntf(), "macosx-appleremote") == YES) {
         [_remote startListening: self];
@@ -192,27 +197,21 @@
 
 /* Helper method for the remote control interface in order to trigger forward/backward and volume
  increase/decrease as long as the user holds the left/right, plus/minus button */
-- (void) executeHoldActionForRemoteButton: (NSNumber*) buttonIdentifierNumber
+- (void)executeHoldActionForRemoteButton:(NSNumber *)buttonIdentifierNumber
 {
-    intf_thread_t *p_intf = getIntf();
-    if (!p_intf)
-        return;
-
     if (b_remote_button_hold) {
         switch([buttonIdentifierNumber intValue]) {
             case kRemoteButtonRight_Hold:
-                [[VLCCoreInteraction sharedInstance] forwardShort];
+                [_playerController jumpForwardShort];
                 break;
             case kRemoteButtonLeft_Hold:
-                [[VLCCoreInteraction sharedInstance] backwardShort];
+                [_playerController jumpBackwardShort];
                 break;
             case kRemoteButtonVolume_Plus_Hold:
-                if (p_intf)
-                    var_SetInteger(vlc_object_instance(p_intf), "key-action", ACTIONID_VOL_UP);
+                [_playerController incrementVolume];
                 break;
             case kRemoteButtonVolume_Minus_Hold:
-                if (p_intf)
-                    var_SetInteger(vlc_object_instance(p_intf), "key-action", ACTIONID_VOL_DOWN);
+                [_playerController decrementVolume];
                 break;
         }
         if (b_remote_button_hold) {
@@ -225,52 +224,48 @@
 }
 
 /* Apple Remote callback */
-- (void) appleRemoteButton: (AppleRemoteEventIdentifier)buttonIdentifier
-               pressedDown: (BOOL) pressedDown
-                clickCount: (unsigned int) count
+- (void)appleRemoteButton:(AppleRemoteEventIdentifier)buttonIdentifier
+              pressedDown:(BOOL)pressedDown
+               clickCount:(unsigned int)count
 {
-    intf_thread_t *p_intf = getIntf();
-    if (!p_intf)
-        return;
-
     switch(buttonIdentifier) {
         case k2009RemoteButtonFullscreen:
-            [[VLCCoreInteraction sharedInstance] toggleFullscreen];
+            [_playerController toggleFullscreen];
             break;
         case k2009RemoteButtonPlay:
-            [[VLCCoreInteraction sharedInstance] playOrPause];
+            [_playerController togglePlayPause];
             break;
         case kRemoteButtonPlay:
             if (count >= 2)
-                [[VLCCoreInteraction sharedInstance] toggleFullscreen];
+                [_playerController toggleFullscreen];
             else
-                [[VLCCoreInteraction sharedInstance] playOrPause];
+                [_playerController togglePlayPause];
             break;
         case kRemoteButtonVolume_Plus:
-            if (config_GetInt("macosx-appleremote-sysvol"))
+            if (config_GetInt("macosx-appleremote-sysvol")) {
                 [NSSound increaseSystemVolume];
-            else
-                if (p_intf)
-                    var_SetInteger(vlc_object_instance(p_intf), "key-action", ACTIONID_VOL_UP);
+            } else {
+                [_playerController incrementVolume];
+            }
             break;
         case kRemoteButtonVolume_Minus:
-            if (config_GetInt("macosx-appleremote-sysvol"))
+            if (config_GetInt("macosx-appleremote-sysvol")) {
                 [NSSound decreaseSystemVolume];
-            else
-                if (p_intf)
-                    var_SetInteger(vlc_object_instance(p_intf), "key-action", ACTIONID_VOL_DOWN);
+            } else {
+                [_playerController decrementVolume];
+            }
             break;
         case kRemoteButtonRight:
             if (config_GetInt("macosx-appleremote-prevnext"))
-                [[VLCCoreInteraction sharedInstance] forwardShort];
+                [_playerController jumpForwardShort];
             else
-                [[VLCCoreInteraction sharedInstance] next];
+                [_playlistController playNextItem];
             break;
         case kRemoteButtonLeft:
             if (config_GetInt("macosx-appleremote-prevnext"))
-                [[VLCCoreInteraction sharedInstance] backwardShort];
+                [_playerController jumpBackwardShort];
             else
-                [[VLCCoreInteraction sharedInstance] previous];
+                [_playlistController playPreviousItem];
             break;
         case kRemoteButtonRight_Hold:
         case kRemoteButtonLeft_Hold:
@@ -285,7 +280,7 @@
             }
             break;
         case kRemoteButtonMenu:
-            [[VLCCoreInteraction sharedInstance] showPosition];
+            [_playerController displayPosition];
             break;
         case kRemoteButtonPlay_Sleep:
         {



More information about the vlc-commits mailing list