diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index af5645d577..289fa3bb0b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -14,12 +14,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.4.446", - "_release": "1.4.446", + "version": "1.4.447", + "_release": "1.4.447", "_resolution": { "type": "version", - "tag": "1.4.446", - "commit": "6b6f1772ecf75132f04e1ef08bcd37a5bcb040d1" + "tag": "1.4.447", + "commit": "91e92ebbc11384f3d18e115f81dd0f359ad5190a" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.1", diff --git a/dashboard-ui/bower_components/emby-webcomponents/backdrop/backdrop.js b/dashboard-ui/bower_components/emby-webcomponents/backdrop/backdrop.js index fc9d74458c..1898a0e665 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/backdrop/backdrop.js +++ b/dashboard-ui/bower_components/emby-webcomponents/backdrop/backdrop.js @@ -301,7 +301,7 @@ function onRotationInterval() { - if (playbackManager.isPlayingVideo()) { + if (playbackManager.isPlayingLocally(['Video'])) { return; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/chromecastplayer.js b/dashboard-ui/bower_components/emby-webcomponents/chromecastplayer.js index d147b32d02..0ffc71db7c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/chromecastplayer.js +++ b/dashboard-ui/bower_components/emby-webcomponents/chromecastplayer.js @@ -698,6 +698,23 @@ }); }; + self.isPlaying = function () { + var state = self.lastPlayerData || {}; + return state.NowPlayingItem != null; + }; + + self.isPlayingVideo = function () { + var state = self.lastPlayerData || {}; + state = state.NowPlayingItem || {}; + return state.MediaType === 'Video'; + }; + + self.isPlayingAudio = function () { + var state = self.lastPlayerData || {}; + state = state.NowPlayingItem || {}; + return state.MediaType === 'Audio'; + }; + self.currentTime = function (val) { if (val != null) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/notifications/notifications.js b/dashboard-ui/bower_components/emby-webcomponents/notifications/notifications.js index 5525a266dc..0ae634f117 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/notifications/notifications.js +++ b/dashboard-ui/bower_components/emby-webcomponents/notifications/notifications.js @@ -88,7 +88,7 @@ define(['serverNotifications', 'playbackManager', 'events', 'globalize', 'requir function showNewItemNotification(item, apiClient) { - if (playbackManager.isPlayingVideo()) { + if (playbackManager.isPlayingLocally(['Video'])) { return; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/playback/playbackmanager.js b/dashboard-ui/bower_components/emby-webcomponents/playback/playbackmanager.js index 25cc26b73b..f9b9c2ff25 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/playback/playbackmanager.js +++ b/dashboard-ui/bower_components/emby-webcomponents/playback/playbackmanager.js @@ -478,14 +478,36 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g triggerPlayerChange(player, targetInfo, previousPlayer, previousTargetInfo); } - self.isPlaying = function () { - var player = currentPlayer; + self.isPlaying = function (player) { + player = player || currentPlayer; + if (player && !enableLocalPlaylistManagement(player)) { + return player.isPlaying(); + } return player != null && player.currentSrc() != null; }; - self.isPlayingVideo = function () { + self.isPlayingLocally = function (mediaTypes, player) { + + player = player || currentPlayer; + + if (!player || !player.isLocalPlayer) { + return false; + } + + var playerData = getPlayerData(player) || {}; + + return mediaTypes.indexOf((playerData.streamInfo || {}).mediaType || '') !== -1; + }; + + self.isPlayingVideo = function (player) { + + player = player || currentPlayer; + if (player && !enableLocalPlaylistManagement(player)) { + return player.isPlayingVideo(); + } + if (self.isPlaying()) { - var playerData = getPlayerData(currentPlayer); + var playerData = getPlayerData(player); return playerData.streamInfo.mediaType === 'Video'; } @@ -493,9 +515,14 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g return false; }; - self.isPlayingAudio = function () { + self.isPlayingAudio = function (player) { + player = player || currentPlayer; + if (player && !enableLocalPlaylistManagement(player)) { + return player.isPlayingAudio(); + } + if (self.isPlaying()) { - var playerData = getPlayerData(currentPlayer); + var playerData = getPlayerData(player); return playerData.streamInfo.mediaType === 'Audio'; } @@ -697,7 +724,7 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g return fullscreenManager.isFullScreen(); }; - self.toggleFullscreen = function(player) { + self.toggleFullscreen = function (player) { player = player || currentPlayer; if (!player.isLocalPlayer || player.toggleFulscreen) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/sessionplayer.js b/dashboard-ui/bower_components/emby-webcomponents/sessionplayer.js index 07c1dfb298..05f9ebb11c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/sessionplayer.js +++ b/dashboard-ui/bower_components/emby-webcomponents/sessionplayer.js @@ -83,9 +83,14 @@ sendPlayCommand(options, 'PlayLast'); }; - self.canQueueMediaType = function (mediaType) { + self.canPlayMediaType = function (mediaType) { - return mediaType === 'Audio' || mediaType === 'Video'; + mediaType = (mediaType || '').toLowerCase(); + return mediaType === 'audio' || mediaType === 'video'; + }; + + self.canQueueMediaType = function (mediaType) { + return self.canPlayMediaType(mediaType); }; self.stop = function () { @@ -224,6 +229,23 @@ sendCommandByName('DisplayContent', options); }; + self.isPlaying = function () { + var state = self.lastPlayerData || {}; + return state.NowPlayingItem != null; + }; + + self.isPlayingVideo = function () { + var state = self.lastPlayerData || {}; + state = state.NowPlayingItem || {}; + return state.MediaType === 'Video'; + }; + + self.isPlayingAudio = function () { + var state = self.lastPlayerData || {}; + state = state.NowPlayingItem || {}; + return state.MediaType === 'Audio'; + }; + self.getPlayerState = function () { var apiClient = window.ApiClient;