diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-12-12 00:52:57 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-12-12 00:52:57 -0500 |
| commit | d6d0bc71643536f51db596217504b363bcede811 (patch) | |
| tree | 8b227d9884d8c1d3434d355fe8459b3edc22a2ec /MediaBrowser.Controller | |
| parent | 95b3e08d4b0666f2b437663f38dcafa9183733fb (diff) | |
| parent | 1aff48b93b72fe7d418b4798f504bd0d145f44e8 (diff) | |
Merge pull request #2337 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Controller')
9 files changed, 115 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs b/MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs index 9072e10947..8c820d3677 100644 --- a/MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs +++ b/MediaBrowser.Controller/Entities/Audio/AudioPodcast.cs @@ -1,6 +1,16 @@ -namespace MediaBrowser.Controller.Entities.Audio +using MediaBrowser.Model.Serialization; + +namespace MediaBrowser.Controller.Entities.Audio { public class AudioPodcast : Audio { + [IgnoreDataMember] + public override bool SupportsPositionTicksResume + { + get + { + return true; + } + } } } diff --git a/MediaBrowser.Controller/Entities/AudioBook.cs b/MediaBrowser.Controller/Entities/AudioBook.cs new file mode 100644 index 0000000000..efeb9b497d --- /dev/null +++ b/MediaBrowser.Controller/Entities/AudioBook.cs @@ -0,0 +1,64 @@ +using System; +using MediaBrowser.Model.Configuration; +using MediaBrowser.Model.Serialization; +using MediaBrowser.Model.Entities; + +namespace MediaBrowser.Controller.Entities +{ + public class AudioBook : Audio.Audio, IHasSeries + { + [IgnoreDataMember] + public override bool SupportsPositionTicksResume + { + get + { + return true; + } + } + + [IgnoreDataMember] + public string SeriesPresentationUniqueKey { get; set; } + [IgnoreDataMember] + public string SeriesName { get; set; } + [IgnoreDataMember] + public Guid? SeriesId { get; set; } + [IgnoreDataMember] + public string SeriesSortName { get; set; } + + public string FindSeriesSortName() + { + return SeriesSortName; + } + public string FindSeriesName() + { + return SeriesName; + } + public string FindSeriesPresentationUniqueKey() + { + return SeriesPresentationUniqueKey; + } + + [IgnoreDataMember] + public override bool EnableRefreshOnDateModifiedChange + { + get { return true; } + } + + public Guid? FindSeriesId() + { + return SeriesId; + } + + public override bool CanDownload() + { + var locationType = LocationType; + return locationType != LocationType.Remote && + locationType != LocationType.Virtual; + } + + public override UnratedItem GetBlockUnratedType() + { + return UnratedItem.Book; + } + } +} diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index b7ea7a92d8..9f45034665 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -142,6 +142,15 @@ namespace MediaBrowser.Controller.Entities } } + [IgnoreDataMember] + public virtual bool SupportsPositionTicksResume + { + get + { + return false; + } + } + public bool DetectIsInMixedFolder() { if (SupportsIsInMixedFolderDetection) diff --git a/MediaBrowser.Controller/Entities/CollectionFolder.cs b/MediaBrowser.Controller/Entities/CollectionFolder.cs index 68dd055f34..ebc55ca8a0 100644 --- a/MediaBrowser.Controller/Entities/CollectionFolder.cs +++ b/MediaBrowser.Controller/Entities/CollectionFolder.cs @@ -264,6 +264,7 @@ namespace MediaBrowser.Controller.Entities /// Our children are actually just references to the ones in the physical root... /// </summary> /// <value>The linked children.</value> + [IgnoreDataMember] public override List<LinkedChild> LinkedChildren { get { return GetLinkedChildrenInternal(); } diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs index 737257898d..e6ebcb7fd9 100644 --- a/MediaBrowser.Controller/Entities/TV/Episode.cs +++ b/MediaBrowser.Controller/Entities/TV/Episode.cs @@ -193,9 +193,10 @@ namespace MediaBrowser.Controller.Entities.TV { return "Season " + ParentIndexNumber.Value.ToString(CultureInfo.InvariantCulture); }
+ return "Season Unknown";
}
- return season == null ? SeasonName : season.Name;
+ return season.Name;
}
public string FindSeriesName()
diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs index 2dd134334f..7ba59df4f3 100644 --- a/MediaBrowser.Controller/Entities/Video.cs +++ b/MediaBrowser.Controller/Entities/Video.cs @@ -45,6 +45,15 @@ namespace MediaBrowser.Controller.Entities } [IgnoreDataMember] + public override bool SupportsPositionTicksResume + { + get + { + return true; + } + } + + [IgnoreDataMember] protected override bool SupportsIsInMixedFolderDetection { get diff --git a/MediaBrowser.Controller/LiveTv/LiveTvAudioRecording.cs b/MediaBrowser.Controller/LiveTv/LiveTvAudioRecording.cs index 88e5b28026..e67fc57594 100644 --- a/MediaBrowser.Controller/LiveTv/LiveTvAudioRecording.cs +++ b/MediaBrowser.Controller/LiveTv/LiveTvAudioRecording.cs @@ -46,6 +46,15 @@ namespace MediaBrowser.Controller.LiveTv set { } } + [IgnoreDataMember] + public override bool SupportsPositionTicksResume + { + get + { + return true; + } + } + /// <summary> /// Gets a value indicating whether this instance is owned item. /// </summary> diff --git a/MediaBrowser.Controller/LiveTv/LiveTvChannel.cs b/MediaBrowser.Controller/LiveTv/LiveTvChannel.cs index f568ae6ae6..d164b5e0d9 100644 --- a/MediaBrowser.Controller/LiveTv/LiveTvChannel.cs +++ b/MediaBrowser.Controller/LiveTv/LiveTvChannel.cs @@ -39,6 +39,15 @@ namespace MediaBrowser.Controller.LiveTv } [IgnoreDataMember] + public override bool SupportsPositionTicksResume + { + get + { + return false; + } + } + + [IgnoreDataMember] public override SourceType SourceType { get { return SourceType.LiveTV; } diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 2f96088ab9..28229f8a7e 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -96,6 +96,7 @@ <Compile Include="Drawing\ImageStream.cs" /> <Compile Include="Dto\DtoOptions.cs" /> <Compile Include="Dto\IDtoService.cs" /> + <Compile Include="Entities\AudioBook.cs" /> <Compile Include="Entities\Audio\AudioPodcast.cs" /> <Compile Include="Entities\Audio\IHasAlbumArtist.cs" /> <Compile Include="Entities\Audio\IHasMusicGenres.cs" /> |
