From ea285c28ef8dd607f7d5b64901af44c2e6a12f15 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 30 Apr 2014 23:24:55 -0400 Subject: [PATCH] 3.0.5233.40306 --- dashboard-ui/css/icons.css | 17 +----- dashboard-ui/css/librarybrowser.css | 18 ++---- dashboard-ui/scripts/chromecast.js | 38 ------------- dashboard-ui/scripts/mediacontroller.js | 75 +++++++++++++++++-------- dashboard-ui/scripts/mediaplayer.js | 46 +-------------- dashboard-ui/scripts/nowplayingpage.js | 13 +++-- dashboard-ui/scripts/remotecontrol.js | 12 ++++ dashboard-ui/scripts/site.js | 42 +++++++++----- 8 files changed, 106 insertions(+), 155 deletions(-) diff --git a/dashboard-ui/css/icons.css b/dashboard-ui/css/icons.css index d61b8ff8e8..f0242d8710 100644 --- a/dashboard-ui/css/icons.css +++ b/dashboard-ui/css/icons.css @@ -130,19 +130,4 @@ .ui-nosvg .ui-icon-expand:after { background-image: url("images/icons/expand.png"); -} - -.ui-icon-play-circle-o:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%20Tiny%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11-tiny.dtd%22%3E%3Csvg%20version%3D%221.1%22%20baseProfile%3D%22tiny%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2216px%22%20height%3D%2216px%22%20viewBox%3D%220%200%20500%20500%22%20xml%3Aspace%3D%22preserve%22%3E%20%3Cpath%20d%3D%22M330.357%20250q0%2010.324-8.929%2015.346l-151.786%2089.286q-4.185%202.511-8.929%202.511-4.464%200-8.929-2.232-8.929-5.301-8.929-15.625v-178.571q0-10.324%208.929-15.625%209.208-5.022%2017.857%200.279l151.786%2089.286q8.929%205.022%208.929%2015.346zM366.071%20250q0-41.294-20.368-76.172t-55.246-55.246-76.172-20.368-76.172%2020.368-55.246%2055.246-20.368%2076.172%2020.368%2076.172%2055.246%2055.246%2076.172%2020.368%2076.172-20.368%2055.246-55.246%2020.368-76.172zM428.571%20250q0%2058.315-28.739%20107.562t-77.985%2077.985-107.562%2028.739-107.562-28.739-77.985-77.985-28.739-107.562%2028.739-107.562%2077.985-77.985%20107.562-28.739%20107.562%2028.739%2077.985%2077.985%2028.739%20107.562z%22%20fill%3D%22%23ffffff%22%20%2F%3E%3C%2Fsvg%3E"); - background-repeat: no-repeat; -} - -/* Fallback */ - -.ui-icon-tablet:after { - background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%20Tiny%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11-tiny.dtd%22%3E%3Csvg%20version%3D%221.1%22%20baseProfile%3D%22tiny%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2216px%22%20height%3D%2216px%22%20viewBox%3D%220%200%20500%20500%22%20xml%3Aspace%3D%22preserve%22%3E%20%3Cpath%20d%3D%22M178.571%20392.857q0-7.254-5.301-12.556t-12.556-5.301-12.556%205.301-5.301%2012.556%205.301%2012.556%2012.556%205.301%2012.556-5.301%205.301-12.556zM285.714%20348.214v-267.857q0-3.627-2.651-6.278t-6.278-2.651h-232.143q-3.627%200-6.278%202.651t-2.651%206.278v267.857q0%203.627%202.651%206.278t6.278%202.651h232.143q3.627%200%206.278-2.651t2.651-6.278zM321.429%2080.357v303.571q0%2018.415-13.114%2031.529t-31.529%2013.114h-232.143q-18.415%200-31.529-13.114t-13.114-31.529v-303.571q0-18.415%2013.114-31.529t31.529-13.114h232.143q18.415%200%2031.529%2013.114t13.114%2031.529z%22%20fill%3D%22%23ffffff%22%20%2F%3E%3C%2Fsvg%3E"); - background-repeat: no-repeat; - background-position: 6px 3px; -} - -/* Fallback */ +} \ No newline at end of file diff --git a/dashboard-ui/css/librarybrowser.css b/dashboard-ui/css/librarybrowser.css index 88f436edda..0f9d6d8bf6 100644 --- a/dashboard-ui/css/librarybrowser.css +++ b/dashboard-ui/css/librarybrowser.css @@ -1222,7 +1222,8 @@ a.itemTag:hover { } .nowPlayingPageImage img { - height: 300px; + max-height: 300px; + max-width: 300px; } .nowPlayingPage .positionSliderContainer { @@ -1240,7 +1241,8 @@ a.itemTag:hover { } .nowPlayingPageImage img { - height: 200px; + max-height: 200px; + max-width: 250px; } .nowPlayingPage .positionSliderContainer { @@ -1254,14 +1256,6 @@ a.itemTag:hover { .nowPlayingPage .btnCommand, .nowPlayingPage .btnPlayStateCommand { font-size: 22px; } - - .nowPlayingPageImage img { - height: 200px; - } - - .nowPlayingPage .positionSliderContainer { - width: 300px; - } } @media all and (max-width: 400px) { @@ -1270,10 +1264,6 @@ a.itemTag:hover { font-size: 19px; } - .nowPlayingPageImage img { - height: 200px; - } - .nowPlayingPage .positionSliderContainer { width: 220px; } diff --git a/dashboard-ui/scripts/chromecast.js b/dashboard-ui/scripts/chromecast.js index 882aa32d8f..d99d1ba18f 100644 --- a/dashboard-ui/scripts/chromecast.js +++ b/dashboard-ui/scripts/chromecast.js @@ -1374,44 +1374,6 @@ castPlayer.setReceiverVolume(false, vol / 100); }; - self.sendCommand = function (cmd) { - - // Full list - // https://github.com/MediaBrowser/MediaBrowser/blob/master/MediaBrowser.Model/Session/GeneralCommand.cs#L23 - - switch (cmd.Name) { - - case 'VolumeUp': - self.volumeUp(); - break; - case 'VolumeDown': - self.volumeDown(); - break; - case 'Mute': - self.mute(); - break; - case 'Unmute': - self.unMute(); - break; - case 'ToggleMute': - self.toggleMute(); - break; - case 'SetVolume': - self.setVolume(cmd.Arguments.Volume); - break; - case 'SetAudioStreamIndex': - break; - case 'SetSubtitleStreamIndex': - break; - case 'ToggleFullscreen': - break; - default: - // Not player-related - Dashboard.processGeneralCommand(cmd); - } - - }; - self.getPlayerState = function () { var deferred = $.Deferred(); diff --git a/dashboard-ui/scripts/mediacontroller.js b/dashboard-ui/scripts/mediacontroller.js index 9991fbbfe1..23c6768fef 100644 --- a/dashboard-ui/scripts/mediacontroller.js +++ b/dashboard-ui/scripts/mediacontroller.js @@ -20,16 +20,16 @@ $(player).on('playbackstart.mediacontroller', function (e, state) { - var info = { + var info = { QueueableMediaTypes: state.NowPlayingItem.MediaType, ItemId: state.NowPlayingItem.Id, NowPlayingItem: state.NowPlayingItem }; info = $.extend(info, state.PlayState); - + ApiClient.reportPlaybackStart(info); - + }).on('playbackstop.mediacontroller', function (e, state) { ApiClient.reportPlaybackStopped({ @@ -285,6 +285,53 @@ self.shuffle = function (id) { currentPlayer.shuffle(id); }; + + self.sendCommand = function (cmd, player) { + + player = player || self.getLocalPlayer(); + + // Full list + // https://github.com/MediaBrowser/MediaBrowser/blob/master/MediaBrowser.Model/Session/GeneralCommand.cs#L23 + console.log('MediaController received command: ' + cmd.Name); + switch (cmd.Name) { + + case 'VolumeUp': + player.volumeUp(); + break; + case 'VolumeDown': + player.volumeDown(); + break; + case 'Mute': + player.mute(); + break; + case 'Unmute': + player.unMute(); + break; + case 'ToggleMute': + player.toggleMute(); + break; + case 'SetVolume': + player.setVolume(cmd.Arguments.Volume); + break; + case 'SetAudioStreamIndex': + break; + case 'SetSubtitleStreamIndex': + break; + case 'ToggleFullscreen': + player.toggleFullscreen(); + break; + default: + { + if (player.isLocalPlayer) { + // Not player-related + Dashboard.processGeneralCommand(cmd); + } else { + player.sendCommand(cmd); + } + break; + } + } + }; } window.MediaController = new mediaController(); @@ -343,27 +390,7 @@ localPlayer = MediaController.getLocalPlayer(); - if (cmd.Name === 'Mute') { - localPlayer.mute(); - } - else if (cmd.Name === 'Unmute') { - localPlayer.unMute(); - } - else if (cmd.Name === 'VolumeUp') { - localPlayer.volumeUp(); - } - else if (cmd.Name === 'VolumeDown') { - localPlayer.volumeDown(); - } - else if (cmd.Name === 'ToggleMute') { - localPlayer.toggleMute(); - } - else if (cmd.Name === 'Fullscreen') { - localPlayer.remoteFullscreen(); - } - else if (cmd.Name === 'SetVolume') { - localPlayer.setVolume(parseFloat(cmd.Arguments.Volume)); - } + MediaController.sendCommand(cmd, localPlayer); } } diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js index 9c50994c4b..e6fa437991 100644 --- a/dashboard-ui/scripts/mediaplayer.js +++ b/dashboard-ui/scripts/mediaplayer.js @@ -724,49 +724,6 @@ }); }; - self.sendCommand = function (cmd) { - - // Full list - // https://github.com/MediaBrowser/MediaBrowser/blob/master/MediaBrowser.Model/Session/GeneralCommand.cs#L23 - - switch (cmd.Name) { - - case 'VolumeUp': - self.volumeUp(); - break; - case 'VolumeDown': - self.volumeDown(); - break; - case 'Mute': - self.mute(); - break; - case 'Unmute': - self.unMute(); - break; - case 'ToggleMute': - self.toggleMute(); - break; - case 'SetVolume': - self.setVolume(cmd.Arguments.Volume); - break; - case 'SetAudioStreamIndex': - break; - case 'SetSubtitleStreamIndex': - break; - case 'ToggleFullscreen': - - if (currentItem && currentItem.MediaType == 'Video') { - self.toggleFullscreen(); - } - - break; - default: - // Not player-related - Dashboard.processGeneralCommand(cmd); - } - - }; - self.pause = function () { currentMediaElement.pause(); @@ -795,6 +752,8 @@ if (currentMediaElement) { + console.log('MediaPlayer toggling mute'); + if (currentMediaElement.volume) { self.mute(); } else { @@ -822,6 +781,7 @@ if (currentMediaElement) { + console.log('MediaPlayer setting volume to ' + val); currentMediaElement.volume = val / 100; self.onVolumeChanged(currentMediaElement); diff --git a/dashboard-ui/scripts/nowplayingpage.js b/dashboard-ui/scripts/nowplayingpage.js index 014fd69190..eb8b7c781e 100644 --- a/dashboard-ui/scripts/nowplayingpage.js +++ b/dashboard-ui/scripts/nowplayingpage.js @@ -16,9 +16,10 @@ $('.btnCommand,.btnToggleFullscreen', page).on('click', function () { - currentPlayer.sendCommand({ + MediaController.sendCommand({ Name: this.getAttribute('data-command') - }); + + }, currentPlayer); }); $('.btnStop', page).on('click', function () { @@ -79,9 +80,7 @@ player.endPlayerUpdates(); - onStateChanged.call(player, e, state); - - $('.itemName', page).html(''); + onStateChanged.call(player, e, {}); } function onStateChanged(e, state) { @@ -220,6 +219,10 @@ return; } + setImageUrl(page, url); + } + + function setImageUrl(page, url) { currentImgUrl = url; $('.nowPlayingPageImage', page).html(url ? '' : ''); diff --git a/dashboard-ui/scripts/remotecontrol.js b/dashboard-ui/scripts/remotecontrol.js index 7380197220..f8f11fd95d 100644 --- a/dashboard-ui/scripts/remotecontrol.js +++ b/dashboard-ui/scripts/remotecontrol.js @@ -131,6 +131,18 @@ }); }; + self.volumeUp = function () { + sendCommandByName('VolumeUp'); + }; + + self.volumeDown = function () { + sendCommandByName('VolumeDown'); + }; + + self.toggleFullscreen = function () { + sendCommandByName('ToggleFullscreen'); + }; + self.displayContent = function (options) { sendCommandByName('DisplayContent', { diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 02c781a45e..c33aab681d 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -835,20 +835,33 @@ var Dashboard = { // Full list // https://github.com/MediaBrowser/MediaBrowser/blob/master/MediaBrowser.Model/Session/GeneralCommand.cs#L23 - if (cmd.Name === 'GoHome') { - Dashboard.navigate('index.html'); - } - else if (cmd.Name === 'GoToSettings') { - Dashboard.navigate('dashboard.html'); - } - else if (cmd.Name === 'DisplayContent') { - Dashboard.onBrowseCommand(cmd.Arguments); - } - else if (cmd.Name === 'GoToSearch') { - Search.showSearchPanel($.mobile.activePage); - } - else { - console.log('Unrecognized command: ' + cmd.Name); + switch (cmd.Name) { + + case 'GoHome': + Dashboard.navigate('index.html'); + break; + case 'GoToSettings': + Dashboard.navigate('dashboard.html'); + break; + case 'DisplayContent': + Dashboard.onBrowseCommand(cmd.Arguments); + break; + case 'GoToSearch': + Search.showSearchPanel($.mobile.activePage); + break; + case 'VolumeUp': + case 'VolumeDown': + case 'Mute': + case 'Unmute': + case 'ToggleMute': + case 'SetVolume': + case 'SetAudioStreamIndex': + case 'SetSubtitleStreamIndex': + case 'ToggleFullscreen': + break; + default: + console.log('Unrecognized command: ' + cmd.Name); + break; } }, @@ -1294,7 +1307,6 @@ var Dashboard = { "Unmute", "ToggleMute", "SetVolume", - "ToggleFullscreen", "SetAudioStreamIndex", "SetSubtitleStreamIndex", "DisplayContent",