From 8f8ebc485d572ee2a60e0f69db58bb1be4b4d687 Mon Sep 17 00:00:00 2001 From: ferferga Date: Sun, 26 Jan 2020 00:08:17 +0100 Subject: [PATCH 1/3] Switched media controls to follow other players style --- src/components/playback/mediasession.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/playback/mediasession.js b/src/components/playback/mediasession.js index 7f4b9f519..160e6a444 100644 --- a/src/components/playback/mediasession.js +++ b/src/components/playback/mediasession.js @@ -160,8 +160,8 @@ define(['playbackManager', 'nowPlayingHelper', 'events', 'connectionManager'], f if (navigator.mediaSession) { navigator.mediaSession.metadata = new MediaMetadata({ - title: title, - artist: artist, + title: artist, + artist: title, album: album, artwork: getImageUrls(item), albumArtist: albumArtist, @@ -185,8 +185,8 @@ define(['playbackManager', 'nowPlayingHelper', 'events', 'connectionManager'], f action: eventName, isLocalPlayer: isLocalPlayer, itemId: itemId, - title: title, - artist: artist, + title: artist, + artist: title, album: album, duration: duration, position: currentTime, From 6bea97ef0ff87f9ba41461f72a5acc90f99d0914 Mon Sep 17 00:00:00 2001 From: ferferga Date: Sun, 26 Jan 2020 14:40:32 +0100 Subject: [PATCH 2/3] Fixed logic and reduced overhead --- src/components/playback/mediasession.js | 42 +++++++++---------------- 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/src/components/playback/mediasession.js b/src/components/playback/mediasession.js index 160e6a444..65b5ebcf8 100644 --- a/src/components/playback/mediasession.js +++ b/src/components/playback/mediasession.js @@ -97,6 +97,15 @@ define(['playbackManager', 'nowPlayingHelper', 'events', 'connectionManager'], f } function updatePlayerState(player, state, eventName) { + var now = new Date().getTime(); + lastUpdateTime = now; + + // Don't go crazy reporting position changes + if (eventName == 'timeupdate' && (now - lastUpdateTime) < 5000) { + // Only report if this item hasn't been reported yet, or if there's an actual playback change. + // Don't report on simple time updates + return; + } var item = state.NowPlayingItem; @@ -118,19 +127,9 @@ define(['playbackManager', 'nowPlayingHelper', 'events', 'connectionManager'], f } var playState = state.PlayState || {}; - var parts = nowPlayingHelper.getNowPlayingNames(item); - - var artist = parts.length === 1 ? '' : parts[0].text; - var title = parts[parts.length - 1].text; - - // Switch these two around for video - if (isVideo && parts.length > 1) { - var temp = artist; - artist = title; - title = temp; - } - + var artist = parts[parts.length - 1].text; + var title = parts.length === 1 ? '' : parts[0].text; var albumArtist; if (item.AlbumArtists && item.AlbumArtists[0]) { @@ -147,21 +146,10 @@ define(['playbackManager', 'nowPlayingHelper', 'events', 'connectionManager'], f var isPaused = playState.IsPaused || false; var canSeek = playState.CanSeek || false; - var now = new Date().getTime(); - - // Don't go crazy reporting position changes - if (eventName == 'timeupdate' && (now - lastUpdateTime) < 5000) { - // Only report if this item hasn't been reported yet, or if there's an actual playback change. - // Don't report on simple time updates - return; - } - - lastUpdateTime = now; - if (navigator.mediaSession) { navigator.mediaSession.metadata = new MediaMetadata({ - title: artist, - artist: title, + title: title, + artist: artist, album: album, artwork: getImageUrls(item), albumArtist: albumArtist, @@ -185,8 +173,8 @@ define(['playbackManager', 'nowPlayingHelper', 'events', 'connectionManager'], f action: eventName, isLocalPlayer: isLocalPlayer, itemId: itemId, - title: artist, - artist: title, + title: title, + artist: artist, album: album, duration: duration, position: currentTime, From 02c820de5bbcd4ef5cca3310425f0d55fd07c67a Mon Sep 17 00:00:00 2001 From: ferferga Date: Wed, 29 Jan 2020 08:38:56 +0100 Subject: [PATCH 3/3] Remove unnecessary check --- src/components/playback/mediasession.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/components/playback/mediasession.js b/src/components/playback/mediasession.js index 65b5ebcf8..c03420c85 100644 --- a/src/components/playback/mediasession.js +++ b/src/components/playback/mediasession.js @@ -97,11 +97,8 @@ define(['playbackManager', 'nowPlayingHelper', 'events', 'connectionManager'], f } function updatePlayerState(player, state, eventName) { - var now = new Date().getTime(); - lastUpdateTime = now; - // Don't go crazy reporting position changes - if (eventName == 'timeupdate' && (now - lastUpdateTime) < 5000) { + if (eventName == 'timeupdate') { // Only report if this item hasn't been reported yet, or if there's an actual playback change. // Don't report on simple time updates return;