diff options
Diffstat (limited to 'MediaBrowser.Api/InstantMixService.cs')
| -rw-r--r-- | MediaBrowser.Api/InstantMixService.cs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/MediaBrowser.Api/InstantMixService.cs b/MediaBrowser.Api/InstantMixService.cs index d8a8d7db5..dbdc5cd93 100644 --- a/MediaBrowser.Api/InstantMixService.cs +++ b/MediaBrowser.Api/InstantMixService.cs @@ -66,9 +66,16 @@ namespace MediaBrowser.Api public object Get(GetInstantMixFromAlbum request) { - var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager); + var album = (MusicAlbum)DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager); - var result = GetInstantMixResult(request, item.Genres).Result; + var genres = album + .RecursiveChildren + .OfType<Audio>() + .SelectMany(i => i.Genres) + .Concat(album.Genres) + .Distinct(StringComparer.OrdinalIgnoreCase); + + var result = GetInstantMixResult(request, genres).Result; return ToOptimizedResult(result); } @@ -91,6 +98,7 @@ namespace MediaBrowser.Api .OfType<Audio>() .Where(i => i.HasArtist(artist.Name)) .SelectMany(i => i.Genres) + .Concat(artist.Genres) .Distinct(StringComparer.OrdinalIgnoreCase); var result = GetInstantMixResult(request, genres).Result; |
