rework now playing screen

This commit is contained in:
Luke Pulverenti 2017-01-17 13:00:19 -05:00
parent b614bbcf09
commit bb816420e7
14 changed files with 448 additions and 516 deletions

View file

@ -294,7 +294,7 @@
currentRotationIndex = -1;
if (images.length > 1 && enableImageRotation !== false && enableRotation()) {
rotationInterval = setInterval(onRotationInterval, 20000);
rotationInterval = setInterval(onRotationInterval, 24000);
}
onRotationInterval();
}

View file

@ -976,15 +976,25 @@
return Promise.resolve(self.getPlayerStateInternal() || {});
};
function normalizePrimaryImage(state) {
function normalizeImages(state) {
if (state && state.NowPlayingItem) {
if (!state.NowPlayingItem.ImageTags || !state.NowPlayingItem.ImageTags.Primary) {
if (state.NowPlayingItem.PrimaryImageTag) {
state.NowPlayingItem.ImageTags = state.NowPlayingItem.ImageTags || {};
state.NowPlayingItem.ImageTags.Primary = state.NowPlayingItem.PrimaryImageTag;
var item = state.NowPlayingItem;
if (!item.ImageTags || !item.ImageTags.Primary) {
if (item.PrimaryImageTag) {
item.ImageTags = item.ImageTags || {};
item.ImageTags.Primary = item.PrimaryImageTag;
}
}
if (item.BackdropImageTag && item.BackdropItemId === item.Id) {
item.BackdropImageTags = [item.BackdropImageTag];
}
if (item.BackdropImageTag && item.BackdropItemId !== item.Id) {
item.ParentBackdropImageTags = [item.BackdropImageTag];
item.ParentBackdropItemId = item.BackdropItemId;
}
}
}
@ -1000,7 +1010,7 @@
data = data || self.lastPlayerData;
self.lastPlayerData = data;
normalizePrimaryImage(data);
normalizeImages(data);
//console.log(JSON.stringify(data));

View file

@ -100,6 +100,7 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g
return;
}
setCurrentPlayerInternal(null, null);
return;
}
if (typeof (player) === 'string') {
@ -244,16 +245,21 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g
self.removeActivePlayer = function (name) {
if (self.getPlayerInfo().name === name) {
self.setDefaultPlayerActive();
var playerInfo = self.getPlayerInfo();
if (playerInfo) {
if (playerInfo.name === name) {
self.setDefaultPlayerActive();
}
}
};
self.removeActiveTarget = function (id) {
if (self.getPlayerInfo().id === id) {
self.setDefaultPlayerActive();
var playerInfo = self.getPlayerInfo();
if (playerInfo) {
if (playerInfo.id === id) {
self.setDefaultPlayerActive();
}
}
};
@ -261,6 +267,10 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g
var playerInfo = self.getPlayerInfo();
if (!playerInfo) {
return;
}
if (playerInfo.supportedCommands.indexOf('EndSession') !== -1) {
require(['dialog'], function (dialog) {
@ -2205,12 +2215,7 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g
}
}
// Gets or sets the current playlist index
self.currentPlaylistIndex = function (i) {
if (i == null) {
return currentPlaylistIndex;
}
self.setCurrentPlaylistIndex = function (i) {
var newItem = playlist[i];
@ -2219,10 +2224,15 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g
});
playInternal(newItem, playOptions, function () {
self.setPlaylistState(i);
currentPlaylistIndex = i;
});
};
self.getCurrentPlaylistIndex = function (i) {
return currentPlaylistIndex;
};
self.setRepeatMode = function (value, player) {
player = player || currentPlayer;
@ -2494,6 +2504,11 @@ define(['events', 'datetime', 'appSettings', 'pluginManager', 'userSettings', 'g
state.nextMediaType = nextMediaType;
state.nextItem = playbackStopInfo.nextItem;
if (!nextItem) {
playlist = [];
currentPlaylistIndex = -1;
}
events.trigger(player, 'playbackstop', [state]);
events.trigger(self, 'playbackstop', [playbackStopInfo]);

View file

@ -423,15 +423,25 @@
return session;
}
function normalizePrimaryImage(state) {
function normalizeImages(state) {
if (state && state.NowPlayingItem) {
if (!state.NowPlayingItem.ImageTags || !state.NowPlayingItem.ImageTags.Primary) {
if (state.NowPlayingItem.PrimaryImageTag) {
state.NowPlayingItem.ImageTags = state.NowPlayingItem.ImageTags || {};
state.NowPlayingItem.ImageTags.Primary = state.NowPlayingItem.PrimaryImageTag;
var item = state.NowPlayingItem;
if (!item.ImageTags || !item.ImageTags.Primary) {
if (item.PrimaryImageTag) {
item.ImageTags = item.ImageTags || {};
item.ImageTags.Primary = item.PrimaryImageTag;
}
}
if (item.BackdropImageTag && item.BackdropItemId === item.Id) {
item.BackdropImageTags = [item.BackdropImageTag];
}
if (item.BackdropImageTag && item.BackdropItemId !== item.Id) {
item.ParentBackdropImageTags = [item.BackdropImageTag];
item.ParentBackdropItemId = item.BackdropItemId;
}
}
}
@ -439,7 +449,7 @@
var state = getPlayerState(session);
normalizePrimaryImage(state);
normalizeImages(state);
self.lastPlayerData = state;

View file

@ -288,7 +288,7 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter', 'g
}
else if (action === 'setplaylistindex') {
playbackManager.currentPlaylistIndex(parseInt(card.getAttribute('data-index')));
playbackManager.setCurrentPlaylistIndex(parseInt(card.getAttribute('data-index')));
}
else if (action === 'record') {