* add chapter statistics and new filler options * refactor playout builder * more refactor prep for filler * rewrite schedulers * refactor collectionkey * add tail filler kind * migrate tail filler to filler preset * optionally show filler * fix playout detail row count * remove duration tail filler options * implement tail and fallback in flood scheduler * implement tail and fallback in one scheduler * implement tail and fallback in multiple scheduler * implement looping fallback filler * more duration tests * start to add post-roll filler to flood * rework playoutitem filler tagging * rework scheduler logging * calculate whether configured filler will fit * implement pre-roll and post-roll duration and count filler * improve duration filler calculation * add minutes to search index * update channel guide to work with new filler * add mid-roll filler * don't clone enumerators for filler calculations * support pre-roll and post-roll pad filler * implement mid-roll pad filler * allow clearing filler selections in schedule editor * fix tests * filler config validation * use consistent time zone for tests
58 lines
1.8 KiB
C#
58 lines
1.8 KiB
C#
using System;
|
|
using ErsatzTV.Application.Filler;
|
|
using ErsatzTV.Application.MediaCollections;
|
|
using ErsatzTV.Application.MediaItems;
|
|
using ErsatzTV.Core.Domain;
|
|
|
|
namespace ErsatzTV.Application.ProgramSchedules
|
|
{
|
|
public record ProgramScheduleItemDurationViewModel : ProgramScheduleItemViewModel
|
|
{
|
|
public ProgramScheduleItemDurationViewModel(
|
|
int id,
|
|
int index,
|
|
StartType startType,
|
|
TimeSpan? startTime,
|
|
ProgramScheduleItemCollectionType collectionType,
|
|
MediaCollectionViewModel collection,
|
|
MultiCollectionViewModel multiCollection,
|
|
SmartCollectionViewModel smartCollection,
|
|
NamedMediaItemViewModel mediaItem,
|
|
PlaybackOrder playbackOrder,
|
|
TimeSpan playoutDuration,
|
|
TailMode tailMode,
|
|
string customTitle,
|
|
GuideMode guideMode,
|
|
FillerPresetViewModel preRollFiller,
|
|
FillerPresetViewModel midRollFiller,
|
|
FillerPresetViewModel postRollFiller,
|
|
FillerPresetViewModel tailFiller,
|
|
FillerPresetViewModel fallbackFiller) : base(
|
|
id,
|
|
index,
|
|
startType,
|
|
startTime,
|
|
PlayoutMode.Duration,
|
|
collectionType,
|
|
collection,
|
|
multiCollection,
|
|
smartCollection,
|
|
mediaItem,
|
|
playbackOrder,
|
|
customTitle,
|
|
guideMode,
|
|
preRollFiller,
|
|
midRollFiller,
|
|
postRollFiller,
|
|
tailFiller,
|
|
fallbackFiller)
|
|
{
|
|
PlayoutDuration = playoutDuration;
|
|
TailMode = tailMode;
|
|
}
|
|
|
|
public TimeSpan PlayoutDuration { get; }
|
|
public TailMode TailMode { get; }
|
|
}
|
|
}
|