1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

add shuffle and instant mix commands

This commit is contained in:
Luke Pulverenti 2014-03-29 14:20:42 -04:00
parent 813826b03b
commit 92050a79b1
5 changed files with 74 additions and 63 deletions

View file

@ -19,7 +19,9 @@
name: currentPlayer.name,
isLocalPlayer: currentPlayer.isLocalPlayer,
targetInfo: currentTargetInfo
id: currentTargetInfo.id,
deviceName: currentTargetInfo.deviceName,
playableMediaTypes: currentTargetInfo.playableMediaTypes
};
};
@ -124,7 +126,7 @@
return true;
}
return currentPlayer.canPlayMediaType(item.MediaType);
return self.getPlayerInfo().playableMediaTypes.indexOf(item.MediaType) != -1;
};
self.canQueueMediaType = function (mediaType) {
@ -132,11 +134,6 @@
return currentPlayer.canQueueMediaType(mediaType);
};
self.isPlaying = function () {
return currentPlayer.isPlaying();
};
self.getLocalPlayer = function () {
return currentPlayer.isLocalPlayer ?
@ -151,7 +148,7 @@
window.MediaController = new mediaController();
function onWebSocketMessageReceived(msg) {
function onWebSocketMessageReceived(e, msg) {
var localPlayer = msg.MessageType === "Play" || msg.MessageType === "Play" ?
MediaController.getLocalPlayer() :
@ -212,11 +209,17 @@
var id = 'radioPlayerTarget' + i;
var isChecked = target.id == playerInfo.targetInfo.id;
var isChecked = target.id == playerInfo.id;
var checkedHtml = isChecked ? ' checked="checked"' : '';
html += '<input type="radio" class="radioSelectPlayerTarget" name="radioSelectPlayerTarget" data-playername="' + target.playerName + '" data-targetid="' + target.id + '" data-targetname="' + target.name + '" id="' + id + '" value="' + target.id + '"' + checkedHtml + '>';
html += '<label for="' + id + '">' + target.name + '</label>';
html += '<input type="radio" class="radioSelectPlayerTarget" name="radioSelectPlayerTarget" data-mediatypes="' + target.playableMediaTypes.join(',') + '" data-playername="' + target.playerName + '" data-targetid="' + target.id + '" data-targetname="' + target.name + '" id="' + id + '" value="' + target.id + '"' + checkedHtml + '>';
html += '<label for="' + id + '" style="font-weight:normal;">' + target.name;
if (target.appName) {
html += '<br/><span style="color:#bbb;">' + target.appName + '</span>';
}
html += '</label>';
}
html += '</fieldset>';
@ -249,10 +252,12 @@
var playerName = this.getAttribute('data-playername');
var targetId = this.getAttribute('data-targetid');
var targetName = this.getAttribute('data-targetname');
var playableMediaTypes = this.getAttribute('data-mediatypes').split(',');
MediaController.setActivePlayer(playerName, {
id: targetId,
name: targetName
name: targetName,
playableMediaTypes: playableMediaTypes
});
});