vlc/vlc-3.0 | branch: master | Felix Paul Kühne <[email protected]> | Thu Nov 14 11:55:44 2019 +0100| [2164633b495bff4f6435b434ee05dc7572e4a663] | committer: Felix Paul Kühne
macosx: add support for Apple Music This matches the previous iTunes support. This is a manual backport of 20bf0e212. > http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=2164633b495bff4f6435b434ee05dc7572e4a663 --- NEWS | 3 ++- modules/gui/macosx/SPMediaKeyTap.m | 1 + modules/gui/macosx/VLCInputManager.m | 26 +++++++++++++++++++++++++- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 66755c1961..c2f5a215e5 100644 --- a/NEWS +++ b/NEWS @@ -7,7 +7,7 @@ Core: Demux: * Fix TTML entities not passed to decoder * Misc raw H264/HEVC frame rate fixes - * Fixed adaptive regression on TS format change (mostly HLS) + * Fix adaptive regression on TS format change (mostly HLS) Packetizers: * Fixes H264/HEVC incomplete draining in some cases @@ -19,6 +19,7 @@ Decoder: macOS: * Fix Apple Remote support on macOS Catalina + * Add support for pausing Apple Music on macOS Catalina Misc: * Add missing .wpl & .zpl file associations on Windows diff --git a/modules/gui/macosx/SPMediaKeyTap.m b/modules/gui/macosx/SPMediaKeyTap.m index 3083660bde..5b9505995a 100644 --- a/modules/gui/macosx/SPMediaKeyTap.m +++ b/modules/gui/macosx/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/VLCInputManager.m b/modules/gui/macosx/VLCInputManager.m index f4ada0f9a3..2b736dc2da 100644 --- a/modules/gui/macosx/VLCInputManager.m +++ b/modules/gui/macosx/VLCInputManager.m @@ -158,8 +158,9 @@ static int InputEvent(vlc_object_t *p_this, const char *psz_var, IOPMAssertionID userActivityAssertionID; - /* iTunes/Spotify play/pause support */ + /* iTunes/Apple Music/Spotify play/pause support */ BOOL b_has_itunes_paused; + BOOL b_has_applemusic_paused; BOOL b_has_spotify_paused; NSTimer *hasEndedTimer; @@ -368,6 +369,18 @@ static int InputEvent(vlc_object_t *p_this, const char *psz_var, } } + // pause Apple Music + if (!b_has_applemusic_paused) { + 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]; + b_has_itunes_paused = YES; + } + } + } + // pause Spotify if (!b_has_spotify_paused) { SpotifyApplication *spotifyApp = (SpotifyApplication *) [SBApplication applicationWithBundleIdentifier:@"com.spotify.client"]; @@ -398,6 +411,16 @@ static int InputEvent(vlc_object_t *p_this, const char *psz_var, } } + if (b_has_applemusic_paused) { + 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 (b_has_spotify_paused) { SpotifyApplication *spotifyApp = (SpotifyApplication *) [SBApplication applicationWithBundleIdentifier:@"com.spotify.client"]; if (spotifyApp) { @@ -412,6 +435,7 @@ static int InputEvent(vlc_object_t *p_this, const char *psz_var, } b_has_itunes_paused = NO; + b_has_applemusic_paused = NO; b_has_spotify_paused = NO; } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
