aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/Library/LibraryService.cs50
-rw-r--r--MediaBrowser.Api/UserLibrary/ItemsService.cs12
2 files changed, 7 insertions, 55 deletions
diff --git a/MediaBrowser.Api/Library/LibraryService.cs b/MediaBrowser.Api/Library/LibraryService.cs
index 4d9afa260e..f89a703406 100644
--- a/MediaBrowser.Api/Library/LibraryService.cs
+++ b/MediaBrowser.Api/Library/LibraryService.cs
@@ -591,7 +591,7 @@ namespace MediaBrowser.Api.Library
ThemeSongsResult = themeSongs,
ThemeVideosResult = themeVideos,
- SoundtrackSongsResult = GetSoundtrackSongs(request, request.Id, request.UserId, request.InheritFromParent)
+ SoundtrackSongsResult = new ThemeMediaResult()
});
}
@@ -789,53 +789,5 @@ namespace MediaBrowser.Api.Library
return ToOptimizedSerializedResultUsingCache(lookup);
}
-
- public ThemeMediaResult GetSoundtrackSongs(GetThemeMedia request, string id, Guid? userId, bool inheritFromParent)
- {
- var user = userId.HasValue ? _userManager.GetUserById(userId.Value) : null;
-
- var item = string.IsNullOrEmpty(id)
- ? (userId.HasValue
- ? user.RootFolder
- : _libraryManager.RootFolder)
- : _libraryManager.GetItemById(id);
-
- var dtoOptions = GetDtoOptions(request);
-
- var dtos = GetSoundtrackSongIds(item, inheritFromParent)
- .Select(_libraryManager.GetItemById)
- .OfType<MusicAlbum>()
- .SelectMany(i => i.GetRecursiveChildren(a => a is Audio))
- .OrderBy(i => i.SortName)
- .Select(i => _dtoService.GetBaseItemDto(i, dtoOptions, user, item));
-
- var items = dtos.ToArray();
-
- return new ThemeMediaResult
- {
- Items = items,
- TotalRecordCount = items.Length,
- OwnerId = _dtoService.GetDtoId(item)
- };
- }
-
- private IEnumerable<Guid> GetSoundtrackSongIds(BaseItem item, bool inherit)
- {
- var hasSoundtracks = item as IHasSoundtracks;
-
- if (hasSoundtracks != null)
- {
- return hasSoundtracks.SoundtrackIds;
- }
-
- if (!inherit)
- {
- return new List<Guid>();
- }
-
- hasSoundtracks = item.Parents.OfType<IHasSoundtracks>().FirstOrDefault();
-
- return hasSoundtracks != null ? hasSoundtracks.SoundtrackIds : new List<Guid>();
- }
}
}
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs
index a734581f58..51f88d5743 100644
--- a/MediaBrowser.Api/UserLibrary/ItemsService.cs
+++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs
@@ -58,7 +58,7 @@ namespace MediaBrowser.Api.UserLibrary
[ApiMember(Name = "StudioIds", Description = "Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)]
public string StudioIds { get; set; }
-
+
/// <summary>
/// Gets or sets the studios.
/// </summary>
@@ -68,7 +68,7 @@ namespace MediaBrowser.Api.UserLibrary
[ApiMember(Name = "ArtistIds", Description = "Optional. If specified, results will be filtered based on artist. This allows multiple, pipe delimeted.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)]
public string ArtistIds { get; set; }
-
+
[ApiMember(Name = "Albums", Description = "Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)]
public string Albums { get; set; }
@@ -622,7 +622,7 @@ namespace MediaBrowser.Api.UserLibrary
private bool ApplyAdditionalFilters(GetItems request, BaseItem i, User user, bool isPreFiltered, ILibraryManager libraryManager)
{
var video = i as Video;
-
+
if (!isPreFiltered)
{
var mediaTypes = request.GetMediaTypes();
@@ -979,8 +979,8 @@ namespace MediaBrowser.Api.UserLibrary
if (years.Length > 0 && !(i.ProductionYear.HasValue && years.Contains(i.ProductionYear.Value)))
{
return false;
- }
-
+ }
+
// Apply person filter
var personIds = request.GetPersonIds();
if (personIds.Length > 0)
@@ -1057,7 +1057,7 @@ namespace MediaBrowser.Api.UserLibrary
// Artists
if (!string.IsNullOrEmpty(request.ArtistIds))
{
- var artistIds = request.ArtistIds.Split('|');
+ var artistIds = request.ArtistIds.Split(new[] { '|', ',' });
var audio = i as IHasArtist;