Skip to content

Commit ff3c354

Browse files
committed
wip: rehearsal time - implement rehearsal start and end time in calculation
1 parent 482e82c commit ff3c354

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

packages/corelib/src/playout/rundownTiming.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@ export namespace PlaylistTiming {
3434
return timing.type === PlaylistTimingType.BackTime
3535
}
3636

37-
export function getExpectedStart(timing: RundownPlaylistTiming): number | undefined {
37+
export function getExpectedStart(timing: RundownPlaylistTiming, useRehearsalTime?: boolean): number | undefined {
38+
if (useRehearsalTime && timing.rehearsalStartTime) {
39+
return timing.rehearsalStartTime
40+
}
3841
if (PlaylistTiming.isPlaylistTimingForwardTime(timing)) {
3942
return timing.expectedStart
4043
} else if (PlaylistTiming.isPlaylistTimingBackTime(timing)) {
@@ -47,7 +50,10 @@ export namespace PlaylistTiming {
4750
}
4851
}
4952

50-
export function getExpectedEnd(timing: RundownPlaylistTiming): number | undefined {
53+
export function getExpectedEnd(timing: RundownPlaylistTiming, isRehearsalTime?: boolean): number | undefined {
54+
if (isRehearsalTime && timing.rehearsalStartTime) {
55+
return timing.expectedDuration ? timing.rehearsalStartTime + timing.expectedDuration : undefined
56+
}
5157
if (PlaylistTiming.isPlaylistTimingBackTime(timing)) {
5258
return timing.expectedEnd
5359
} else if (PlaylistTiming.isPlaylistTimingForwardTime(timing)) {

packages/webui/src/client/ui/RundownView/RundownHeader/TimingDisplay.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ export function TimingDisplay({
3131

3232
if (!rundownPlaylist) return null
3333

34-
const expectedStart = PlaylistTiming.getExpectedStart(rundownPlaylist.timing)
35-
const expectedEnd = PlaylistTiming.getExpectedEnd(rundownPlaylist.timing)
34+
const expectedStart = PlaylistTiming.getExpectedStart(rundownPlaylist.timing, rundownPlaylist.rehearsal)
35+
const expectedEnd = PlaylistTiming.getExpectedEnd(rundownPlaylist.timing, rundownPlaylist.rehearsal)
3636
const expectedDuration = PlaylistTiming.getExpectedDuration(rundownPlaylist.timing)
3737
const showEndTiming =
3838
!timingDurations.rundownsBeforeNextBreak ||

packages/webui/src/client/ui/RundownView/RundownTiming/PlaylistStartTiming.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ export function PlaylistStartTiming({
2222
}: IStartTimingProps): JSX.Element {
2323
const { t } = useTranslation()
2424

25-
const playlistExpectedStart = PlaylistTiming.getExpectedStart(rundownPlaylist.timing)
26-
const playlistExpectedEnd = PlaylistTiming.getExpectedEnd(rundownPlaylist.timing)
25+
const playlistExpectedStart = PlaylistTiming.getExpectedStart(rundownPlaylist.timing, rundownPlaylist.rehearsal)
26+
const playlistExpectedEnd = PlaylistTiming.getExpectedEnd(rundownPlaylist.timing, rundownPlaylist.rehearsal)
2727
const playlistExpectedDuration = PlaylistTiming.getExpectedDuration(rundownPlaylist.timing)
2828
const expectedStart = playlistExpectedStart
2929
? playlistExpectedStart

0 commit comments

Comments
 (0)