@bbc/sofie-live-status-gateway-api 1.53.0-in-development

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.
Files changed (141) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -0
  3. package/api/asyncapi.yaml +51 -0
  4. package/api/components/adLibs/actionType/actionType-example.yaml +2 -0
  5. package/api/components/adLibs/actionType/actionType.yaml +15 -0
  6. package/api/components/adLibs/adLibBase/adLibBase-example.yaml +9 -0
  7. package/api/components/adLibs/adLibBase/adLibBase.yaml +35 -0
  8. package/api/components/adLibs/adLibStatus/adLibStatus-example.yaml +3 -0
  9. package/api/components/adLibs/adLibStatus/adLibStatus.yaml +17 -0
  10. package/api/components/adLibs/adLibsEvent/adLibsEvent-example.yaml +6 -0
  11. package/api/components/adLibs/adLibsEvent/adLibsEvent.yaml +29 -0
  12. package/api/components/adLibs/bucketAdLibStatus/bucketAdLibStatus-example.yaml +2 -0
  13. package/api/components/adLibs/bucketAdLibStatus/bucketAdLibStatus.yaml +14 -0
  14. package/api/components/adLibs/globalAdLibStatus/globalAdLibStatus-example.yaml +1 -0
  15. package/api/components/adLibs/globalAdLibStatus/globalAdLibStatus.yaml +7 -0
  16. package/api/components/adLibs/messages/adLibsMessage.yaml +10 -0
  17. package/api/components/buckets/bucketStatus/bucketStatus-example.yaml +4 -0
  18. package/api/components/buckets/bucketStatus/bucketStatus.yaml +20 -0
  19. package/api/components/buckets/bucketsEvent/bucketsEvent-example.yaml +3 -0
  20. package/api/components/buckets/bucketsEvent/bucketsEvent.yaml +17 -0
  21. package/api/components/buckets/messages/bucketsMessage.yaml +10 -0
  22. package/api/components/connection/heartbeatEvent/heartbeatEvent-example.yaml +1 -0
  23. package/api/components/connection/heartbeatEvent/heartbeatEvent.yaml +12 -0
  24. package/api/components/connection/messages/heartbeatMessage.yaml +11 -0
  25. package/api/components/connection/messages/pingMessage.yaml +12 -0
  26. package/api/components/connection/messages/pongMessage.yaml +12 -0
  27. package/api/components/connection/pingEvent/pingEvent-example.yaml +2 -0
  28. package/api/components/connection/pingEvent/pingEvent.yaml +14 -0
  29. package/api/components/connection/pongEvent/pongEvent-example.yaml +2 -0
  30. package/api/components/connection/pongEvent/pongEvent.yaml +14 -0
  31. package/api/components/connection/reqid/reqid.yaml +4 -0
  32. package/api/components/notifications/events/notificationsEvent/notificationsEvent-example.yaml +3 -0
  33. package/api/components/notifications/events/notificationsEvent/notificationsEvent.yaml +18 -0
  34. package/api/components/notifications/messages/notificationsMessage.yaml +10 -0
  35. package/api/components/notifications/notificationObj/notificationObj-example.yaml +7 -0
  36. package/api/components/notifications/notificationObj/notificationObj.yaml +33 -0
  37. package/api/components/notifications/notificationSeverity.yaml +9 -0
  38. package/api/components/notifications/target/notificationTarget.yaml +16 -0
  39. package/api/components/notifications/target/notificationTargetType.yaml +11 -0
  40. package/api/components/notifications/target/partInstance/notificationTargetPartInstance-example.yaml +4 -0
  41. package/api/components/notifications/target/partInstance/notificationTargetPartInstance.yaml +18 -0
  42. package/api/components/notifications/target/pieceInstance/notificationTargetPieceInstance-example.yaml +5 -0
  43. package/api/components/notifications/target/pieceInstance/notificationTargetPieceInstance.yaml +20 -0
  44. package/api/components/notifications/target/rundown/notificationTargetRundown-example.yaml +3 -0
  45. package/api/components/notifications/target/rundown/notificationTargetRundown.yaml +16 -0
  46. package/api/components/notifications/target/rundownPlaylist/notificationTargetRundownPlaylist-example.yaml +3 -0
  47. package/api/components/notifications/target/rundownPlaylist/notificationTargetRundownPlaylist.yaml +16 -0
  48. package/api/components/notifications/target/unknown/notificationTargetUnknown-example.yaml +1 -0
  49. package/api/components/notifications/target/unknown/notificationTargetUnknown.yaml +12 -0
  50. package/api/components/packages/messages/packagesMessage.yaml +8 -0
  51. package/api/components/packages/packageInfoStatus/packageInfoStatus-example.yaml +8 -0
  52. package/api/components/packages/packageInfoStatus/packageInfoStatus.yaml +32 -0
  53. package/api/components/packages/packageStatus/packageStatus.yaml +23 -0
  54. package/api/components/packages/packagesEvent/packagesEvent-example.yaml +4 -0
  55. package/api/components/packages/packagesEvent/packagesEvent.yaml +20 -0
  56. package/api/components/part/currentPart/currentPartStatus-example.yaml +3 -0
  57. package/api/components/part/currentPart/currentPartStatus.yaml +13 -0
  58. package/api/components/part/currentSegmentPart/currentSegmentPart-example.yaml +3 -0
  59. package/api/components/part/currentSegmentPart/currentSegmentPart.yaml +14 -0
  60. package/api/components/part/partBase/partBase-example.yaml +3 -0
  61. package/api/components/part/partBase/partBase.yaml +18 -0
  62. package/api/components/part/partStatus/partStatus-example.yaml +6 -0
  63. package/api/components/part/partStatus/partStatus.yaml +22 -0
  64. package/api/components/piece/activePiecesEvent/activePiecesEvent-example.yaml +4 -0
  65. package/api/components/piece/activePiecesEvent/activePiecesEvent.yaml +22 -0
  66. package/api/components/piece/messages/activePiecesMessage.yaml +10 -0
  67. package/api/components/piece/pieceStatus/pieceStatus-example.yaml +7 -0
  68. package/api/components/piece/pieceStatus/pieceStatus.yaml +28 -0
  69. package/api/components/playlist/activePlaylistEvent/activePlaylistEvent-example.yaml +17 -0
  70. package/api/components/playlist/activePlaylistEvent/activePlaylistEvent.yaml +50 -0
  71. package/api/components/playlist/messages/activePlaylistMessage.yaml +11 -0
  72. package/api/components/playlist/playlistStatus/playlistStatus-example.yaml +4 -0
  73. package/api/components/playlist/playlistStatus/playlistStatus.yaml +26 -0
  74. package/api/components/quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop-example.yaml +6 -0
  75. package/api/components/quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop.yaml +19 -0
  76. package/api/components/quickLoop/quickLoopMarker/quickLoopMarker-example.yaml +2 -0
  77. package/api/components/quickLoop/quickLoopMarker/quickLoopMarker.yaml +20 -0
  78. package/api/components/quickLoop/quickLoopMarkerType.yaml +10 -0
  79. package/api/components/segment/currentSegment/currentSegment-example.yaml +5 -0
  80. package/api/components/segment/currentSegment/currentSegment.yaml +19 -0
  81. package/api/components/segment/messages/segmentsMessage.yaml +10 -0
  82. package/api/components/segment/segment/segment-example.yaml +8 -0
  83. package/api/components/segment/segment/segment.yaml +26 -0
  84. package/api/components/segment/segmentBase/segmentBase-example.yaml +1 -0
  85. package/api/components/segment/segmentBase/segmentBase.yaml +11 -0
  86. package/api/components/segment/segmentsEvent/segmentsEvent-example.yaml +4 -0
  87. package/api/components/segment/segmentsEvent/segmentsEvent.yaml +23 -0
  88. package/api/components/studio/messages/studioUpdate.yaml +11 -0
  89. package/api/components/studio/studioEvent/studioEvent-example.yaml +2 -0
  90. package/api/components/studio/studioEvent/studioEvent.yaml +16 -0
  91. package/api/components/studio/studioStatus/studioStatus-example.yaml +4 -0
  92. package/api/components/studio/studioStatus/studioStatus.yaml +21 -0
  93. package/api/components/subscriptions/events/subscribeEvent/subscribeEvent-example.yaml +4 -0
  94. package/api/components/subscriptions/events/subscribeEvent/subscribeEvent.yaml +15 -0
  95. package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusError/subscriptionStatusError-example.yaml +2 -0
  96. package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusError/subscriptionStatusError.yaml +14 -0
  97. package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusEvent-example.yaml +4 -0
  98. package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusEvent.yaml +10 -0
  99. package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusSuccess/subscriptionStatusSuccess-example.yaml +4 -0
  100. package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusSuccess/subscriptionStatusSuccess.yaml +16 -0
  101. package/api/components/subscriptions/messages/subscribeMessage.yaml +12 -0
  102. package/api/components/subscriptions/messages/subscriptionStatusErrorMessage.yaml +10 -0
  103. package/api/components/subscriptions/messages/subscriptionStatusSuccessMessage.yaml +10 -0
  104. package/api/components/subscriptions/subscriptionDetails/subscriptionDetails-example.yaml +2 -0
  105. package/api/components/subscriptions/subscriptionDetails/subscriptionDetails.yaml +13 -0
  106. package/api/components/subscriptions/subscriptionEventName.yaml +8 -0
  107. package/api/components/subscriptions/subscriptionName.yaml +14 -0
  108. package/api/components/subscriptions/subscriptionRequestDetails/subscriptionRequestDetails.yaml +11 -0
  109. package/api/components/subscriptions/subscriptionStatusName.yaml +8 -0
  110. package/api/components/timing/activePlaylistTiming/activePlaylistTiming-example.yaml +3 -0
  111. package/api/components/timing/activePlaylistTiming/activePlaylistTiming.yaml +24 -0
  112. package/api/components/timing/activePlaylistTiming/activePlaylistTimingMode.yaml +7 -0
  113. package/api/components/timing/currentPartTiming/currentPartTiming-example.yaml +3 -0
  114. package/api/components/timing/currentPartTiming/currentPartTiming.yaml +20 -0
  115. package/api/components/timing/currentSegmentPartTiming/currentSegmentPartTiming-example.yaml +1 -0
  116. package/api/components/timing/currentSegmentPartTiming/currentSegmentPartTiming.yaml +8 -0
  117. package/api/components/timing/currentSegmentTiming/currentSegmentTiming-example.yaml +2 -0
  118. package/api/components/timing/currentSegmentTiming/currentSegmentTiming.yaml +16 -0
  119. package/api/components/timing/segmentCountdownType.yaml +6 -0
  120. package/api/components/timing/segmentTiming/segmentTiming-example.yaml +3 -0
  121. package/api/components/timing/segmentTiming/segmentTiming.yaml +19 -0
  122. package/api/topics/activePieces/activePiecesTopic.yaml +8 -0
  123. package/api/topics/activePlaylist/activePlaylistTopic.yaml +8 -0
  124. package/api/topics/adLibs/adLibsTopic.yaml +8 -0
  125. package/api/topics/buckets/bucketsTopic.yaml +8 -0
  126. package/api/topics/heartbeat/heartbeatTopic.yaml +7 -0
  127. package/api/topics/notifications/notificationsTopic.yaml +7 -0
  128. package/api/topics/packages/packagesTopic.yaml +7 -0
  129. package/api/topics/ping/pingTopic.yaml +11 -0
  130. package/api/topics/segments/segmentsTopic.yaml +7 -0
  131. package/api/topics/studio/studioTopic.yaml +7 -0
  132. package/api/topics/subscriptions/subscriptionsTopic.yaml +16 -0
  133. package/dist/generated/schema.d.ts +824 -0
  134. package/dist/generated/schema.d.ts.map +1 -0
  135. package/dist/generated/schema.js +118 -0
  136. package/dist/generated/schema.js.map +1 -0
  137. package/dist/index.d.ts +3 -0
  138. package/dist/index.d.ts.map +1 -0
  139. package/dist/index.js +6 -0
  140. package/dist/index.js.map +1 -0
  141. package/package.json +68 -0
