diff --git a/dashboard-ui/autoorganizetv.html b/dashboard-ui/autoorganizetv.html index 71bd69db7e..df8a1dea09 100644 --- a/dashboard-ui/autoorganizetv.html +++ b/dashboard-ui/autoorganizetv.html @@ -77,62 +77,62 @@ - ${LabelSeriesName} + ${LabelSeriesNamePlain} %sn - ${LabelSeriesName} + ${LabelSeriesNamePlain} - ${LabelSeriesName} + ${LabelSeriesNamePlain} %s.n ${ValueSeriesNamePeriod} - ${LabelSeriesName} + ${LabelSeriesNamePlain} %s_n ${ValueSeriesNameUnderscore} - ${LabelSeasonNumber} + ${LabelSeasonNumberPlain} %s 1 - ${LabelSeasonNumber} + ${LabelSeasonNumberPlain} %0s 01 - ${LabelEpisodeNumber} + ${LabelEpisodeNumberPlain} %e 4 - ${LabelEpisodeNumber} + ${LabelEpisodeNumberPlain} %0e 04 - ${LabelEndingEpisodeNumber} + ${LabelEndingEpisodeNumberPlain} %ed 5 - ${LabelEndingEpisodeNumber} + ${LabelEndingEpisodeNumberPlain} %0ed 05 - ${LabelEpisodeName} + ${LabelEpisodeNamePlain} %en - ${LabelEpisodeName} + ${LabelEpisodeNamePlain} - ${LabelEpisodeName} + ${LabelEpisodeNamePlain} %e.n ${ValueEpisodeNamePeriod} - ${LabelEpisodeName} + ${LabelEpisodeNamePlain} %e_n ${ValueEpisodeNameUnderscore} diff --git a/dashboard-ui/notificationsetting.html b/dashboard-ui/notificationsetting.html index 0b91f9fef8..10bfda4a98 100644 --- a/dashboard-ui/notificationsetting.html +++ b/dashboard-ui/notificationsetting.html @@ -31,7 +31,6 @@
-
${UsersNotNotifiedAboutSelfActivity}


