From d0f1a836216e87d6e03c7c3ebdbd78c0e7ddcf76 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 8 Feb 2014 15:02:35 -0500 Subject: added more image providers --- MediaBrowser.Controller/Entities/Audio/Audio.cs | 11 ++++++++++- MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs | 11 ++++++++++- MediaBrowser.Controller/Entities/BaseItem.cs | 2 +- MediaBrowser.Controller/Entities/Book.cs | 2 +- MediaBrowser.Controller/Entities/Folder.cs | 4 ++-- MediaBrowser.Controller/Entities/IHasImages.cs | 6 ++++++ MediaBrowser.Controller/Entities/IHasMetadata.cs | 17 +++++++++++------ MediaBrowser.Controller/Entities/IHasSeries.cs | 12 ++++++++++++ MediaBrowser.Controller/Entities/Movies/Movie.cs | 9 +-------- MediaBrowser.Controller/Entities/TV/Episode.cs | 12 +++++++++++- MediaBrowser.Controller/Entities/TV/Season.cs | 19 +++++++++++++------ MediaBrowser.Controller/Entities/Trailer.cs | 9 +-------- MediaBrowser.Controller/Entities/Video.cs | 9 ++++++++- 13 files changed, 87 insertions(+), 36 deletions(-) create mode 100644 MediaBrowser.Controller/Entities/IHasSeries.cs (limited to 'MediaBrowser.Controller/Entities') diff --git a/MediaBrowser.Controller/Entities/Audio/Audio.cs b/MediaBrowser.Controller/Entities/Audio/Audio.cs index 139d8c6fb5..836874db98 100644 --- a/MediaBrowser.Controller/Entities/Audio/Audio.cs +++ b/MediaBrowser.Controller/Entities/Audio/Audio.cs @@ -10,7 +10,7 @@ namespace MediaBrowser.Controller.Entities.Audio /// /// Class Audio /// - public class Audio : BaseItem, IHasMediaStreams, IHasAlbumArtist, IHasArtist, IHasMusicGenres, IHasLookupInfo + public class Audio : BaseItem, IHasMediaStreams, IHasAlbumArtist, IHasArtist, IHasMusicGenres, IHasLookupInfo, IHasSeries { public Audio() { @@ -51,6 +51,15 @@ namespace MediaBrowser.Controller.Entities.Audio } } + [IgnoreDataMember] + public string SeriesName + { + get + { + return Album; + } + } + /// /// Gets or sets the artist. /// diff --git a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs index 8b8c1a6ff4..51c8a87273 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs @@ -11,7 +11,7 @@ namespace MediaBrowser.Controller.Entities.Audio /// /// Class MusicAlbum /// - public class MusicAlbum : Folder, IHasAlbumArtist, IHasArtist, IHasMusicGenres, IHasTags, IHasLookupInfo + public class MusicAlbum : Folder, IHasAlbumArtist, IHasArtist, IHasMusicGenres, IHasTags, IHasLookupInfo, IHasSeries { public List SoundtrackIds { get; set; } @@ -50,6 +50,15 @@ namespace MediaBrowser.Controller.Entities.Audio } } + [IgnoreDataMember] + public string SeriesName + { + get + { + return AlbumArtist; + } + } + /// /// Override this to true if class should be grouped under a container in indicies /// The container class should be defined via IndexContainer diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 01e8741af2..b3b6361a71 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -256,7 +256,7 @@ namespace MediaBrowser.Controller.Entities private string _sortName; /// - /// Gets or sets the name of the sort. + /// Gets the name of the sort. /// /// The name of the sort. [IgnoreDataMember] diff --git a/MediaBrowser.Controller/Entities/Book.cs b/MediaBrowser.Controller/Entities/Book.cs index 211067f9d2..85cf60c522 100644 --- a/MediaBrowser.Controller/Entities/Book.cs +++ b/MediaBrowser.Controller/Entities/Book.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; namespace MediaBrowser.Controller.Entities { - public class Book : BaseItem, IHasTags, IHasPreferredMetadataLanguage, IHasLookupInfo + public class Book : BaseItem, IHasTags, IHasPreferredMetadataLanguage, IHasLookupInfo, IHasSeries { public override string MediaType { diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 101244d457..25197be675 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -518,7 +518,7 @@ namespace MediaBrowser.Controller.Entities foreach (var child in children) { - if (tasks.Count > 3) + if (tasks.Count > 5) { await Task.WhenAll(tasks).ConfigureAwait(false); tasks.Clear(); @@ -549,7 +549,7 @@ namespace MediaBrowser.Controller.Entities } else { - tasks.Add(RefreshChildMetadata(child, refreshOptions, recursive, innerProgress, cancellationToken)); + tasks.Add(RefreshChildMetadata(child, refreshOptions, false, innerProgress, cancellationToken)); } } diff --git a/MediaBrowser.Controller/Entities/IHasImages.cs b/MediaBrowser.Controller/Entities/IHasImages.cs index d260950bd2..62ef0a85a3 100644 --- a/MediaBrowser.Controller/Entities/IHasImages.cs +++ b/MediaBrowser.Controller/Entities/IHasImages.cs @@ -129,6 +129,12 @@ namespace MediaBrowser.Controller.Entities /// The images. /// true if XXXX, false otherwise. bool AddImages(ImageType imageType, IEnumerable images); + + /// + /// Determines whether [is save local metadata enabled]. + /// + /// true if [is save local metadata enabled]; otherwise, false. + bool IsSaveLocalMetadataEnabled(); } public static class HasImagesExtensions diff --git a/MediaBrowser.Controller/Entities/IHasMetadata.cs b/MediaBrowser.Controller/Entities/IHasMetadata.cs index 6466e18ce6..1a1956c56e 100644 --- a/MediaBrowser.Controller/Entities/IHasMetadata.cs +++ b/MediaBrowser.Controller/Entities/IHasMetadata.cs @@ -1,5 +1,8 @@ using System; using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using MediaBrowser.Controller.Library; using MediaBrowser.Model.Entities; namespace MediaBrowser.Controller.Entities @@ -33,16 +36,18 @@ namespace MediaBrowser.Controller.Entities /// The date last saved. DateTime DateLastSaved { get; set; } - /// - /// Determines whether [is save local metadata enabled]. - /// - /// true if [is save local metadata enabled]; otherwise, false. - bool IsSaveLocalMetadataEnabled(); - /// /// Gets a value indicating whether this instance is in mixed folder. /// /// true if this instance is in mixed folder; otherwise, false. bool IsInMixedFolder { get; } + + /// + /// Updates to repository. + /// + /// The update reason. + /// The cancellation token. + /// Task. + Task UpdateToRepository(ItemUpdateType updateReason, CancellationToken cancellationToken); } } diff --git a/MediaBrowser.Controller/Entities/IHasSeries.cs b/MediaBrowser.Controller/Entities/IHasSeries.cs new file mode 100644 index 0000000000..64c33a3766 --- /dev/null +++ b/MediaBrowser.Controller/Entities/IHasSeries.cs @@ -0,0 +1,12 @@ + +namespace MediaBrowser.Controller.Entities +{ + public interface IHasSeries + { + /// + /// Gets the name of the series. + /// + /// The name of the series. + string SeriesName { get; } + } +} diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs index 4d01c6a961..7214f0f6f3 100644 --- a/MediaBrowser.Controller/Entities/Movies/Movie.cs +++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs @@ -13,7 +13,7 @@ namespace MediaBrowser.Controller.Entities.Movies /// /// Class Movie /// - public class Movie : Video, IHasCriticRating, IHasSoundtracks, IHasBudget, IHasKeywords, IHasTrailers, IHasThemeMedia, IHasTaglines, IHasTags, IHasPreferredMetadataLanguage, IHasAwards, IHasMetascore, IHasLookupInfo + public class Movie : Video, IHasCriticRating, IHasSoundtracks, IHasBudget, IHasKeywords, IHasTrailers, IHasThemeMedia, IHasTaglines, IHasPreferredMetadataLanguage, IHasAwards, IHasMetascore, IHasLookupInfo { public List SpecialFeatureIds { get; set; } @@ -39,7 +39,6 @@ namespace MediaBrowser.Controller.Entities.Movies ThemeSongIds = new List(); ThemeVideoIds = new List(); Taglines = new List(); - Tags = new List(); Keywords = new List(); } @@ -52,12 +51,6 @@ namespace MediaBrowser.Controller.Entities.Movies public List RemoteTrailers { get; set; } - /// - /// Gets or sets the tags. - /// - /// The tags. - public List Tags { get; set; } - /// /// Gets or sets the taglines. /// diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs index 515f802e99..5413aa8852 100644 --- a/MediaBrowser.Controller/Entities/TV/Episode.cs +++ b/MediaBrowser.Controller/Entities/TV/Episode.cs @@ -10,7 +10,7 @@ namespace MediaBrowser.Controller.Entities.TV /// /// Class Episode /// - public class Episode : Video, IHasLookupInfo + public class Episode : Video, IHasLookupInfo, IHasSeries { /// /// Gets the season in which it aired. @@ -138,6 +138,16 @@ namespace MediaBrowser.Controller.Entities.TV get { return FindParent(); } } + [IgnoreDataMember] + public string SeriesName + { + get + { + var series = Series; + return series == null ? null : series.Name; + } + } + /// /// Creates the name of the sort. /// diff --git a/MediaBrowser.Controller/Entities/TV/Season.cs b/MediaBrowser.Controller/Entities/TV/Season.cs index bc7e75b726..d266f1fded 100644 --- a/MediaBrowser.Controller/Entities/TV/Season.cs +++ b/MediaBrowser.Controller/Entities/TV/Season.cs @@ -1,11 +1,8 @@ -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Localization; +using MediaBrowser.Controller.Localization; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Querying; -using System; using System.Collections.Generic; -using System.IO; using System.Linq; using System.Runtime.Serialization; @@ -14,7 +11,7 @@ namespace MediaBrowser.Controller.Entities.TV /// /// Class Season /// - public class Season : Folder + public class Season : Folder, IHasSeries { /// @@ -218,7 +215,7 @@ namespace MediaBrowser.Controller.Entities.TV { episodes = episodes.Where(i => !i.IsVirtualUnaired); } - + return LibraryManager .Sort(episodes, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending) .Cast(); @@ -234,5 +231,15 @@ namespace MediaBrowser.Controller.Entities.TV // Don't block. Let either the entire series rating or episode rating determine it return false; } + + [IgnoreDataMember] + public string SeriesName + { + get + { + var series = Series; + return series == null ? null : series.Name; + } + } } } diff --git a/MediaBrowser.Controller/Entities/Trailer.cs b/MediaBrowser.Controller/Entities/Trailer.cs index 9b3104037c..d655c275d8 100644 --- a/MediaBrowser.Controller/Entities/Trailer.cs +++ b/MediaBrowser.Controller/Entities/Trailer.cs @@ -10,7 +10,7 @@ namespace MediaBrowser.Controller.Entities /// /// Class Trailer /// - public class Trailer : Video, IHasCriticRating, IHasSoundtracks, IHasBudget, IHasTrailers, IHasKeywords, IHasTaglines, IHasTags, IHasPreferredMetadataLanguage, IHasMetascore, IHasLookupInfo + public class Trailer : Video, IHasCriticRating, IHasSoundtracks, IHasBudget, IHasTrailers, IHasKeywords, IHasTaglines, IHasPreferredMetadataLanguage, IHasMetascore, IHasLookupInfo { public List SoundtrackIds { get; set; } @@ -28,7 +28,6 @@ namespace MediaBrowser.Controller.Entities Taglines = new List(); SoundtrackIds = new List(); LocalTrailerIds = new List(); - Tags = new List(); Keywords = new List(); } @@ -40,12 +39,6 @@ namespace MediaBrowser.Controller.Entities public List Keywords { get; set; } - /// - /// Gets or sets the tags. - /// - /// The tags. - public List Tags { get; set; } - /// /// Gets or sets the taglines. /// diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs index 6aa3ae819a..e7bee35f50 100644 --- a/MediaBrowser.Controller/Entities/Video.cs +++ b/MediaBrowser.Controller/Entities/Video.cs @@ -16,7 +16,7 @@ namespace MediaBrowser.Controller.Entities /// /// Class Video /// - public class Video : BaseItem, IHasMediaStreams, IHasAspectRatio + public class Video : BaseItem, IHasMediaStreams, IHasAspectRatio, IHasTags { public bool IsMultiPart { get; set; } @@ -26,6 +26,7 @@ namespace MediaBrowser.Controller.Entities { PlayableStreamFileNames = new List(); AdditionalPartIds = new List(); + Tags = new List(); } /// @@ -34,6 +35,12 @@ namespace MediaBrowser.Controller.Entities /// true if this instance has subtitles; otherwise, false. public bool HasSubtitles { get; set; } + /// + /// Gets or sets the tags. + /// + /// The tags. + public List Tags { get; set; } + /// /// Gets or sets the video bit rate. /// -- cgit v1.2.3