diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index a848416b52..4fcc333b5c 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -1862,6 +1862,15 @@ class PlaybackManager { SortBy: options.shuffle ? 'Random' : 'SortName', MediaTypes: 'Audio' }, queryOptions)); + case 'Genre': + return getItemsForPlayback(serverId, mergePlaybackQueries({ + GenreIds: firstItem.Id, + ParentId: firstItem.ParentId, + Filters: 'IsNotFolder', + Recursive: true, + SortBy: options.shuffle ? 'Random' : 'SortName', + MediaTypes: 'Video' + }, queryOptions)); case 'Series': case 'Season': return getSeriesOrSeasonPlaybackPromise(firstItem, options, items); diff --git a/src/controllers/list.js b/src/controllers/list.js index 54afc87ebe..41613932c8 100644 --- a/src/controllers/list.js +++ b/src/controllers/list.js @@ -851,6 +851,10 @@ class ItemsView { setTitle(null); getItem(params).then(function (item) { setTitle(item); + if (item.Type == 'Genre') { + item.ParentId = params.parentId; + } + self.currentItem = item; const refresh = !isRestored; self.itemsContainer.resume({