diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-03-18 21:35:40 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-03-18 21:35:40 -0400 |
| commit | fbfcfdcf077ccae98bf4a86d52b17a14d9c25070 (patch) | |
| tree | e32394253e89e65946eac6b73d89a3e4cda34c22 /MediaBrowser.Controller | |
| parent | 4d1d2bbaa15e89155bf5bf289ee190db6f155bca (diff) | |
#712 - group multiple versions
Diffstat (limited to 'MediaBrowser.Controller')
5 files changed, 21 insertions, 7 deletions
diff --git a/MediaBrowser.Controller/Channels/ChannelAudioItem.cs b/MediaBrowser.Controller/Channels/ChannelAudioItem.cs index 269a95456..6f3398f52 100644 --- a/MediaBrowser.Controller/Channels/ChannelAudioItem.cs +++ b/MediaBrowser.Controller/Channels/ChannelAudioItem.cs @@ -2,7 +2,7 @@ namespace MediaBrowser.Controller.Channels { - public class ChannelAudioItem : Audio, IChannelItem + public class ChannelAudioItem : Audio, IChannelMediaItem { public string ExternalId { get; set; } diff --git a/MediaBrowser.Controller/Channels/ChannelCategoryItem.cs b/MediaBrowser.Controller/Channels/ChannelCategoryItem.cs index 11e56ee07..61b38c2b1 100644 --- a/MediaBrowser.Controller/Channels/ChannelCategoryItem.cs +++ b/MediaBrowser.Controller/Channels/ChannelCategoryItem.cs @@ -2,7 +2,12 @@ namespace MediaBrowser.Controller.Channels { - public class ChannelCategoryItem : Folder + public class ChannelCategoryItem : Folder, IChannelItem { + public string ExternalId { get; set; } + + public ChannelItemType ChannelItemType { get; set; } + + public string OriginalImageUrl { get; set; } } } diff --git a/MediaBrowser.Controller/Channels/ChannelVideoItem.cs b/MediaBrowser.Controller/Channels/ChannelVideoItem.cs index baa4c2a17..83b85794d 100644 --- a/MediaBrowser.Controller/Channels/ChannelVideoItem.cs +++ b/MediaBrowser.Controller/Channels/ChannelVideoItem.cs @@ -2,7 +2,7 @@ namespace MediaBrowser.Controller.Channels { - public class ChannelVideoItem : Video, IChannelItem + public class ChannelVideoItem : Video, IChannelMediaItem { public string ExternalId { get; set; } diff --git a/MediaBrowser.Controller/Channels/IChannelItem.cs b/MediaBrowser.Controller/Channels/IChannelItem.cs index ffef532a9..a05ef8e29 100644 --- a/MediaBrowser.Controller/Channels/IChannelItem.cs +++ b/MediaBrowser.Controller/Channels/IChannelItem.cs @@ -8,10 +8,13 @@ namespace MediaBrowser.Controller.Channels ChannelItemType ChannelItemType { get; set; } + string OriginalImageUrl { get; set; } + } + + public interface IChannelMediaItem : IChannelItem + { bool IsInfiniteStream { get; set; } ChannelMediaContentType ContentType { get; set; } - - string OriginalImageUrl { get; set; } } } diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs index 18db21f38..25f47aead 100644 --- a/MediaBrowser.Controller/Entities/Video.cs +++ b/MediaBrowser.Controller/Entities/Video.cs @@ -51,19 +51,25 @@ namespace MediaBrowser.Controller.Entities /// Gets the linked children. /// </summary> /// <returns>IEnumerable{BaseItem}.</returns> - public IEnumerable<BaseItem> GetAlternateVersions() + public IEnumerable<Video> GetAlternateVersions() { var filesWithinSameDirectory = LocalAlternateVersionIds .Select(i => LibraryManager.GetItemById(i)) .Where(i => i != null) .OfType<Video>(); + return filesWithinSameDirectory.Concat(GetLinkedAlternateVersions()) + .OrderBy(i => i.SortName); + } + + public IEnumerable<Video> GetLinkedAlternateVersions() + { var linkedVersions = LinkedAlternateVersions .Select(GetLinkedChild) .Where(i => i != null) .OfType<Video>(); - return filesWithinSameDirectory.Concat(linkedVersions) + return linkedVersions .OrderBy(i => i.SortName); } |
