diff options
Diffstat (limited to 'MediaBrowser.Api/LibraryService.cs')
| -rw-r--r-- | MediaBrowser.Api/LibraryService.cs | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/MediaBrowser.Api/LibraryService.cs b/MediaBrowser.Api/LibraryService.cs index 2e9ea6ceb..582eb6f49 100644 --- a/MediaBrowser.Api/LibraryService.cs +++ b/MediaBrowser.Api/LibraryService.cs @@ -615,9 +615,15 @@ namespace MediaBrowser.Api if (album != null) { - themeSongIds = album.SoundtrackIds - .SelectMany(i => _libraryManager.GetItemById(i).ThemeSongIds) - .ToList(); + var linkedItemWithThemes = album.SoundtrackIds + .Select(i => _libraryManager.GetItemById(i)) + .FirstOrDefault(i => i.ThemeSongIds.Count > 0); + + if (linkedItemWithThemes != null) + { + themeSongIds = linkedItemWithThemes.ThemeSongIds; + item = linkedItemWithThemes; + } } } @@ -677,9 +683,15 @@ namespace MediaBrowser.Api if (album != null) { - themeVideoIds = album.SoundtrackIds - .SelectMany(i => _libraryManager.GetItemById(i).ThemeVideoIds) - .ToList(); + var linkedItemWithThemes = album.SoundtrackIds + .Select(i => _libraryManager.GetItemById(i)) + .FirstOrDefault(i => i.ThemeVideoIds.Count > 0); + + if (linkedItemWithThemes != null) + { + themeVideoIds = linkedItemWithThemes.ThemeVideoIds; + item = linkedItemWithThemes; + } } } |
