From daaae69df575f1d7692ba29d6f5ddd4c59516f82 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 9 Oct 2016 03:18:43 -0400 Subject: add playback of in-progress recordings --- .../Channels/IChannelManager.cs | 10 ------ .../Entities/AggregateFolder.cs | 6 ++++ MediaBrowser.Controller/Entities/Audio/Audio.cs | 2 +- MediaBrowser.Controller/Entities/BaseItem.cs | 28 ++++++++++----- MediaBrowser.Controller/Entities/Folder.cs | 41 ++++++++++------------ MediaBrowser.Controller/Entities/Game.cs | 11 +++--- MediaBrowser.Controller/Entities/IHasThemeMedia.cs | 23 ------------ .../Entities/InternalItemsQuery.cs | 1 + MediaBrowser.Controller/Entities/Movies/Movie.cs | 7 +--- MediaBrowser.Controller/Entities/TV/Season.cs | 2 -- MediaBrowser.Controller/Entities/UserView.cs | 1 - .../Entities/UserViewBuilder.cs | 16 ++------- MediaBrowser.Controller/Entities/Video.cs | 8 ++++- MediaBrowser.Controller/LiveTv/ILiveTvManager.cs | 10 ++---- MediaBrowser.Controller/LiveTv/ILiveTvRecording.cs | 1 + .../LiveTv/LiveTvAudioRecording.cs | 3 +- .../LiveTv/LiveTvVideoRecording.cs | 3 +- .../MediaBrowser.Controller.csproj | 1 - .../Providers/BaseItemXmlParser.cs | 4 +-- 19 files changed, 73 insertions(+), 105 deletions(-) delete mode 100644 MediaBrowser.Controller/Entities/IHasThemeMedia.cs (limited to 'MediaBrowser.Controller') diff --git a/MediaBrowser.Controller/Channels/IChannelManager.cs b/MediaBrowser.Controller/Channels/IChannelManager.cs index 3c46247a72..9177e2d813 100644 --- a/MediaBrowser.Controller/Channels/IChannelManager.cs +++ b/MediaBrowser.Controller/Channels/IChannelManager.cs @@ -134,15 +134,5 @@ namespace MediaBrowser.Controller.Channels /// The cancellation token. /// BaseItemDto. Task GetChannelFolder(string userId, CancellationToken cancellationToken); - - /// - /// Downloads the channel item. - /// - /// The item. - /// The destination path. - /// The progress. - /// The cancellation token. - /// Task. - Task DownloadChannelItem(BaseItem item, string destinationPath, IProgress progress, CancellationToken cancellationToken); } } diff --git a/MediaBrowser.Controller/Entities/AggregateFolder.cs b/MediaBrowser.Controller/Entities/AggregateFolder.cs index efc4502481..9709813dcd 100644 --- a/MediaBrowser.Controller/Entities/AggregateFolder.cs +++ b/MediaBrowser.Controller/Entities/AggregateFolder.cs @@ -34,6 +34,12 @@ namespace MediaBrowser.Controller.Entities } } + [IgnoreDataMember] + public override bool IsPhysicalRoot + { + get { return true; } + } + public override bool CanDelete() { return false; diff --git a/MediaBrowser.Controller/Entities/Audio/Audio.cs b/MediaBrowser.Controller/Entities/Audio/Audio.cs index 00657370e1..891fb7d522 100644 --- a/MediaBrowser.Controller/Entities/Audio/Audio.cs +++ b/MediaBrowser.Controller/Entities/Audio/Audio.cs @@ -62,7 +62,7 @@ namespace MediaBrowser.Controller.Entities.Audio [IgnoreDataMember] public override bool SupportsAddingToPlaylist { - get { return LocationType == LocationType.FileSystem && RunTimeTicks.HasValue; } + get { return true; } } [IgnoreDataMember] diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index eb84765fba..cc4a8fdb9c 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -37,6 +37,8 @@ namespace MediaBrowser.Controller.Entities { protected BaseItem() { + ThemeSongIds = new List(); + ThemeVideoIds = new List(); Keywords = new List(); Tags = new List(); Genres = new List(); @@ -45,6 +47,7 @@ namespace MediaBrowser.Controller.Entities LockedFields = new List(); ImageInfos = new List(); InheritedTags = new List(); + ProductionLocations = new List(); } public static readonly char[] SlugReplaceChars = { '?', '/', '&' }; @@ -65,6 +68,9 @@ namespace MediaBrowser.Controller.Entities public static string ThemeSongFilename = "theme"; public static string ThemeVideosFolderName = "backdrops"; + public List ThemeSongIds { get; set; } + public List ThemeVideoIds { get; set; } + [IgnoreDataMember] public string PreferredMetadataCountryCode { get; set; } [IgnoreDataMember] @@ -876,6 +882,7 @@ namespace MediaBrowser.Controller.Entities public List Tags { get; set; } public List Keywords { get; set; } + public List ProductionLocations { get; set; } /// /// Gets or sets the home page URL. @@ -991,7 +998,7 @@ namespace MediaBrowser.Controller.Entities /// Loads the theme songs. /// /// List{Audio.Audio}. - private IEnumerable LoadThemeSongs(List fileSystemChildren, IDirectoryService directoryService) + private static IEnumerable LoadThemeSongs(List fileSystemChildren, IDirectoryService directoryService) { var files = fileSystemChildren.Where(i => i.IsDirectory) .Where(i => string.Equals(i.Name, ThemeSongsFolderName, StringComparison.OrdinalIgnoreCase)) @@ -1027,7 +1034,7 @@ namespace MediaBrowser.Controller.Entities /// Loads the video backdrops. /// /// List{Video}. - private IEnumerable