@@ -0,0 +1,16 @@
1
+ $defs:
2
+ NotificationTargetRundownPlaylist:
3
+ type: object
4
+ title: NotificationTargetRundownPlaylist
5
+ required: [type, studioId, playlistId]
6
+ properties:
7
+ type:
8
+ $ref: '../notificationTargetType.yaml#/$defs/NotificationTargetType'
9
+ const: playlist
10
+ studioId:
11
+ type: string
12
+ playlistId:
13
+ type: string
14
+ additionalProperties: false
15
+ examples:
16
+ - $ref: './notificationTargetRundownPlaylist-example.yaml'
@@ -0,0 +1,12 @@
1
+ $defs:
2
+ NotificationTargetUnknown:
3
+ type: object
4
+ title: NotificationTargetUnknown
5
+ required: [type]
6
+ properties:
7
+ type:
8
+ $ref: '../notificationTargetType.yaml#/$defs/NotificationTargetType'
9
+ const: unknown
10
+ additionalProperties: false
11
+ examples:
12
+ - $ref: './notificationTargetUnknown-example.yaml'
@@ -0,0 +1,8 @@
1
+ components:
2
+ messages:
3
+ packagesMessage:
4
+ name: packages
5
+ messageId: packages
6
+ description: Status of Packages expected by Pieces
7
+ payload:
8
+ $ref: '../packagesEvent/packagesEvent.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,4 @@
1
+ event: packages
2
+ rundownPlaylistId: 'y9HauyWkcxQS3XaAOsW40BRLLsI_'
3
+ packages:
4
+ - $ref: '../packageInfoStatus/packageInfoStatus-example.yaml'
@@ -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,3 @@
1
+ $ref: '../partStatus/partStatus-example.yaml'
2
+ timing:
3
+ $ref: '../../timing/currentPartTiming/currentPartTiming-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,3 @@
1
+ $ref: '../partBase/partBase-example.yaml'
2
+ timing:
3
+ expectedDurationMs: 15000
@@ -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'
@@ -0,0 +1,3 @@
1
+ id: 'H5CBGYjThrMSmaYvRaa5FVKJIzk_'
2
+ name: 'Intro'
3
+ autoNext: false
@@ -0,0 +1,18 @@
1
+ $defs:
2
+ partBase:
3
+ type: object
4
+ title: PartBase
5
+ properties:
6
+ id:
7
+ description: Unique id of the part
8
+ type: string
9
+ name:
10
+ description: User-presentable name of the part
11
+ type: string
12
+ autoNext:
13
+ description: If this part will progress to the next automatically
14
+ type: boolean
15
+ default: false
16
+ required: [id, name]
17
+ examples:
18
+ - $ref: './partBase-example.yaml'
@@ -0,0 +1,6 @@
1
+ $ref: '../partBase/partBase-example.yaml'
2
+ segmentId: 'n1mOVd5_K5tt4sfk6HYfTuwumGQ_'
3
+ pieces:
4
+ - $ref: '../../piece/pieceStatus/pieceStatus.yaml#/$defs/pieceStatus/examples/0'
5
+ publicData:
6
+ partType: 'intro'
@@ -0,0 +1,22 @@
1
+ $defs:
2
+ partStatus:
3
+ type: object
4
+ title: PartStatus
5
+ allOf:
6
+ - $ref: '../partBase/partBase.yaml#/$defs/partBase'
7
+ - type: object
8
+ title: PartStatus
9
+ properties:
10
+ segmentId:
11
+ description: Unique id of the segment this part belongs to
12
+ type: string
13
+ pieces:
14
+ description: All pieces in this part
15
+ type: array
16
+ items:
17
+ $ref: '../../piece/pieceStatus/pieceStatus.yaml#/$defs/pieceStatus'
18
+ publicData:
19
+ description: Optional arbitrary data
20
+ required: [id, name, segmentId, pieces]
21
+ examples:
22
+ - $ref: './partStatus-example.yaml'
@@ -0,0 +1,4 @@
1
+ event: activePieces
2
+ rundownPlaylistId: 'OKAgZmZ0Buc99lE_2uPPSKVbMrQ_'
3
+ activePieces:
4
+ - $ref: '../pieceStatus/pieceStatus-example.yaml'
@@ -0,0 +1,22 @@
1
+ $defs:
2
+ activePiecesEvent:
3
+ type: object
4
+ title: ActivePiecesEvent
5
+ properties:
6
+ event:
7
+ type: string
8
+ const: activePieces
9
+ rundownPlaylistId:
10
+ description: Unique id of the rundown playlist, or null if no playlist is active
11
+ oneOf:
12
+ - type: string
13
+ - type: 'null'
14
+ activePieces:
15
+ description: Pieces that are currently active (on air)
16
+ type: array
17
+ items:
18
+ $ref: '../pieceStatus/pieceStatus.yaml#/$defs/pieceStatus'
19
+ required: [event, rundownPlaylistId, activePieces]
20
+ additionalProperties: false
21
+ examples:
22
+ - $ref: './activePiecesEvent-example.yaml'
@@ -0,0 +1,10 @@
1
+ components:
2
+ messages:
3
+ activePiecesMessage:
4
+ messageId: activePieces
5
+ title: Active Pieces Event Message
6
+ payload:
7
+ $ref: '../activePiecesEvent/activePiecesEvent.yaml#/$defs/activePiecesEvent'
8
+ examples:
9
+ - payload:
10
+ $ref: '../activePiecesEvent/activePiecesEvent-example.yaml'
@@ -0,0 +1,7 @@
1
+ id: 'H5CBGYjThrMSmaYvRaa5FVKJIzk_'
2
+ name: 'Camera 1'
3
+ sourceLayer: 'Camera'
4
+ outputLayer: 'PGM'
5
+ tags: ['camera']
6
+ publicData:
7
+ switcherSource: 1
@@ -0,0 +1,28 @@
1
+ $defs:
2
+ pieceStatus:
3
+ type: object
4
+ title: PieceStatus
5
+ properties:
6
+ id:
7
+ description: Unique id of the Piece
8
+ type: string
9
+ name:
10
+ description: User-facing name of the Piece
11
+ type: string
12
+ sourceLayer:
13
+ description: The source layer name for this Piece
14
+ type: string
15
+ outputLayer:
16
+ description: The output layer name for this Piece
17
+ type: string
18
+ tags:
19
+ description: Tags attached to this Piece
20
+ type: array
21
+ items:
22
+ type: string
23
+ publicData:
24
+ description: Optional arbitrary data
25
+ required: [id, name, sourceLayer, outputLayer]
26
+ additionalProperties: false
27
+ examples:
28
+ - $ref: './pieceStatus-example.yaml'
@@ -0,0 +1,17 @@
1
+ event: activePlaylist
2
+ id: 'OKAgZmZ0Buc99lE_2uPPSKVbMrQ_'
3
+ externalId: '1ZIYVYL1aEkNEJbeGsmRXr5s8wtkyxfPRjNSTxZfcoEI'
4
+ name: 'Playlist 0'
5
+ rundownIds: ['y9HauyWkcxQS3XaAOsW40BRLLsI_']
6
+ currentPart:
7
+ $ref: '../../part/currentPart/currentPartStatus-example.yaml'
8
+ currentSegment:
9
+ $ref: '../../segment/currentSegment/currentSegment-example.yaml'
10
+ nextPart:
11
+ $ref: '../../part/partStatus/partStatus-example.yaml'
12
+ publicData:
13
+ category: 'Evening News'
14
+ timing:
15
+ $ref: '../../timing/activePlaylistTiming/activePlaylistTiming-example.yaml'
16
+ quickLoop:
17
+ $ref: '../../quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop-example.yaml'
@@ -0,0 +1,50 @@
1
+ title: Active Playlist
2
+ description: Active Playlist schema for websocket subscriptions
3
+ $defs:
4
+ activePlaylistEvent:
5
+ type: object
6
+ title: ActivePlaylistEvent
7
+ properties:
8
+ event:
9
+ type: string
10
+ const: activePlaylist
11
+ id:
12
+ description: Unique id of the active playlist
13
+ oneOf:
14
+ - type: string
15
+ - type: 'null'
16
+ externalId:
17
+ description: Id normally sourced from the ingest system
18
+ oneOf:
19
+ - type: string
20
+ - type: 'null'
21
+ name:
22
+ description: User-presentable name for the active playlist
23
+ type: string
24
+ rundownIds:
25
+ description: The set of rundownIds in the active playlist, in order
26
+ type: array
27
+ items:
28
+ type: string
29
+ currentPart:
30
+ oneOf:
31
+ - $ref: '../../part/currentPart/currentPartStatus.yaml#/$defs/currentPartStatus'
32
+ - type: 'null'
33
+ currentSegment:
34
+ oneOf:
35
+ - $ref: '../../segment/currentSegment/currentSegment.yaml#/$defs/currentSegment'
36
+ - type: 'null'
37
+ nextPart:
38
+ oneOf:
39
+ - $ref: '../../part/partStatus/partStatus.yaml#/$defs/partStatus'
40
+ - type: 'null'
41
+ publicData:
42
+ description: Optional arbitrary data
43
+ timing:
44
+ $ref: '../../timing/activePlaylistTiming/activePlaylistTiming.yaml#/$defs/activePlaylistTiming'
45
+ quickLoop:
46
+ $ref: '../../quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop.yaml#/$defs/activePlaylistQuickLoop'
47
+ required: [event, id, externalId, name, rundownIds, currentPart, currentSegment, nextPart, timing]
48
+ additionalProperties: false
49
+ examples:
50
+ - $ref: './activePlaylistEvent-example.yaml'
@@ -0,0 +1,11 @@
1
+ components:
2
+ messages:
3
+ activePlaylistMessage:
4
+ name: activePlaylist
5
+ messageId: activePlaylistUpdate
6
+ description: Active Playlist status
7
+ payload:
8
+ $ref: '../activePlaylistEvent/activePlaylistEvent.yaml#/$defs/activePlaylistEvent'
9
+ examples:
10
+ - payload:
11
+ $ref: '../activePlaylistEvent/activePlaylistEvent-example.yaml'
@@ -0,0 +1,4 @@
1
+ id: 'OKAgZmZ0Buc99lE_2uPPSKVbMrQ_'
2
+ externalId: '1ZIYVYL1aEkNEJbeGsmRXr5s8wtkyxfPRjNSTxZfcoEI'
3
+ name: 'Playlist 0'
4
+ activationStatus: rehearsal
@@ -0,0 +1,26 @@
1
+ $defs:
2
+ playlistStatus:
3
+ title: PlaylistStatus
4
+ type: object
5
+ properties:
6
+ id:
7
+ description: Unique id of the playlist
8
+ type: string
9
+ externalId:
10
+ description: Id normally sourced from the ingest system
11
+ type: string
12
+ name:
13
+ description: The user defined playlist name
14
+ type: string
15
+ activationStatus:
16
+ description: Whether this playlist is currently active or in rehearsal
17
+ type: string
18
+ title: PlaylistActivationStatus
19
+ enum:
20
+ - deactivated
21
+ - rehearsal
22
+ - activated
23
+ required: [id, externalId, name, activationStatus]
24
+ additionalProperties: false
25
+ examples:
26
+ - $ref: './playlistStatus-example.yaml'
@@ -0,0 +1,6 @@
1
+ locked: false
2
+ running: true
3
+ start:
4
+ $ref: '../quickLoopMarker/quickLoopMarker-example.yaml'
5
+ end:
6
+ $ref: '../quickLoopMarker/quickLoopMarker-example.yaml'
@@ -0,0 +1,19 @@
1
+ $defs:
2
+ activePlaylistQuickLoop:
3
+ description: Information about the current quickLoop, if any
4
+ type: object
5
+ title: ActivePlaylistQuickLoop
6
+ properties:
7
+ locked:
8
+ description: Whether the user is allowed to make alterations to the Start/End markers
9
+ type: boolean
10
+ running:
11
+ description: Whether the loop has two valid markers and is currently running
12
+ type: boolean
13
+ start:
14
+ $ref: '../quickLoopMarker/quickLoopMarker.yaml#/$defs/quickLoopMarker'
15
+ end:
16
+ $ref: '../quickLoopMarker/quickLoopMarker.yaml#/$defs/quickLoopMarker'
17
+ required: [locked, running]
18
+ examples:
19
+ - $ref: './activePlaylistQuickLoop-example.yaml'
@@ -0,0 +1,2 @@
1
+ markerType: rundown
2
+ rundownId: 'y9HauyWkcxQS3XaAOsW40BRLLsI_'
@@ -0,0 +1,20 @@
1
+ $defs:
2
+ quickLoopMarker:
3
+ type: object
4
+ title: QuickLoopMarker
5
+ description: Represents a positional marker used to define the start or end of a Quick Loop by referencing a rundown, segment, or part.
6
+ properties:
7
+ markerType:
8
+ $ref: '../quickLoopMarkerType.yaml#/$defs/quickLoopMarkerType'
9
+ rundownId:
10
+ description: The rundown that this marker references. This will be set for rundown, segment and part markers
11
+ type: string
12
+ segmentId:
13
+ description: The segment that this marker references. This will be set for segment and part markers
14
+ type: string
15
+ partId:
16
+ description: The part that this marker references. This will be set for only part markers
17
+ type: string
18
+ required: [markerType]
19
+ examples:
20
+ - $ref: './quickLoopMarker-example.yaml'
@@ -0,0 +1,10 @@
1
+ $defs:
2
+ quickLoopMarkerType:
3
+ type: string
4
+ title: QuickLoopMarkerType
5
+ description: The type of entity the marker is locked to
6
+ enum:
7
+ - playlist
8
+ - rundown
9
+ - segment
10
+ - part
@@ -0,0 +1,5 @@
1
+ $ref: '../segmentBase/segmentBase-example.yaml'
2
+ timing:
3
+ $ref: '../../timing/currentSegmentTiming/currentSegmentTiming-example.yaml'
4
+ parts:
5
+ - $ref: '../../part/currentSegmentPart/currentSegmentPart-example.yaml'
@@ -0,0 +1,19 @@
1
+ $defs:
2
+ currentSegment:
3
+ type: object
4
+ title: CurrentSegment
5
+ allOf:
6
+ - $ref: '../segmentBase/segmentBase.yaml#/$defs/segmentBase'
7
+ - title: CurrentSegment
8
+ type: object
9
+ properties:
10
+ timing:
11
+ $ref: '../../timing/currentSegmentTiming/currentSegmentTiming.yaml#/$defs/currentSegmentTiming'
12
+ parts:
13
+ type: array
14
+ items:
15
+ $ref: '../../part/currentSegmentPart/currentSegmentPart.yaml#/$defs/currentSegmentPart'
16
+ required: [timing, parts]
17
+ required: [id, timing, parts]
18
+ examples:
19
+ - $ref: './currentSegment-example.yaml'
@@ -0,0 +1,10 @@
1
+ components:
2
+ messages:
3
+ segmentsMessage:
4
+ messageId: segments
5
+ title: Segments Event Message
6
+ payload:
7
+ $ref: '../segmentsEvent/segmentsEvent.yaml#/$defs/segmentsEvent'
8
+ examples:
9
+ - payload:
10
+ $ref: '../segmentsEvent/segmentsEvent-example.yaml'
@@ -0,0 +1,8 @@
1
+ $ref: '../segmentBase/segmentBase-example.yaml'
2
+ identifier: 'Segment 0 identifier'
3
+ rundownId: 'y9HauyWkcxQS3XaAOsW40BRLLsI_'
4
+ name: 'Segment 0'
5
+ timing:
6
+ $ref: '../../timing/segmentTiming/segmentTiming-example.yaml'
7
+ publicData:
8
+ containsLiveSource: true
@@ -0,0 +1,26 @@
1
+ $defs:
2
+ segment:
3
+ type: object
4
+ title: Segment
5
+ allOf:
6
+ - $ref: '../segmentBase/segmentBase.yaml#/$defs/segmentBase'
7
+ - type: object
8
+ title: Segment
9
+ properties:
10
+ identifier:
11
+ description: User-facing identifier that can be used to identify the contents of a segment in the Rundown source system
12
+ type: string
13
+ rundownId:
14
+ description: Unique id of the rundown this segment belongs to
15
+ type: string
16
+ name:
17
+ description: Name of the segment
18
+ type: string
19
+ timing:
20
+ $ref: '../../timing/segmentTiming/segmentTiming.yaml#/$defs/segmentTiming'
21
+ publicData:
22
+ description: Optional arbitrary data
23
+ required: [rundownId, name, timing]
24
+ required: [id, rundownId, name, timing]
25
+ examples:
26
+ - $ref: './segment-example.yaml'
@@ -0,0 +1 @@
1
+ id: 'OKAgZmZ0Buc99lE_2uPPSKVbMrQ_'
@@ -0,0 +1,11 @@
1
+ $defs:
2
+ segmentBase:
3
+ title: SegmentBase
4
+ type: object
5
+ properties:
6
+ id:
7
+ type: string
8
+ description: Unique id of the segment
9
+ required: [id]
10
+ examples:
11
+ - $ref: './segmentBase-example.yaml'
@@ -0,0 +1,4 @@
1
+ event: segments
2
+ rundownPlaylistId: 'OKAgZmZ0Buc99lE_2uPPSKVbMrQ_'
3
+ segments:
4
+ - $ref: '../segment/segment-example.yaml'
@@ -0,0 +1,23 @@
1
+ title: Segments
2
+ description: Segments schema for websocket subscriptions
3
+ $defs:
4
+ segmentsEvent:
5
+ type: object
6
+ title: SegmentsEvent
7
+ properties:
8
+ event:
9
+ type: string
10
+ const: segments
11
+ rundownPlaylistId:
12
+ description: Unique id of the rundown playlist, or null if no playlist is active
13
+ oneOf:
14
+ - type: string
15
+ - type: 'null'
16
+ segments:
17
+ description: The segments that are in the currently active rundown playlist, in order
18
+ type: array
19
+ items:
20
+ $ref: '../segment/segment.yaml#/$defs/segment'
21
+ required: [event, rundownPlaylistId, segments]
22
+ examples:
23
+ - $ref: './segmentsEvent-example.yaml'
@@ -0,0 +1,11 @@
1
+ components:
2
+ messages:
3
+ studioUpdate:
4
+ name: studio
5
+ messageId: studioUpdate
6
+ description: Studio status
7
+ payload:
8
+ $ref: '../studioEvent/studioEvent.yaml#/$defs/studioEvent'
9
+ examples:
10
+ - payload:
11
+ $ref: '../studioEvent/studioEvent-example.yaml'
@@ -0,0 +1,2 @@
1
+ event: studio
2
+ $ref: '../studioStatus/studioStatus-example.yaml'
@@ -0,0 +1,16 @@
1
+ $defs:
2
+ studioEvent:
3
+ title: StudioEvent
4
+ type: object
5
+ allOf:
6
+ - title: StudioEvent
7
+ type: object
8
+ properties:
9
+ event:
10
+ type: string
11
+ const: studio
12
+ required: [event]
13
+ - $ref: '../studioStatus/studioStatus.yaml#/$defs/studioStatus'
14
+ required: [event, id, name, playlists]
15
+ examples:
16
+ - $ref: './studioEvent-example.yaml'