feat: time of day pieces
About the Contributor
This pull request is posted on behalf of the BBC
Type of Contribution
This is a: Feature
New Behavior
This builds on top of https://github.com/nrkno/sofie-core/pull/1384
Time of day pieces are a new concept, where a rundown is able to define some pieces that should play at an absolute timestamp, no matter what part is active at the time.
This could be utilised to show some graphic about what is next, or to ensure that the outro is triggered at the correct time (doing so out of vision) to ensure it will be at the right point when the show reaches the end time.
These pieces can be returned from the getRundown blueprint method, and are very similar to pieces returned as part of a part. A few properties which are not relevant are removed, and the enable property must contain isAbsolute: true. This change allows the system to not need much special handling for them, with many of the differences based off this different start rule.
During playout, these pieces will be omitted from the timeline until ~30s before their start time. This duration is controlled by a new studio setting. Only once this point has been crossed will the pieces be considered for AB and lookahead. Sofie&playout-gateway coordinate regenerating the timeline at this 30s threshold, make sure to be running playout-gateway. (https://github.com/nrkno/sofie-core/pull/1384 was written for this)
Other than that, these behave pretty much like normal outOnRundownChange pieces. They show in the ui in the current part, and in future parts once playback of the piece has started. They can be stopped/cleared by other pieces with the same rules as normal, and can be updated through the syncIngestChanges flow as usual.
Testing
- [x] I have added one or more unit tests for this PR
- [ ] I have updated the relevant unit tests
- [ ] No unit test changes are needed for this PR
Affected areas
Time Frame
Other Information
Status
- [ ] PR is ready to be reviewed.
- [ ] The functionality has been tested by the author.
- [ ] Relevant unit tests has been added / updated.
- [ ] Relevant documentation (code comments, system documentation) has been added / updated.
Codecov Report
Attention: Patch coverage is 73.45254% with 193 lines in your changes missing coverage. Please review.
Project coverage is 56.96%. Comparing base (
1cda4a8) to head (1c7a8e7). Report is 48 commits behind head on release53.
Additional details and impacted files
@@ Coverage Diff @@
## release53 #1406 +/- ##
=============================================
+ Coverage 56.82% 56.96% +0.14%
=============================================
Files 402 404 +2
Lines 72968 73678 +710
Branches 4463 4490 +27
=============================================
+ Hits 41464 41974 +510
- Misses 31363 31554 +191
- Partials 141 150 +9
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
:warning: Please install the to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
:x: Patch coverage is 86.11111% with 25 lines in your changes missing coverage. Please review.
:loudspeaker: Thoughts on this report? Let us know!
This has been tested, and documentation has been added.