vlc | branch: master | Felix Paul Kühne <[email protected]> | Wed Nov 13 07:38:39 2019 +0100| [20bf0e212f349d9dffe61a7a34e99d15fd6d4787] | committer: Felix Paul Kühne
macosx: add support for Apple Music This matches the previous iTunes support. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=20bf0e212f349d9dffe61a7a34e99d15fd6d4787 --- .../macosx/imported/SPMediaKeyTap/SPMediaKeyTap.m | 1 + modules/gui/macosx/playlist/VLCPlayerController.m | 25 +++++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/modules/gui/macosx/imported/SPMediaKeyTap/SPMediaKeyTap.m b/modules/gui/macosx/imported/SPMediaKeyTap/SPMediaKeyTap.m index 3083660bde..5b9505995a 100644 --- a/modules/gui/macosx/imported/SPMediaKeyTap/SPMediaKeyTap.m +++ b/modules/gui/macosx/imported/SPMediaKeyTap/SPMediaKeyTap.m @@ -177,6 +177,7 @@ static CGEventRef tapEventCallback(CGEventTapProxy proxy, CGEventType type, CGEv [[NSBundle mainBundle] bundleIdentifier], // your app @"com.spotify.client", @"com.apple.iTunes", + @"com.apple.Music", @"com.apple.QuickTimePlayerX", @"com.apple.quicktimeplayer", @"com.apple.iWork.Keynote", diff --git a/modules/gui/macosx/playlist/VLCPlayerController.m b/modules/gui/macosx/playlist/VLCPlayerController.m index 5d98c3cc3b..1698f9b36f 100644 --- a/modules/gui/macosx/playlist/VLCPlayerController.m +++ b/modules/gui/macosx/playlist/VLCPlayerController.m @@ -88,8 +88,9 @@ const CGFloat VLCVolumeDefault = 1.; /* remote control support */ VLCRemoteControlService *_remoteControlService; - /* iTunes/Spotify play/pause support */ + /* iTunes/Apple Music/Spotify play/pause support */ BOOL _iTunesPlaybackWasPaused; + BOOL _appleMusicPlaybackWasPaused; BOOL _SpotifyPlaybackWasPaused; NSTimer *_playbackHasTruelyEndedTimer; @@ -862,6 +863,17 @@ static int BossCallback(vlc_object_t *p_this, } } + if (!_appleMusicPlaybackWasPaused) { + iTunesApplication *iTunesApp = (iTunesApplication *) [SBApplication applicationWithBundleIdentifier:@"com.apple.Music"]; + if (iTunesApp && [iTunesApp isRunning]) { + if ([iTunesApp playerState] == iTunesEPlSPlaying) { + msg_Dbg(p_intf, "pausing Apple Music"); + [iTunesApp pause]; + _appleMusicPlaybackWasPaused = YES; + } + } + } + // pause Spotify if (!_SpotifyPlaybackWasPaused) { SpotifyApplication *spotifyApp = (SpotifyApplication *) [SBApplication applicationWithBundleIdentifier:@"com.spotify.client"]; @@ -891,6 +903,16 @@ static int BossCallback(vlc_object_t *p_this, } } + if (_appleMusicPlaybackWasPaused) { + iTunesApplication *iTunesApp = (iTunesApplication *) [SBApplication applicationWithBundleIdentifier:@"com.apple.Music"]; + if (iTunesApp && [iTunesApp isRunning]) { + if ([iTunesApp playerState] == iTunesEPlSPaused) { + msg_Dbg(p_intf, "unpausing Apple Music"); + [iTunesApp playpause]; + } + } + } + if (_SpotifyPlaybackWasPaused) { SpotifyApplication *spotifyApp = (SpotifyApplication *) [SBApplication applicationWithBundleIdentifier:@"com.spotify.client"]; if (spotifyApp) { @@ -905,6 +927,7 @@ static int BossCallback(vlc_object_t *p_this, } _iTunesPlaybackWasPaused = NO; + _appleMusicPlaybackWasPaused = NO; _SpotifyPlaybackWasPaused = NO; } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
