@ -595,6 +595,8 @@ namespace MediaBrowser.Api
: ( Folder ) _libraryManager . RootFolder )
: _dtoService . GetItemByDtoId ( request . Id , request . UserId ) ;
var originalItem = item ;
while ( item . ThemeSongIds . Count = = 0 & & request . InheritFromParent & & item . Parent ! = null )
{
item = item . Parent ;
@ -605,7 +607,21 @@ namespace MediaBrowser.Api
. Select ( i = > ( ItemFields ) Enum . Parse ( typeof ( ItemFields ) , i , true ) )
. ToList ( ) ;
var dtos = item . ThemeSongIds . Select ( _libraryManager . GetItemById )
var themeSongIds = item . ThemeSongIds ;
if ( themeSongIds . Count = = 0 & & request . InheritFromParent )
{
var album = originalItem as MusicAlbum ;
if ( album ! = null )
{
themeSongIds = album . SoundtrackIds
. SelectMany ( i = > _libraryManager . GetItemById ( i ) . ThemeSongIds )
. ToList ( ) ;
}
}
var dtos = themeSongIds . Select ( _libraryManager . GetItemById )
. OrderBy ( i = > i . SortName )
. Select ( i = > _dtoService . GetBaseItemDto ( i , fields , user , item ) ) ;
@ -641,6 +657,8 @@ namespace MediaBrowser.Api
: ( Folder ) _libraryManager . RootFolder )
: _dtoService . GetItemByDtoId ( request . Id , request . UserId ) ;
var originalItem = item ;
while ( item . ThemeVideoIds . Count = = 0 & & request . InheritFromParent & & item . Parent ! = null )
{
item = item . Parent ;
@ -651,7 +669,21 @@ namespace MediaBrowser.Api
. Select ( i = > ( ItemFields ) Enum . Parse ( typeof ( ItemFields ) , i , true ) )
. ToList ( ) ;
var dtos = item . ThemeVideoIds . Select ( _libraryManager . GetItemById )
var themeVideoIds = item . ThemeVideoIds ;
if ( themeVideoIds . Count = = 0 & & request . InheritFromParent )
{
var album = originalItem as MusicAlbum ;
if ( album ! = null )
{
themeVideoIds = album . SoundtrackIds
. SelectMany ( i = > _libraryManager . GetItemById ( i ) . ThemeVideoIds )
. ToList ( ) ;
}
}
var dtos = themeVideoIds . Select ( _libraryManager . GetItemById )
. OrderBy ( i = > i . SortName )
. Select ( i = > _dtoService . GetBaseItemDto ( i , fields , user , item ) ) ;