aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-08-21 22:24:38 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-08-21 22:24:38 -0400
commitca66390e2445c94c769d19d601c88fe2f79f901a (patch)
tree8554f0d47e38699b43ee22d0d39421e03a22581a /MediaBrowser.Controller
parent88fce3670aa6c1015a1a9909c311b0400fb63471 (diff)
3.0.5346.38509
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Playlists/IPlaylistManager.cs3
-rw-r--r--MediaBrowser.Controller/Playlists/Playlist.cs22
2 files changed, 16 insertions, 9 deletions
diff --git a/MediaBrowser.Controller/Playlists/IPlaylistManager.cs b/MediaBrowser.Controller/Playlists/IPlaylistManager.cs
index c67a8a3d5..cbe0b97a4 100644
--- a/MediaBrowser.Controller/Playlists/IPlaylistManager.cs
+++ b/MediaBrowser.Controller/Playlists/IPlaylistManager.cs
@@ -26,8 +26,9 @@ namespace MediaBrowser.Controller.Playlists
/// </summary>
/// <param name="playlistId">The playlist identifier.</param>
/// <param name="itemIds">The item ids.</param>
+ /// <param name="userId">The user identifier.</param>
/// <returns>Task.</returns>
- Task AddToPlaylist(string playlistId, IEnumerable<string> itemIds);
+ Task AddToPlaylist(string playlistId, IEnumerable<string> itemIds, string userId);
/// <summary>
/// Removes from playlist.
diff --git a/MediaBrowser.Controller/Playlists/Playlist.cs b/MediaBrowser.Controller/Playlists/Playlist.cs
index 84fcbb91a..2659a7c13 100644
--- a/MediaBrowser.Controller/Playlists/Playlist.cs
+++ b/MediaBrowser.Controller/Playlists/Playlist.cs
@@ -49,7 +49,7 @@ namespace MediaBrowser.Controller.Playlists
}
return inputItems.SelectMany(i => GetPlaylistItems(i, user))
- .Where(m => string.Equals(m.MediaType, playlistMediaType, StringComparison.OrdinalIgnoreCase));
+ .Where(m => string.Equals(m.MediaType, playlistMediaType, StringComparison.OrdinalIgnoreCase));
}
private static IEnumerable<BaseItem> GetPlaylistItems(BaseItem i, User user)
@@ -57,25 +57,31 @@ namespace MediaBrowser.Controller.Playlists
var musicGenre = i as MusicGenre;
if (musicGenre != null)
{
- var songs = user.RootFolder
- .GetRecursiveChildren(user)
+ var items = user == null
+ ? LibraryManager.RootFolder.GetRecursiveChildren()
+ : user.RootFolder.GetRecursiveChildren(user, true);
+
+ var songs = items
.OfType<Audio>()
.Where(a => a.Genres.Contains(musicGenre.Name, StringComparer.OrdinalIgnoreCase));
- return LibraryManager.Sort(songs, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending);
+ return LibraryManager.Sort(songs, user, new[] { ItemSortBy.AlbumArtist, ItemSortBy.Album, ItemSortBy.SortName }, SortOrder.Ascending);
}
var musicArtist = i as MusicArtist;
if (musicArtist != null)
{
- var songs = user.RootFolder
- .GetRecursiveChildren(user)
+ var items = user == null
+ ? LibraryManager.RootFolder.GetRecursiveChildren()
+ : user.RootFolder.GetRecursiveChildren(user, true);
+
+ var songs = items
.OfType<Audio>()
.Where(a => a.HasArtist(musicArtist.Name));
- return LibraryManager.Sort(songs, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending);
+ return LibraryManager.Sort(songs, user, new[] { ItemSortBy.AlbumArtist, ItemSortBy.Album, ItemSortBy.SortName }, SortOrder.Ascending);
}
-
+
var folder = i as Folder;
if (folder != null)