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(); }