From b48d15296c1708545f358dc0ccbc48fea9b2cf00 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 18 Aug 2014 21:42:53 -0400 Subject: support custom ordering of user views --- MediaBrowser.Controller/Playlists/Playlist.cs | 59 +++++++++++++++------- .../Providers/ItemIdentities.cs | 5 +- 2 files changed, 42 insertions(+), 22 deletions(-) (limited to 'MediaBrowser.Controller') diff --git a/MediaBrowser.Controller/Playlists/Playlist.cs b/MediaBrowser.Controller/Playlists/Playlist.cs index 05a894223..84fcbb91a 100644 --- a/MediaBrowser.Controller/Playlists/Playlist.cs +++ b/MediaBrowser.Controller/Playlists/Playlist.cs @@ -1,4 +1,5 @@ using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Querying; using System; @@ -47,32 +48,54 @@ namespace MediaBrowser.Controller.Playlists inputItems = inputItems.Where(i => i.IsVisible(user)); } - inputItems = inputItems.SelectMany(i => + return inputItems.SelectMany(i => GetPlaylistItems(i, user)) + .Where(m => string.Equals(m.MediaType, playlistMediaType, StringComparison.OrdinalIgnoreCase)); + } + + private static IEnumerable GetPlaylistItems(BaseItem i, User user) + { + var musicGenre = i as MusicGenre; + if (musicGenre != null) { - var folder = i as Folder; + var songs = user.RootFolder + .GetRecursiveChildren(user) + .OfType