diff --git a/dashboard-ui/scripts/chromecast.js b/dashboard-ui/scripts/chromecast.js index 84610a3961..a6bb46a3c5 100644 --- a/dashboard-ui/scripts/chromecast.js +++ b/dashboard-ui/scripts/chromecast.js @@ -316,12 +316,19 @@ var bitrateSetting = MediaPlayer.getBitrateSetting(); bitrateSetting = Math.min(bitrateSetting, 10000000); + var receiverName = null; + + if (castPlayer.session && castPlayer.session.receiver && castPlayer.session.receiver.friendlyName) { + receiverName = castPlayer.session.receiver.friendlyName; + } + message = $.extend(message, { userId: Dashboard.getCurrentUserId(), deviceId: ApiClient.deviceId(), accessToken: ApiClient.accessToken(), serverAddress: ApiClient.serverAddress(), - maxBitrate: bitrateSetting + maxBitrate: bitrateSetting, + receiverName: receiverName }); getEndpointInfo().done(function (endpoint) { diff --git a/dashboard-ui/scripts/mediacontroller.js b/dashboard-ui/scripts/mediacontroller.js index f3aa00d0aa..922ff4780d 100644 --- a/dashboard-ui/scripts/mediacontroller.js +++ b/dashboard-ui/scripts/mediacontroller.js @@ -1,8 +1,17 @@ -(function ($, window) { +(function ($, window, store) { + + function setMirrorModeEnabled(enabled) { + + var val = enabled ? '1' : ''; + + store.setItem('displaymirror', val); + + } + function isMirrorModeEnabled() { + return (store.getItem('displaymirror') || '') == '1'; + } - var enableMirrorMode; var currentDisplayInfo; - function mirrorItem(info) { var item = info.item; @@ -16,6 +25,18 @@ }); } + function mirrorIfEnabled(info) { + + if (isMirrorModeEnabled()) { + + var player = MediaController.getPlayerInfo(); + + if (!player.isLocalPlayer && player.supportedCommands.indexOf('DisplayContent') != -1) { + mirrorItem(info); + } + } + } + function monitorPlayer(player) { $(player).on('playbackstart.mediacontroller', function (e, state) { @@ -455,7 +476,7 @@ html += '

' + Globalize.translate('LabelAllPlaysSentToPlayer') + '

'; - checkedHtml = enableMirrorMode ? ' checked="checked"' : ''; + checkedHtml = isMirrorModeEnabled() ? ' checked="checked"' : ''; html += '
'; html += ''; @@ -488,7 +509,7 @@ $('.players', elem).html(getTargetsHtml(targets)).trigger('create'); $('.chkEnableMirrorMode', elem).on().on('change', function () { - enableMirrorMode = this.checked; + setMirrorModeEnabled(this.checked); if (this.checked && currentDisplayInfo) { @@ -506,7 +527,6 @@ $('.fldMirrorMode', elem).show(); } else { $('.fldMirrorMode', elem).hide(); - $('.chkEnableMirrorMode', elem).checked(false).trigger('change').checkboxradio('refresh'); } }).each(function () { @@ -532,6 +552,12 @@ deviceName: deviceName }); + + if (currentDisplayInfo) { + + mirrorIfEnabled(currentDisplayInfo); + } + }); }); } @@ -610,9 +636,7 @@ currentDisplayInfo = info; - if (enableMirrorMode) { - mirrorItem(info); - } + mirrorIfEnabled(info); }); -})(jQuery, window); \ No newline at end of file +})(jQuery, window, window.store); \ No newline at end of file diff --git a/dashboard-ui/scripts/mediaplayer-video.js b/dashboard-ui/scripts/mediaplayer-video.js index edbcbecff5..6a4da24f22 100644 --- a/dashboard-ui/scripts/mediaplayer-video.js +++ b/dashboard-ui/scripts/mediaplayer-video.js @@ -200,6 +200,8 @@ self.setCurrentTrackElement = function (index) { + var modes = ['disabled', 'showing', 'hidden']; + var textStreams = self.currentMediaSource.MediaStreams.filter(function (s) { return s.Type == 'Subtitle' && s.IsTextSubtitleStream; }); @@ -219,13 +221,26 @@ var mode; if (trackIndex == i) { - mode = "showing"; // show this track + mode = 1; // show this track } else { - mode = "disabled"; // hide all other tracks + mode = 0; // hide all other tracks } console.log('Setting track ' + i + ' mode to: ' + mode); - allTracks[i].mode = mode; + + // Safari uses integers for the mode property + // http://www.jwplayer.com/html5/scripting/ + var useNumericMode = false; + + if (!isNaN(allTracks[i].mode)) { + useNumericMode = true; + } + + if (useNumericMode) { + allTracks[i].mode = mode; + } else { + allTracks[i].mode = modes[mode]; + } } }; diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js index dedc5edaee..08cf56d1ee 100644 --- a/dashboard-ui/scripts/mediaplayer.js +++ b/dashboard-ui/scripts/mediaplayer.js @@ -555,14 +555,7 @@ self.displayContent = function (options) { // Handle it the same as a remote control command - Dashboard.onBrowseCommand({ - - ItemName: options.itemName, - ItemType: options.itemType, - ItemId: options.itemId, - Context: options.context - - }); + Dashboard.onBrowseCommand(options); }; self.getItemsForPlayback = function (query) { diff --git a/dashboard-ui/scripts/remotecontrol.js b/dashboard-ui/scripts/remotecontrol.js index 2107c66fa3..8ab76fcf8e 100644 --- a/dashboard-ui/scripts/remotecontrol.js +++ b/dashboard-ui/scripts/remotecontrol.js @@ -157,14 +157,7 @@ self.displayContent = function (options) { - sendCommandByName('DisplayContent', { - - ItemName: options.itemName, - ItemType: options.itemType, - ItemId: options.itemId, - Context: options.context - - }); + sendCommandByName('DisplayContent', options); }; self.getPlayerState = function () {