aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-03-18 21:35:40 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-03-18 21:35:40 -0400
commitfbfcfdcf077ccae98bf4a86d52b17a14d9c25070 (patch)
treee32394253e89e65946eac6b73d89a3e4cda34c22 /MediaBrowser.Controller
parent4d1d2bbaa15e89155bf5bf289ee190db6f155bca (diff)
#712 - group multiple versions
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Channels/ChannelAudioItem.cs2
-rw-r--r--MediaBrowser.Controller/Channels/ChannelCategoryItem.cs7
-rw-r--r--MediaBrowser.Controller/Channels/ChannelVideoItem.cs2
-rw-r--r--MediaBrowser.Controller/Channels/IChannelItem.cs7
-rw-r--r--MediaBrowser.Controller/Entities/Video.cs10
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);
}