Skip to content

Commit 4935264

Browse files
committed
Add t-timers info to LSG
1 parent 3c238f7 commit 4935264

File tree

13 files changed

+552
-62
lines changed

13 files changed

+552
-62
lines changed

packages/live-status-gateway-api/api/components/playlist/activePlaylistEvent/activePlaylistEvent-example.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,18 @@ timing:
1515
$ref: '../../timing/activePlaylistTiming/activePlaylistTiming-example.yaml'
1616
quickLoop:
1717
$ref: '../../quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop-example.yaml'
18+
tTimers:
19+
- index: 1
20+
label: 'On Air Timer'
21+
configured: true
22+
mode:
23+
$ref: '../../tTimers/tTimerMode/tTimerModeCountdown-example.yaml'
24+
- index: 2
25+
label: ''
26+
configured: false
27+
mode: null
28+
- index: 3
29+
label: 'Studio Clock'
30+
configured: true
31+
mode:
32+
$ref: '../../tTimers/tTimerMode/tTimerModeFreeRun-example.yaml'

packages/live-status-gateway-api/api/components/playlist/activePlaylistEvent/activePlaylistEvent.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,14 @@ $defs:
4444
$ref: '../../timing/activePlaylistTiming/activePlaylistTiming.yaml#/$defs/activePlaylistTiming'
4545
quickLoop:
4646
$ref: '../../quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop.yaml#/$defs/activePlaylistQuickLoop'
47-
required: [event, id, externalId, name, rundownIds, currentPart, currentSegment, nextPart, timing]
47+
tTimers:
48+
description: T-timers for the playlist. Always contains 3 elements (one for each timer slot).
49+
type: array
50+
items:
51+
$ref: '../../tTimers/tTimerStatus/tTimerStatus.yaml#/$defs/tTimerStatus'
52+
minItems: 3
53+
maxItems: 3
54+
required: [event, id, externalId, name, rundownIds, currentPart, currentSegment, nextPart, timing, tTimers]
4855
additionalProperties: false
4956
examples:
5057
- $ref: './activePlaylistEvent-example.yaml'
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
$defs:
2+
tTimerIndex:
3+
type: integer
4+
title: TTimerIndex
5+
description: Timer index (1-3). The playlist always has 3 T-timer slots.
6+
enum: [1, 2, 3]
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
$defs:
2+
tTimerModeCountdown:
3+
type: object
4+
title: TTimerModeCountdown
5+
description: Countdown timer mode - counts down from a duration
6+
properties:
7+
type:
8+
type: string
9+
const: countdown
10+
startTime:
11+
description: Unix timestamp when timer started (milliseconds). May be adjusted when pausing/resuming.
12+
type: number
13+
pauseTime:
14+
description: Unix timestamp when paused (milliseconds), or null if running
15+
oneOf:
16+
- type: number
17+
- type: 'null'
18+
durationMs:
19+
description: Total countdown duration in milliseconds
20+
type: number
21+
stopAtZero:
22+
description: Whether timer stops at zero or continues into negative values
23+
type: boolean
24+
required: [type, startTime, pauseTime, durationMs, stopAtZero]
25+
additionalProperties: false
26+
examples:
27+
- $ref: './tTimerModeCountdown-example.yaml'
28+
29+
tTimerModeFreeRun:
30+
type: object
31+
title: TTimerModeFreeRun
32+
description: Free-running timer mode - counts up from start time
33+
properties:
34+
type:
35+
type: string
36+
const: freeRun
37+
startTime:
38+
description: Unix timestamp when timer started (milliseconds). May be adjusted when pausing/resuming.
39+
type: number
40+
pauseTime:
41+
description: Unix timestamp when paused (milliseconds), or null if running
42+
oneOf:
43+
- type: number
44+
- type: 'null'
45+
required: [type, startTime, pauseTime]
46+
additionalProperties: false
47+
examples:
48+
- $ref: './tTimerModeFreeRun-example.yaml'
49+
50+
tTimerMode:
51+
title: TTimerMode
52+
description: The mode/state of a T-timer
53+
oneOf:
54+
- $ref: '#/$defs/tTimerModeCountdown'
55+
- $ref: '#/$defs/tTimerModeFreeRun'
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
type: countdown
2+
startTime: 1706371800000
3+
pauseTime: null
4+
durationMs: 120000
5+
stopAtZero: true
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
type: freeRun
2+
startTime: 1706371900000
3+
pauseTime: 1706372000000
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
index: 1
2+
label: 'Segment Timer'
3+
configured: true
4+
mode:
5+
type: countdown
6+
startTime: 1706371800000
7+
pauseTime: null
8+
durationMs: 120000
9+
stopAtZero: true
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
$defs:
2+
tTimerStatus:
3+
type: object
4+
title: TTimerStatus
5+
description: Status of a single T-timer in the playlist
6+
properties:
7+
index:
8+
$ref: '../tTimerIndex.yaml#/$defs/tTimerIndex'
9+
label:
10+
description: User-defined label for the timer
11+
type: string
12+
configured:
13+
description: Whether the timer has been configured (mode is not null)
14+
type: boolean
15+
mode:
16+
description: Timer mode and timing state. Null if not configured.
17+
oneOf:
18+
- type: 'null'
19+
- $ref: '../tTimerMode/tTimerMode.yaml#/$defs/tTimerMode'
20+
required: [index, label, configured]
21+
additionalProperties: false
22+
examples:
23+
- $ref: './tTimerStatus-example.yaml'

0 commit comments

Comments
 (0)