Files
ersatztv/ErsatzTV.Core/Domain/PlayoutItem.cs
T
Jason DoveandGitHub 46331ed2c6 add preferred audio title feature (#943)
* use consistent edit/delete icons

* add preferred audio title feature

* update dependencies
2022-08-30 17:04:41 -05:00

55 lines
2.1 KiB
C#

using System.Diagnostics;
using ErsatzTV.Core.Domain.Filler;
namespace ErsatzTV.Core.Domain;
[DebuggerDisplay("{MediaItemId} - {StartOffset} - {FinishOffset}")]
public class PlayoutItem
{
public int Id { get; set; }
public int MediaItemId { get; set; }
public MediaItem MediaItem { get; set; }
public DateTime Start { get; set; }
public DateTime Finish { get; set; }
public DateTime? GuideFinish { get; set; }
public string CustomTitle { get; set; }
public int GuideGroup { get; set; }
public FillerKind FillerKind { get; set; }
public int PlayoutId { get; set; }
public Playout Playout { get; set; }
public TimeSpan InPoint { get; set; }
public TimeSpan OutPoint { get; set; }
public string ChapterTitle { get; set; }
public ChannelWatermark Watermark { get; set; }
public int? WatermarkId { get; set; }
public bool DisableWatermarks { get; set; }
public string PreferredAudioLanguageCode { get; set; }
public string PreferredAudioTitle { get; set; }
public string PreferredSubtitleLanguageCode { get; set; }
public ChannelSubtitleMode? SubtitleMode { get; set; }
public DateTimeOffset StartOffset => new DateTimeOffset(Start, TimeSpan.Zero).ToLocalTime();
public DateTimeOffset FinishOffset => new DateTimeOffset(Finish, TimeSpan.Zero).ToLocalTime();
public DateTimeOffset? GuideFinishOffset => GuideFinish.HasValue
? new DateTimeOffset(GuideFinish.Value, TimeSpan.Zero).ToLocalTime()
: null;
public PlayoutItem ForChapter(MediaChapter chapter) =>
new()
{
MediaItemId = MediaItemId,
MediaItem = MediaItem,
Start = Start,
Finish = Start + chapter.EndTime - chapter.StartTime,
GuideFinish = GuideFinish,
CustomTitle = CustomTitle,
GuideGroup = GuideGroup,
FillerKind = FillerKind,
PlayoutId = PlayoutId,
Playout = Playout,
InPoint = chapter.StartTime,
OutPoint = chapter.EndTime,
ChapterTitle = chapter.Title
};
}