diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js index b68e5b2c6a..898094a3b6 100644 --- a/dashboard-ui/scripts/mediaplayer.js +++ b/dashboard-ui/scripts/mediaplayer.js @@ -94,7 +94,7 @@ $(this).off('ended.playnext'); - self.queuePlayNext(); + self.nextTrack(); } function startProgressInterval(itemId) { @@ -991,7 +991,7 @@ }); }; - self.queuePlayNext = function () { + self.nextTrack = function () { var newIndex = currentPlaylistIndex + 1; var newItem = self.playlist[newIndex]; @@ -1004,6 +1004,21 @@ }); } }; + + self.previousTrack = function () { + var newIndex = currentPlaylistIndex - 1; + if (newIndex >= 0) { + var newItem = self.playlist[newIndex]; + + if (newItem) { + Dashboard.getCurrentUser().done(function (user) { + + self.playInternal(newItem, 0, user); + currentPlaylistIndex = newIndex; + }); + } + } + }; self.queueItem = function (item) { diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 8043391597..7d8744bea6 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -804,9 +804,10 @@ var Dashboard = { MediaPlayer.seek(msg.Data.SeekPosition); } else if (msg.Data.Command === 'NextTrack') { - MediaPlayer.queuePlayNext(); + MediaPlayer.nextTrack(); } else if (msg.Data.Command === 'PreviousTrack') { + MediaPlayer.previousTrack(); } } },