Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,18 @@ timing:
$ref: '../../timing/activePlaylistTiming/activePlaylistTiming-example.yaml'
quickLoop:
$ref: '../../quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop-example.yaml'
tTimers:
- index: 1
label: 'On Air Timer'
configured: true
mode:
$ref: '../../tTimers/tTimerMode/tTimerModeCountdown-example.yaml'
- index: 2
label: ''
configured: false
mode: null
- index: 3
label: 'Studio Clock'
configured: true
mode:
$ref: '../../tTimers/tTimerMode/tTimerModeFreeRun-example.yaml'
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,14 @@ $defs:
$ref: '../../timing/activePlaylistTiming/activePlaylistTiming.yaml#/$defs/activePlaylistTiming'
quickLoop:
$ref: '../../quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop.yaml#/$defs/activePlaylistQuickLoop'
required: [event, id, externalId, name, rundownIds, currentPart, currentSegment, nextPart, timing]
tTimers:
description: T-timers for the playlist. Always contains 3 elements (one for each timer slot).
type: array
items:
$ref: '../../tTimers/tTimerStatus/tTimerStatus.yaml#/$defs/tTimerStatus'
minItems: 3
maxItems: 3
required: [event, id, externalId, name, rundownIds, currentPart, currentSegment, nextPart, timing, tTimers]
additionalProperties: false
examples:
- $ref: './activePlaylistEvent-example.yaml'
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
$defs:
tTimerIndex:
type: integer
title: TTimerIndex
description: Timer index (1-3). The playlist always has 3 T-timer slots.
enum: [1, 2, 3]
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
$defs:
tTimerModeCountdown:
type: object
title: TTimerModeCountdown
description: Countdown timer mode - counts down from a duration
properties:
type:
type: string
const: countdown
paused:
description: Whether the timer is currently paused
type: boolean
zeroTime:
description: >-
Unix timestamp (ms) when the timer reaches/reached zero.
Present when paused is false. The client calculates remaining time as zeroTime - Date.now().
type: number
remainingMs:
description: >-
Frozen remaining duration in milliseconds.
Present when paused is true.
type: number
durationMs:
description: Total countdown duration in milliseconds (the original configured duration)
type: number
stopAtZero:
description: Whether timer stops at zero or continues into negative values
type: boolean
required: [type, paused, durationMs, stopAtZero]
additionalProperties: false
examples:
- $ref: './tTimerModeCountdown-example.yaml'

tTimerModeFreeRun:
type: object
title: TTimerModeFreeRun
description: Free-running timer mode - counts up from start time
properties:
type:
type: string
const: freeRun
paused:
description: Whether the timer is currently paused
type: boolean
zeroTime:
description: >-
Unix timestamp (ms) when the timer was at zero (i.e. when it was started).
Present when paused is false. The client calculates elapsed time as Date.now() - zeroTime.
type: number
elapsedMs:
description: >-
Frozen elapsed time in milliseconds.
Present when paused is true.
type: number
required: [type, paused]
additionalProperties: false
examples:
- $ref: './tTimerModeFreeRun-example.yaml'

tTimerMode:
title: TTimerMode
description: The mode/state of a T-timer
oneOf:
- $ref: '#/$defs/tTimerModeCountdown'
- $ref: '#/$defs/tTimerModeFreeRun'
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
type: countdown
paused: false
zeroTime: 1706371920000
durationMs: 120000
stopAtZero: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
type: freeRun
paused: false
zeroTime: 1706371800000
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
index: 1
label: 'Segment Timer'
configured: true
mode:
type: countdown
paused: false
zeroTime: 1706371920000
durationMs: 120000
stopAtZero: true
estimate:
paused: false
zeroTime: 1706371920000
anchorPartId: 'part_break_1'
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
$defs:
tTimerStatus:
type: object
title: TTimerStatus
description: Status of a single T-timer in the playlist
properties:
index:
$ref: '../tTimerIndex.yaml#/$defs/tTimerIndex'
label:
description: User-defined label for the timer
type: string
configured:
description: Whether the timer has been configured (mode is not null)
type: boolean
mode:
description: Timer mode and timing state. Null if not configured.
oneOf:
- type: 'null'
- $ref: '../tTimerMode/tTimerMode.yaml#/$defs/tTimerMode'
estimate:
description: >-
Estimated timing for when we expect to reach an anchor part.
Used to calculate over/under diff
oneOf:
- type: 'null'
- type: object
title: TTimerEstimate
description: >-
Estimate timing state for a T-timer
properties:
paused:
description: Whether the estimate is frozen
type: boolean
zeroTime:
description: >-
Unix timestamp in milliseconds of estimated arrival at the anchor part
type: number
durationMs:
description: >-
Frozen remaining duration estimate in milliseconds
type: number
required: [paused]
additionalProperties: false
anchorPartId:
description: >-
The Part ID that this timer is counting towards (the timing anchor)
type: string
required: [index, label, configured]
additionalProperties: false
examples:
- $ref: './tTimerStatus-example.yaml'
Loading
Loading