filler rework (#449)

* 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
This commit is contained in:
Jason Dove
2021-10-21 20:23:14 -05:00
committed by GitHub
parent f4a63a1a1a
commit 6d147de2f3
133 changed files with 54673 additions and 990 deletions
@@ -1,4 +1,5 @@
using System;
using ErsatzTV.Application.Filler;
using ErsatzTV.Application.MediaCollections;
using ErsatzTV.Application.MediaItems;
using ErsatzTV.Core.Domain;
@@ -20,7 +21,12 @@ namespace ErsatzTV.Application.ProgramSchedules
PlaybackOrder playbackOrder,
int count,
string customTitle,
GuideMode guideMode) : base(
GuideMode guideMode,
FillerPresetViewModel preRollFiller,
FillerPresetViewModel midRollFiller,
FillerPresetViewModel postRollFiller,
FillerPresetViewModel tailFiller,
FillerPresetViewModel fallbackFiller) : base(
id,
index,
startType,
@@ -33,7 +39,12 @@ namespace ErsatzTV.Application.ProgramSchedules
mediaItem,
playbackOrder,
customTitle,
guideMode) =>
guideMode,
preRollFiller,
midRollFiller,
postRollFiller,
tailFiller,
fallbackFiller) =>
Count = count;
public int Count { get; }