diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 34192fc99..2c5a14e84 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -340,12 +340,15 @@ } else if (itemType == "MusicAlbum") { html += '
  • Instant Mix
  • '; + html += '
  • Shuffle
  • '; } else if (itemType == "Artist") { html += '
  • Instant Mix
  • '; + html += '
  • Shuffle
  • '; } else if (itemType == "MusicGenre") { html += '
  • Instant Mix
  • '; + html += '
  • Shuffle
  • '; } if (resumePositionTicks) { diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js index 35ac8bd35..333c905a3 100644 --- a/dashboard-ui/scripts/mediaplayer.js +++ b/dashboard-ui/scripts/mediaplayer.js @@ -1044,6 +1044,56 @@ }; + self.shuffleArtist = function (artist) { + + self.getItemsForPlayback({ + + Artists: artist, + Recursive: true, + SortBy: "Random", + IncludeItemTypes: "Audio" + + }).done(function (result) { + + self.play(result.Items); + + }); + + }; + + self.shuffleMusicGenre = function (genre) { + + self.getItemsForPlayback({ + + Genres: genre, + Recursive: true, + SortBy: "Random", + IncludeItemTypes: "Audio" + + }).done(function (result) { + + self.play(result.Items); + + }); + + }; + + self.shuffleFolder = function (id) { + + self.getItemsForPlayback({ + + ParentId: id, + Recursive: true, + SortBy: "Random" + + }).done(function (result) { + + self.play(result.Items); + + }); + + }; + self.toggleFullscreen = function () { if (isFullScreen()) { if (document.cancelFullScreen) { document.cancelFullScreen(); }