@bbc/sofie-live-status-gateway-api 1.53.0-nightly-bbc-release53-a9ae5e2-20251112-104105.0 → 1.53.0-nightly-release53-20251125-115432-0144543.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/asyncapi.yaml +26 -116
- package/api/components/adLibs/actionType/actionType-example.yaml +2 -0
- package/api/components/adLibs/actionType/actionType.yaml +15 -0
- package/api/components/adLibs/adLibBase/adLibBase-example.yaml +9 -0
- package/api/components/adLibs/adLibBase/adLibBase.yaml +35 -0
- package/api/components/adLibs/adLibStatus/adLibStatus-example.yaml +3 -0
- package/api/components/adLibs/adLibStatus/adLibStatus.yaml +17 -0
- package/api/components/adLibs/adLibsEvent/adLibsEvent-example.yaml +6 -0
- package/api/components/adLibs/adLibsEvent/adLibsEvent.yaml +29 -0
- package/api/components/adLibs/bucketAdLibStatus/bucketAdLibStatus-example.yaml +2 -0
- package/api/components/adLibs/bucketAdLibStatus/bucketAdLibStatus.yaml +14 -0
- package/api/components/adLibs/globalAdLibStatus/globalAdLibStatus-example.yaml +1 -0
- package/api/components/adLibs/globalAdLibStatus/globalAdLibStatus.yaml +7 -0
- package/api/components/adLibs/messages/adLibsMessage.yaml +10 -0
- package/api/components/buckets/bucketStatus/bucketStatus-example.yaml +4 -0
- package/api/components/buckets/bucketStatus/bucketStatus.yaml +20 -0
- package/api/components/buckets/bucketsEvent/bucketsEvent-example.yaml +3 -0
- package/api/components/buckets/bucketsEvent/bucketsEvent.yaml +17 -0
- package/api/components/buckets/messages/bucketsMessage.yaml +10 -0
- package/api/components/connection/heartbeatEvent/heartbeatEvent-example.yaml +1 -0
- package/api/components/connection/heartbeatEvent/heartbeatEvent.yaml +12 -0
- package/api/components/connection/messages/heartbeatMessage.yaml +11 -0
- package/api/components/connection/messages/pingMessage.yaml +12 -0
- package/api/components/connection/messages/pongMessage.yaml +12 -0
- package/api/components/connection/pingEvent/pingEvent-example.yaml +2 -0
- package/api/components/connection/pingEvent/pingEvent.yaml +14 -0
- package/api/components/connection/pongEvent/pongEvent-example.yaml +2 -0
- package/api/components/connection/pongEvent/pongEvent.yaml +14 -0
- package/api/components/connection/reqid/reqid.yaml +4 -0
- package/api/components/packages/messages/packagesMessage.yaml +8 -0
- package/api/components/packages/packageInfoStatus/packageInfoStatus-example.yaml +8 -0
- package/api/components/packages/packageInfoStatus/packageInfoStatus.yaml +32 -0
- package/api/components/packages/packageStatus/packageStatus.yaml +23 -0
- package/api/components/packages/packagesEvent/packagesEvent-example.yaml +4 -0
- package/api/components/packages/packagesEvent/packagesEvent.yaml +20 -0
- package/api/components/part/currentPart/currentPartStatus-example.yaml +3 -0
- package/api/components/part/currentPart/currentPartStatus.yaml +13 -0
- package/api/components/part/currentSegmentPart/currentSegmentPart-example.yaml +3 -0
- package/api/components/part/currentSegmentPart/currentSegmentPart.yaml +14 -0
- package/api/components/part/partBase/partBase-example.yaml +3 -0
- package/api/components/part/partBase/partBase.yaml +18 -0
- package/api/components/part/partStatus/partStatus-example.yaml +6 -0
- package/api/components/part/partStatus/partStatus.yaml +22 -0
- package/api/components/piece/activePiecesEvent/activePiecesEvent-example.yaml +4 -0
- package/api/{schemas/activePieces.yaml → components/piece/activePiecesEvent/activePiecesEvent.yaml} +3 -8
- package/api/components/piece/messages/activePiecesMessage.yaml +10 -0
- package/api/components/piece/pieceStatus/pieceStatus-example.yaml +7 -0
- package/api/components/piece/pieceStatus/pieceStatus.yaml +28 -0
- package/api/components/playlist/activePlaylistEvent/activePlaylistEvent-example.yaml +17 -0
- package/api/components/playlist/activePlaylistEvent/activePlaylistEvent.yaml +50 -0
- package/api/components/playlist/messages/activePlaylistMessage.yaml +11 -0
- package/api/components/playlist/playlistStatus/playlistStatus-example.yaml +4 -0
- package/api/components/playlist/playlistStatus/playlistStatus.yaml +26 -0
- package/api/components/quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop-example.yaml +6 -0
- package/api/components/quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop.yaml +19 -0
- package/api/components/quickLoop/quickLoopMarker/quickLoopMarker-example.yaml +2 -0
- package/api/components/quickLoop/quickLoopMarker/quickLoopMarker.yaml +20 -0
- package/api/components/quickLoop/quickLoopMarkerType.yaml +10 -0
- package/api/components/segment/currentSegment/currentSegment-example.yaml +5 -0
- package/api/components/segment/currentSegment/currentSegment.yaml +19 -0
- package/api/components/segment/messages/segmentsMessage.yaml +10 -0
- package/api/components/segment/segment/segment-example.yaml +8 -0
- package/api/components/segment/segment/segment.yaml +26 -0
- package/api/components/segment/segmentBase/segmentBase-example.yaml +1 -0
- package/api/components/segment/segmentBase/segmentBase.yaml +11 -0
- package/api/components/segment/segmentsEvent/segmentsEvent-example.yaml +4 -0
- package/api/components/segment/segmentsEvent/segmentsEvent.yaml +23 -0
- package/api/components/studio/messages/studioUpdate.yaml +11 -0
- package/api/components/studio/studioEvent/studioEvent-example.yaml +2 -0
- package/api/components/studio/studioEvent/studioEvent.yaml +16 -0
- package/api/components/studio/studioStatus/studioStatus-example.yaml +4 -0
- package/api/components/studio/studioStatus/studioStatus.yaml +21 -0
- package/api/components/subscriptions/events/subscribeEvent/subscribeEvent-example.yaml +4 -0
- package/api/components/subscriptions/events/subscribeEvent/subscribeEvent.yaml +15 -0
- package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusError/subscriptionStatusError-example.yaml +2 -0
- package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusError/subscriptionStatusError.yaml +14 -0
- package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusEvent-example.yaml +4 -0
- package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusEvent.yaml +10 -0
- package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusSuccess/subscriptionStatusSuccess-example.yaml +4 -0
- package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusSuccess/subscriptionStatusSuccess.yaml +16 -0
- package/api/components/subscriptions/messages/subscribeMessage.yaml +12 -0
- package/api/components/subscriptions/messages/subscriptionStatusErrorMessage.yaml +10 -0
- package/api/components/subscriptions/messages/subscriptionStatusSuccessMessage.yaml +10 -0
- package/api/components/subscriptions/subscriptionDetails/subscriptionDetails-example.yaml +2 -0
- package/api/components/subscriptions/subscriptionDetails/subscriptionDetails.yaml +13 -0
- package/api/components/subscriptions/subscriptionEventName.yaml +8 -0
- package/api/components/subscriptions/subscriptionName.yaml +13 -0
- package/api/components/subscriptions/subscriptionRequestDetails/subscriptionRequestDetails.yaml +11 -0
- package/api/components/subscriptions/subscriptionStatusName.yaml +8 -0
- package/api/components/timing/activePlaylistTiming/activePlaylistTiming-example.yaml +3 -0
- package/api/components/timing/activePlaylistTiming/activePlaylistTiming.yaml +24 -0
- package/api/components/timing/activePlaylistTiming/activePlaylistTimingMode.yaml +7 -0
- package/api/components/timing/currentPartTiming/currentPartTiming-example.yaml +3 -0
- package/api/components/timing/currentPartTiming/currentPartTiming.yaml +20 -0
- package/api/components/timing/currentSegmentPartTiming/currentSegmentPartTiming-example.yaml +1 -0
- package/api/components/timing/currentSegmentPartTiming/currentSegmentPartTiming.yaml +8 -0
- package/api/components/timing/currentSegmentTiming/currentSegmentTiming-example.yaml +2 -0
- package/api/components/timing/currentSegmentTiming/currentSegmentTiming.yaml +16 -0
- package/api/components/timing/segmentCountdownType.yaml +6 -0
- package/api/components/timing/segmentTiming/segmentTiming-example.yaml +3 -0
- package/api/components/timing/segmentTiming/segmentTiming.yaml +19 -0
- package/api/topics/activePieces/activePiecesTopic.yaml +8 -0
- package/api/topics/activePlaylist/activePlaylistTopic.yaml +8 -0
- package/api/topics/adLibs/adLibsTopic.yaml +8 -0
- package/api/topics/buckets/bucketsTopic.yaml +8 -0
- package/api/topics/heartbeat/heartbeatTopic.yaml +7 -0
- package/api/topics/packages/packagesTopic.yaml +7 -0
- package/api/topics/ping/pingTopic.yaml +11 -0
- package/api/topics/segments/segmentsTopic.yaml +7 -0
- package/api/topics/studio/studioTopic.yaml +7 -0
- package/api/topics/subscriptions/subscriptionsTopic.yaml +16 -0
- package/dist/generated/schema.d.ts +81 -33
- package/dist/generated/schema.d.ts.map +1 -1
- package/dist/generated/schema.js +9 -1
- package/dist/generated/schema.js.map +1 -1
- package/package.json +12 -9
- package/api/schemas/activePlaylist.yaml +0 -317
- package/api/schemas/adLibs.yaml +0 -116
- package/api/schemas/buckets.yaml +0 -64
- package/api/schemas/packages.yaml +0 -82
- package/api/schemas/root.yaml +0 -163
- package/api/schemas/segments.yaml +0 -75
- package/api/schemas/studio.yaml +0 -59
package/api/asyncapi.yaml
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
asyncapi: 2.6.0
|
|
2
|
-
id: '
|
|
1
|
+
asyncapi: '2.6.0'
|
|
2
|
+
id: 'sofie:live-status-gateway:server'
|
|
3
3
|
info:
|
|
4
4
|
title: Sofie Live Status Service
|
|
5
|
+
version: '2.0.1'
|
|
5
6
|
description: This service provides subscriptions for status updates from Sofie
|
|
6
|
-
version: 2.0.0
|
|
7
7
|
license:
|
|
8
8
|
name: MIT License
|
|
9
9
|
url: http://opensource.org/licenses/MIT
|
|
10
10
|
contact:
|
|
11
|
-
name: Sofie TV Automation
|
|
11
|
+
name: Sofie TV Automation
|
|
12
12
|
url: https://github.com/Sofie-Automation/sofie-core/issues
|
|
13
13
|
|
|
14
14
|
servers:
|
|
15
15
|
development:
|
|
16
16
|
url: localhost
|
|
17
|
-
description: Server available without
|
|
17
|
+
description: Server available without authorization
|
|
18
18
|
protocol: ws
|
|
19
19
|
protocolVersion: '13'
|
|
20
20
|
|
|
@@ -26,114 +26,24 @@ tags:
|
|
|
26
26
|
- name: broadcast
|
|
27
27
|
|
|
28
28
|
channels:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
- $ref: '#/components/messages/adLibs'
|
|
51
|
-
- $ref: '#/components/messages/packages'
|
|
52
|
-
- $ref: '#/components/messages/buckets'
|
|
53
|
-
components:
|
|
54
|
-
messages:
|
|
55
|
-
ping:
|
|
56
|
-
name: ping
|
|
57
|
-
messageId: ping
|
|
58
|
-
summary: Ping server to determine whether connection is alive
|
|
59
|
-
description: Client can ping server to determine whether connection is alive, server responds with pong. This is an application level ping as opposed to default ping in websockets standard which is server initiated
|
|
60
|
-
payload:
|
|
61
|
-
$ref: './schemas/root.yaml#/$defs/ping'
|
|
62
|
-
x-response:
|
|
63
|
-
$ref: '#/components/messages/pong'
|
|
64
|
-
pong:
|
|
65
|
-
name: pong
|
|
66
|
-
messageId: pong
|
|
67
|
-
summary: Pong is a response to ping message
|
|
68
|
-
description: Server pong response to a ping to determine whether connection is alive. This is an application level pong as opposed to default pong in websockets standard which is sent by client in response to a ping
|
|
69
|
-
payload:
|
|
70
|
-
$ref: './schemas/root.yaml#/$defs/pong'
|
|
71
|
-
heartbeat:
|
|
72
|
-
name: heartbeat
|
|
73
|
-
messageId: heartbeat
|
|
74
|
-
description: Server heartbeat sent if no subscription traffic within 1 second (approximately)
|
|
75
|
-
payload:
|
|
76
|
-
$ref: './schemas/root.yaml#/$defs/heartbeat'
|
|
77
|
-
subscribe:
|
|
78
|
-
name: subscribe
|
|
79
|
-
messageId: subscribe
|
|
80
|
-
description: Subscribe to a topic
|
|
81
|
-
payload:
|
|
82
|
-
$ref: './schemas/root.yaml#/$defs/subscribe'
|
|
83
|
-
x-response:
|
|
84
|
-
$ref: './schemas/root.yaml#/$defs/subscriptionStatus'
|
|
85
|
-
unsubscribe:
|
|
86
|
-
name: unsubscribe
|
|
87
|
-
messageId: unsubscribe
|
|
88
|
-
description: Unsubscribe from a topic
|
|
89
|
-
payload:
|
|
90
|
-
$ref: './schemas/root.yaml#/$defs/unsubscribe'
|
|
91
|
-
x-response:
|
|
92
|
-
$ref: './schemas/root.yaml#/$defs/subscriptionStatus'
|
|
93
|
-
subscriptionStatus:
|
|
94
|
-
messageId: subscriptionStatus
|
|
95
|
-
description: Subscription status response to subscribe or unsubscribe
|
|
96
|
-
payload:
|
|
97
|
-
$ref: './schemas/root.yaml#/$defs/subscriptionStatus'
|
|
98
|
-
studio:
|
|
99
|
-
name: studio
|
|
100
|
-
messageId: studioUpdate
|
|
101
|
-
description: Studio status
|
|
102
|
-
payload:
|
|
103
|
-
$ref: './schemas/studio.yaml#/$defs/studio'
|
|
104
|
-
activePlaylist:
|
|
105
|
-
name: activePlaylist
|
|
106
|
-
messageId: activePlaylistUpdate
|
|
107
|
-
description: Active Playlist status
|
|
108
|
-
payload:
|
|
109
|
-
$ref: './schemas/activePlaylist.yaml#/$defs/activePlaylist'
|
|
110
|
-
activePieces:
|
|
111
|
-
name: activePieces
|
|
112
|
-
messageId: activePiecesUpdate
|
|
113
|
-
summary: Active Pieces status
|
|
114
|
-
description: Pieces from the active Playlist that are currently active (on air)
|
|
115
|
-
payload:
|
|
116
|
-
$ref: './schemas/activePieces.yaml#/$defs/activePieces'
|
|
117
|
-
segments:
|
|
118
|
-
name: segments
|
|
119
|
-
messageId: segmentsUpdate
|
|
120
|
-
description: Segments in active Playlist
|
|
121
|
-
payload:
|
|
122
|
-
$ref: './schemas/segments.yaml#/$defs/segments'
|
|
123
|
-
adLibs:
|
|
124
|
-
name: adLibs
|
|
125
|
-
messageId: adLibsUpdate
|
|
126
|
-
description: AdLibs in active Playlist
|
|
127
|
-
payload:
|
|
128
|
-
$ref: './schemas/adLibs.yaml#/$defs/adLibs'
|
|
129
|
-
packages:
|
|
130
|
-
name: packages
|
|
131
|
-
messageId: packages
|
|
132
|
-
description: Status of Packages expected by Pieces
|
|
133
|
-
payload:
|
|
134
|
-
$ref: './schemas/packages.yaml#/$defs/packages'
|
|
135
|
-
buckets:
|
|
136
|
-
name: buckets
|
|
137
|
-
description: Buckets in Studio
|
|
138
|
-
payload:
|
|
139
|
-
$ref: './schemas/buckets.yaml#/$defs/buckets'
|
|
29
|
+
# As the LSG is websocket only, channels are only used for logical grouping for the generated docs and folder structure.
|
|
30
|
+
ping:
|
|
31
|
+
$ref: './topics/ping/pingTopic.yaml'
|
|
32
|
+
heartbeat:
|
|
33
|
+
$ref: './topics/heartbeat/heartbeatTopic.yaml'
|
|
34
|
+
subscriptions:
|
|
35
|
+
$ref: './topics/subscriptions/subscriptionsTopic.yaml'
|
|
36
|
+
studio:
|
|
37
|
+
$ref: './topics/studio/studioTopic.yaml'
|
|
38
|
+
activePlaylist:
|
|
39
|
+
$ref: './topics/activePlaylist/activePlaylistTopic.yaml'
|
|
40
|
+
activePieces:
|
|
41
|
+
$ref: './topics/activePieces/activePiecesTopic.yaml'
|
|
42
|
+
segments:
|
|
43
|
+
$ref: './topics/segments/segmentsTopic.yaml'
|
|
44
|
+
adLibs:
|
|
45
|
+
$ref: './topics/adLibs/adLibsTopic.yaml'
|
|
46
|
+
packages:
|
|
47
|
+
$ref: './topics/packages/packagesTopic.yaml'
|
|
48
|
+
buckets:
|
|
49
|
+
$ref: './topics/buckets/bucketsTopic.yaml'
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
adLibActionType:
|
|
3
|
+
title: AdLibActionType
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
name:
|
|
7
|
+
type: string
|
|
8
|
+
description: The string to be passed to the ExecuteAdlib function
|
|
9
|
+
label:
|
|
10
|
+
type: string
|
|
11
|
+
description: The label for the AdLib type
|
|
12
|
+
required: [name, label]
|
|
13
|
+
additionalProperties: false
|
|
14
|
+
examples:
|
|
15
|
+
- $ref: './actionType-example.yaml'
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
id: 'C6K_yIMuGFUk8X_L9A9_jRT6aq4_'
|
|
2
|
+
name: Music video clip
|
|
3
|
+
sourceLayer: Video Clip
|
|
4
|
+
actionType:
|
|
5
|
+
- $ref: '../actionType/actionType-example.yaml'
|
|
6
|
+
tags: ['music_video']
|
|
7
|
+
publicData:
|
|
8
|
+
fileName: MV000123.mxf
|
|
9
|
+
optionsSchema: '{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Play Video Clip","type":"object","properties":{"type":"adlib_action_video_clip","label":{"type":"string"},"clipId":{"type":"string"},"vo":{"type":"boolean"},"target":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Object Id","description":"Id of an object sent to Sofie","type":"string"},"duration":{"type":"number","exclusiveMinimum":0},"takeType":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"AdLib Action Take Type","type":"string","enum":["take_immediate","queue"]},"transition":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"AdLib Action Transition Type","oneOf":[{"type":"object","properties":{"type":"cut"},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":"mix","duration":{"type":"number","exclusiveMinimum":0,"description":"Duration in ms"}},"required":["type","duration"],"additionalProperties":false},{"type":"object","properties":{"type":"wipe","duration":{"type":"number","exclusiveMinimum":0,"description":"Duration in ms"},"patternId":{"type":"string","description":"Type of wipe to use"}},"required":["type","duration","patternId"],"additionalProperties":false},{"type":"object","properties":{"type":"macro","macroId":{"type":"string","description":"Macro template to recall"}},"required":["type","macroId"],"additionalProperties":false}]}},"required":["type","clipId","vo","target"],"additionalProperties":false}"'
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
adLibBase:
|
|
3
|
+
title: AdLibBase
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
id:
|
|
7
|
+
type: string
|
|
8
|
+
description: Unique id of the AdLib
|
|
9
|
+
name:
|
|
10
|
+
type: string
|
|
11
|
+
description: The user defined AdLib name
|
|
12
|
+
sourceLayer:
|
|
13
|
+
type: string
|
|
14
|
+
description: The source layer name for this AdLib
|
|
15
|
+
outputLayer:
|
|
16
|
+
type: string
|
|
17
|
+
description: The output layer name for this AdLib
|
|
18
|
+
actionType:
|
|
19
|
+
type: array
|
|
20
|
+
description: The available action type names that can be used to modify the execution of the AdLib
|
|
21
|
+
items:
|
|
22
|
+
$ref: '../actionType/actionType.yaml#/$defs/adLibActionType'
|
|
23
|
+
tags:
|
|
24
|
+
type: array
|
|
25
|
+
description: Tags attached to this AdLib
|
|
26
|
+
items:
|
|
27
|
+
type: string
|
|
28
|
+
publicData:
|
|
29
|
+
description: Optional arbitrary data
|
|
30
|
+
optionsSchema:
|
|
31
|
+
type: string
|
|
32
|
+
description: JSON schema definition of the adLib properties that can be modified using the adLibOptions property in executeAdLib
|
|
33
|
+
required: [id, name, sourceLayer, actionType]
|
|
34
|
+
examples:
|
|
35
|
+
- $ref: './adLibBase-example.yaml'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
adLibStatus:
|
|
3
|
+
title: AdLibStatus
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: '../adLibBase/adLibBase.yaml#/$defs/adLibBase'
|
|
6
|
+
- type: object
|
|
7
|
+
title: AdLibStatus
|
|
8
|
+
properties:
|
|
9
|
+
segmentId:
|
|
10
|
+
description: Unique id of the segment this adLib belongs to
|
|
11
|
+
type: string
|
|
12
|
+
partId:
|
|
13
|
+
description: Unique id of the part this adLib belongs to
|
|
14
|
+
type: string
|
|
15
|
+
required: [segmentId, partId]
|
|
16
|
+
examples:
|
|
17
|
+
- $ref: './adLibStatus-example.yaml'
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
adLibsEvent:
|
|
3
|
+
type: object
|
|
4
|
+
title: AdLibsEvent
|
|
5
|
+
properties:
|
|
6
|
+
event:
|
|
7
|
+
type: string
|
|
8
|
+
const: adLibs
|
|
9
|
+
rundownPlaylistId:
|
|
10
|
+
description: Unique id of the rundown playlist, or null if no playlist is active
|
|
11
|
+
oneOf:
|
|
12
|
+
- type: string
|
|
13
|
+
title: Unique id of the rundown playlist
|
|
14
|
+
- type: 'null'
|
|
15
|
+
title: Null if no playlist is active
|
|
16
|
+
adLibs:
|
|
17
|
+
type: array
|
|
18
|
+
description: The available AdLibs for this playlist
|
|
19
|
+
items:
|
|
20
|
+
$ref: '../adLibStatus/adLibStatus.yaml#/$defs/adLibStatus'
|
|
21
|
+
globalAdLibs:
|
|
22
|
+
type: array
|
|
23
|
+
description: The available Global AdLibs for this playlist
|
|
24
|
+
items:
|
|
25
|
+
$ref: '../globalAdLibStatus/globalAdLibStatus.yaml#/$defs/globalAdLibStatus'
|
|
26
|
+
required: [event, rundownPlaylistId, adLibs, globalAdLibs]
|
|
27
|
+
additionalProperties: false
|
|
28
|
+
examples:
|
|
29
|
+
- $ref: './adLibsEvent-example.yaml'
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
bucketAdLibStatus:
|
|
3
|
+
title: BucketAdLibStatus
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: '../adLibBase/adLibBase.yaml#/$defs/adLibBase'
|
|
6
|
+
- type: object
|
|
7
|
+
title: BucketAdLibStatus
|
|
8
|
+
properties:
|
|
9
|
+
externalId:
|
|
10
|
+
type: string
|
|
11
|
+
description: Id of the adLib recognizable by the external source. Unique within a bucket.
|
|
12
|
+
required: [externalId]
|
|
13
|
+
examples:
|
|
14
|
+
- $ref: './bucketAdLibStatus-example.yaml'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
$ref: '../adLibBase/adLibBase-example.yaml'
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
bucketStatus:
|
|
3
|
+
title: BucketStatus
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
id:
|
|
7
|
+
description: Unique id of the bucket
|
|
8
|
+
type: string
|
|
9
|
+
name:
|
|
10
|
+
description: The user defined bucket name
|
|
11
|
+
type: string
|
|
12
|
+
adLibs:
|
|
13
|
+
description: The AdLibs in this bucket
|
|
14
|
+
type: array
|
|
15
|
+
items:
|
|
16
|
+
$ref: '../../adLibs/bucketAdLibStatus/bucketAdLibStatus.yaml#/$defs/bucketAdLibStatus'
|
|
17
|
+
required: [id, name, adLibs]
|
|
18
|
+
additionalProperties: false
|
|
19
|
+
examples:
|
|
20
|
+
- $ref: './bucketStatus-example.yaml'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
bucketsEvent:
|
|
3
|
+
title: BucketsEvent
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
event:
|
|
7
|
+
type: string
|
|
8
|
+
const: buckets
|
|
9
|
+
buckets:
|
|
10
|
+
description: Buckets available in the Studio
|
|
11
|
+
type: array
|
|
12
|
+
items:
|
|
13
|
+
$ref: '../bucketStatus/bucketStatus.yaml#/$defs/bucketStatus'
|
|
14
|
+
required: [event, buckets]
|
|
15
|
+
additionalProperties: false
|
|
16
|
+
examples:
|
|
17
|
+
- $ref: './bucketsEvent-example.yaml'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
event: heartbeat
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
components:
|
|
2
|
+
messages:
|
|
3
|
+
heartbeatMessage:
|
|
4
|
+
name: heartbeat
|
|
5
|
+
messageId: heartbeat
|
|
6
|
+
description: Server heartbeat sent if no subscription traffic within 1 second (approximately)
|
|
7
|
+
payload:
|
|
8
|
+
$ref: '../heartbeatEvent/heartbeatEvent.yaml#/$defs/heartbeatEvent'
|
|
9
|
+
examples:
|
|
10
|
+
- payload:
|
|
11
|
+
$ref: '../heartbeatEvent/heartbeatEvent-example.yaml'
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
components:
|
|
2
|
+
messages:
|
|
3
|
+
pingMessage:
|
|
4
|
+
name: ping
|
|
5
|
+
messageId: ping
|
|
6
|
+
summary: Ping server to determine whether connection is alive
|
|
7
|
+
description: Client can ping server to determine whether connection is alive, server responds with pong. This is an application level ping as opposed to default ping in websockets standard which is server initiated
|
|
8
|
+
payload:
|
|
9
|
+
$ref: '../pingEvent/pingEvent.yaml#/$defs/pingEvent'
|
|
10
|
+
examples:
|
|
11
|
+
- payload:
|
|
12
|
+
$ref: '../pingEvent/pingEvent-example.yaml'
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
components:
|
|
2
|
+
messages:
|
|
3
|
+
pongMessage:
|
|
4
|
+
name: pong
|
|
5
|
+
messageId: pong
|
|
6
|
+
summary: Pong is a response to ping message
|
|
7
|
+
description: Server pong response to a ping to determine whether connection is alive. This is an application level pong as opposed to default pong in websockets standard which is sent by client in response to a ping
|
|
8
|
+
payload:
|
|
9
|
+
$ref: '../pongEvent/pongEvent.yaml#/$defs/pongEvent'
|
|
10
|
+
examples:
|
|
11
|
+
- payload:
|
|
12
|
+
$ref: '../pongEvent/pongEvent-example.yaml'
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
pingEvent:
|
|
3
|
+
title: PingEvent
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
event:
|
|
7
|
+
type: string
|
|
8
|
+
const: ping
|
|
9
|
+
reqid:
|
|
10
|
+
$ref: '../reqid/reqid.yaml#/$defs/reqid'
|
|
11
|
+
required: [event, reqid]
|
|
12
|
+
additionalProperties: false
|
|
13
|
+
examples:
|
|
14
|
+
- $ref: './pingEvent-example.yaml'
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
pongEvent:
|
|
3
|
+
title: PongEvent
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
event:
|
|
7
|
+
type: string
|
|
8
|
+
const: pong
|
|
9
|
+
reqid:
|
|
10
|
+
$ref: '../reqid/reqid.yaml#/$defs/reqid'
|
|
11
|
+
required: [event, reqid]
|
|
12
|
+
additionalProperties: false
|
|
13
|
+
examples:
|
|
14
|
+
- $ref: './pongEvent-example.yaml'
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
packageName: 'MV000123.mxf'
|
|
2
|
+
status: ok
|
|
3
|
+
rundownId: 'y9HauyWkcxQS3XaAOsW40BRLLsI_'
|
|
4
|
+
partId: 'H5CBGYjThrMSmaYvRaa5FVKJIzk_'
|
|
5
|
+
segmentId: 'H5CBGYjThrMSmaYvRaa5FVKJIzk_'
|
|
6
|
+
pieceOrAdLibId: 'C6K_yIMuGFUk8X_L9A9_jRT6aq4_'
|
|
7
|
+
thumbnailUrl: 'https://package-manager.local/package/MV000123.mov_thumbnail.jpg'
|
|
8
|
+
previewUrl: 'https://package-manager.local/package/MV000123.mov_preview'
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
packageInfoStatus:
|
|
3
|
+
title: PackageInfoStatus
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
packageName:
|
|
7
|
+
description: Name of the package
|
|
8
|
+
type: string
|
|
9
|
+
status:
|
|
10
|
+
$ref: '../packageStatus/packageStatus.yaml#/$defs/packageStatus'
|
|
11
|
+
rundownId:
|
|
12
|
+
description: Id of the Rundown that a Piece (or AdLib) expecting this package belongs to
|
|
13
|
+
type: string
|
|
14
|
+
partId:
|
|
15
|
+
description: Id of the Part that a Piece (or AdLib) expecting this package belongs to. It could be an Id of a Part from the Active Playlist topic, or a Part not exposed otherwise by the LSG.
|
|
16
|
+
type: string
|
|
17
|
+
segmentId:
|
|
18
|
+
description: Id of the Segment that a Piece (or AdLib) expecting this package belongs to
|
|
19
|
+
type: string
|
|
20
|
+
pieceOrAdLibId:
|
|
21
|
+
description: Id of the Piece or AdLib that expects this package. It could be an Id of a Piece from the Active Pieces and Active Playlist topics, or an Id of an AdLib from the AdLibs topic. It could also be an Id of a Piece not exposed otherwise by the LSG, but still relevant, e.g. to summarize the status of packages within a specific Part/Segment.
|
|
22
|
+
type: string
|
|
23
|
+
thumbnailUrl:
|
|
24
|
+
description: URL where the thumbnail can be accessed
|
|
25
|
+
type: string
|
|
26
|
+
previewUrl:
|
|
27
|
+
description: URL where the preview can be accessed
|
|
28
|
+
type: string
|
|
29
|
+
required: [status, rundownId, pieceOrAdLibId]
|
|
30
|
+
additionalProperties: false
|
|
31
|
+
examples:
|
|
32
|
+
- $ref: './packageInfoStatus-example.yaml'
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
packageStatus:
|
|
3
|
+
title: PackageStatus
|
|
4
|
+
type: string
|
|
5
|
+
description: |
|
|
6
|
+
Status:
|
|
7
|
+
* `unknown` - status not determined (yet)
|
|
8
|
+
* `ok` - no faults, can be played
|
|
9
|
+
* `source_broken` - the source is present, but should not be played due to a technical malfunction (file is broken, camera robotics failed, REMOTE input is just bars, etc.)
|
|
10
|
+
* `source_has_issues` - technically it can be played, but some issues with it were detected
|
|
11
|
+
* `source_missing` - the source (file, live input) is missing and cannot be played
|
|
12
|
+
* `source_not_ready` - can't be played for a non-technical reason (e.g. a placeholder clip with no content)
|
|
13
|
+
* `source_not_set` - missing a file path
|
|
14
|
+
* `source_unknown_state` - reported, but unrecognized state
|
|
15
|
+
enum:
|
|
16
|
+
- unknown
|
|
17
|
+
- ok
|
|
18
|
+
- source_broken
|
|
19
|
+
- source_has_issues
|
|
20
|
+
- source_missing
|
|
21
|
+
- source_not_ready
|
|
22
|
+
- source_not_set
|
|
23
|
+
- source_unknown_state
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
title: PackagesEvent
|
|
2
|
+
type: object
|
|
3
|
+
properties:
|
|
4
|
+
event:
|
|
5
|
+
type: string
|
|
6
|
+
const: packages
|
|
7
|
+
rundownPlaylistId:
|
|
8
|
+
description: Unique id of the rundown playlist, or null if no playlist is active
|
|
9
|
+
oneOf:
|
|
10
|
+
- type: string
|
|
11
|
+
- type: 'null'
|
|
12
|
+
packages:
|
|
13
|
+
description: The Package statuses for this playlist
|
|
14
|
+
type: array
|
|
15
|
+
items:
|
|
16
|
+
$ref: '../packageInfoStatus/packageInfoStatus.yaml#/$defs/packageInfoStatus'
|
|
17
|
+
required: [event, rundownPlaylistId, packages]
|
|
18
|
+
additionalProperties: false
|
|
19
|
+
examples:
|
|
20
|
+
- $ref: './packagesEvent-example.yaml'
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
currentPartStatus:
|
|
3
|
+
title: CurrentPartStatus
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: '../partStatus/partStatus.yaml#/$defs/partStatus'
|
|
6
|
+
- type: object
|
|
7
|
+
title: CurrentPartStatus
|
|
8
|
+
properties:
|
|
9
|
+
timing:
|
|
10
|
+
$ref: '../../timing/currentPartTiming/currentPartTiming.yaml#/$defs/currentPartTiming'
|
|
11
|
+
required: [timing]
|
|
12
|
+
examples:
|
|
13
|
+
- $ref: './currentPartStatus-example.yaml'
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
currentSegmentPart:
|
|
3
|
+
title: CurrentSegmentPart
|
|
4
|
+
type: object
|
|
5
|
+
allOf:
|
|
6
|
+
- $ref: '../partBase/partBase.yaml#/$defs/partBase'
|
|
7
|
+
- type: object
|
|
8
|
+
title: CurrentSegmentPart
|
|
9
|
+
properties:
|
|
10
|
+
timing:
|
|
11
|
+
$ref: '../../timing/currentSegmentPartTiming/currentSegmentPartTiming.yaml#/$defs/currentSegmentPartTiming'
|
|
12
|
+
required: [id, name, timing]
|
|
13
|
+
examples:
|
|
14
|
+
- $ref: './currentSegmentPart-example.yaml'
|