Skip to content

Commit

Permalink
feat: Generic graphic baseline
Browse files Browse the repository at this point in the history
  • Loading branch information
eol-account committed Mar 17, 2021
1 parent 3f218c1 commit ce371cb
Show file tree
Hide file tree
Showing 3 changed files with 132 additions and 120 deletions.
130 changes: 128 additions & 2 deletions src/tv2-common/helpers/graphics/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { IBlueprintPart } from '@sofie-automation/blueprints-integration'
import { TV2BlueprintConfig } from 'tv2-common'
import { IBlueprintPart, TSR } from '@sofie-automation/blueprints-integration'
import { layerToHTMLGraphicSlot, literal, TV2BlueprintConfig } from 'tv2-common'
import { GraphicLLayer } from 'tv2-constants'

export * from './name'
export * from './timing'
Expand All @@ -20,3 +21,128 @@ export function ApplyFullGraphicPropertiesToPart(config: TV2BlueprintConfig, par
? config.studio.HTMLGraphics.KeepAliveDuration
: config.studio.VizPilotGraphics.KeepAliveDuration
}

export function CreateGraphicBaseline(config: TV2BlueprintConfig): TSR.TSRTimelineObj[] {
if (config.studio.GraphicsType === 'VIZ') {
return []
} else {
return [
...[
GraphicLLayer.GraphicLLayerOverlayHeadline,
GraphicLLayer.GraphicLLayerOverlayIdent,
GraphicLLayer.GraphicLLayerOverlayLower,
GraphicLLayer.GraphicLLayerOverlayTema,
GraphicLLayer.GraphicLLayerOverlayTopt,
GraphicLLayer.GraphicLLayerLocators
].map(layer => {
return literal<TSR.TimelineObjCCGTemplate>({
id: '',
enable: {
while: '1'
},
priority: 0,
layer,
content: {
deviceType: TSR.DeviceType.CASPARCG,
type: TSR.TimelineContentTypeCasparCg.TEMPLATE,
templateType: 'html',
name: 'sport-overlay/index',
data: `<templateData>${encodeURI(
JSON.stringify({
display: 'program',
slots: {
[layerToHTMLGraphicSlot[layer]]: {
payload: {},
display: 'hidden'
}
},
partialUpdate: true
})
)}</templateData>`,
useStopCommand: false
}
})
}),
literal<TSR.TimelineObjCCGTemplate>({
id: '',
enable: {
while: '1'
},
priority: 0,
layer: GraphicLLayer.GraphicLLayerOverlay,
content: {
deviceType: TSR.DeviceType.CASPARCG,
type: TSR.TimelineContentTypeCasparCg.TEMPLATE,
templateType: 'html',
name: 'sport-overlay/index',
data: `<templateData>${encodeURI(
JSON.stringify({
display: 'program',
slots: {
...[
GraphicLLayer.GraphicLLayerOverlayHeadline,
GraphicLLayer.GraphicLLayerOverlayIdent,
GraphicLLayer.GraphicLLayerOverlayLower,
GraphicLLayer.GraphicLLayerOverlayTema,
GraphicLLayer.GraphicLLayerOverlayTopt
].map(layer => {
return {
[layerToHTMLGraphicSlot[layer]]: {
payload: {},
display: 'hidden'
}
}
})
},
partialUpdate: true
})
)}</templateData>`,
useStopCommand: false
}
}),
literal<TSR.TimelineObjCCGTemplate>({
id: '',
enable: {
while: '1'
},
priority: 0,
layer: GraphicLLayer.GraphicLLayerDesign,
content: {
deviceType: TSR.DeviceType.CASPARCG,
type: TSR.TimelineContentTypeCasparCg.TEMPLATE,
templateType: 'html',
name: 'sport-overlay/index',
data: `<templateData>${encodeURI(
JSON.stringify({
display: 'program',
design: '',
partialUpdate: true
})
)}</templateData>`,
useStopCommand: false
}
}),
literal<TSR.TimelineObjCCGTemplate>({
id: '',
enable: {
while: '1'
},
priority: 0,
layer: GraphicLLayer.GraphicLLayerPilot,
content: {
deviceType: TSR.DeviceType.CASPARCG,
type: TSR.TimelineContentTypeCasparCg.TEMPLATE,
templateType: 'html',
name: 'sport-overlay/index',
data: `<templateData>${encodeURI(
JSON.stringify({
display: 'program',
slots: {}
})
)}</templateData>`,
useStopCommand: false
}
})
]
}
}
2 changes: 2 additions & 0 deletions src/tv2_afvd_showstyle/getRundown.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import {
ActionRecallLastDVE,
ActionRecallLastLive,
ActionSelectDVELayout,
CreateGraphicBaseline,
CreateLYDBaseline,
GetEksternMetaData,
GetLayersForEkstern,
Expand Down Expand Up @@ -910,6 +911,7 @@ function getGlobalAdlibActionsAFVD(_context: ShowStyleContext, config: Blueprint

function getBaseline(config: BlueprintConfig): TSR.TSRTimelineObjBase[] {
return [
...CreateGraphicBaseline(config),
// Default timeline
literal<TSR.TimelineObjAtemME>({
id: '',
Expand Down
120 changes: 2 additions & 118 deletions src/tv2_offtube_showstyle/getRundown.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ import {
ActionRecallLastDVE,
ActionRecallLastLive,
ActionSelectDVELayout,
CreateGraphicBaseline,
CreateLYDBaseline,
GetTagForKam,
GetTagForLive,
GetTransitionAdLibActions,
layerToHTMLGraphicSlot,
literal,
pgmDSKLayers,
SourceInfo
Expand All @@ -37,7 +37,6 @@ import {
AdlibActionType,
AdlibTags,
CONSTANTS,
GraphicLLayer,
SharedOutputLayers,
SharedSisyfosLLayer,
SharedSourceLayers,
Expand Down Expand Up @@ -642,122 +641,7 @@ function getGlobalAdlibActionsOfftube(

function getBaseline(config: OfftubeShowstyleBlueprintConfig): TSR.TSRTimelineObjBase[] {
return [
...[
GraphicLLayer.GraphicLLayerOverlayHeadline,
GraphicLLayer.GraphicLLayerOverlayIdent,
GraphicLLayer.GraphicLLayerOverlayLower,
GraphicLLayer.GraphicLLayerOverlayTema,
GraphicLLayer.GraphicLLayerOverlayTopt,
GraphicLLayer.GraphicLLayerLocators
].map(layer => {
return literal<TSR.TimelineObjCCGTemplate>({
id: '',
enable: {
while: '1'
},
priority: 0,
layer,
content: {
deviceType: TSR.DeviceType.CASPARCG,
type: TSR.TimelineContentTypeCasparCg.TEMPLATE,
templateType: 'html',
name: 'sport-overlay/index',
data: `<templateData>${encodeURI(
JSON.stringify({
display: 'program',
slots: {
[layerToHTMLGraphicSlot[layer]]: {
payload: {},
display: 'hidden'
}
},
partialUpdate: true
})
)}</templateData>`,
useStopCommand: false
}
})
}),
literal<TSR.TimelineObjCCGTemplate>({
id: '',
enable: {
while: '1'
},
priority: 0,
layer: GraphicLLayer.GraphicLLayerOverlay,
content: {
deviceType: TSR.DeviceType.CASPARCG,
type: TSR.TimelineContentTypeCasparCg.TEMPLATE,
templateType: 'html',
name: 'sport-overlay/index',
data: `<templateData>${encodeURI(
JSON.stringify({
display: 'program',
slots: {
...[
GraphicLLayer.GraphicLLayerOverlayHeadline,
GraphicLLayer.GraphicLLayerOverlayIdent,
GraphicLLayer.GraphicLLayerOverlayLower,
GraphicLLayer.GraphicLLayerOverlayTema,
GraphicLLayer.GraphicLLayerOverlayTopt
].map(layer => {
return {
[layerToHTMLGraphicSlot[layer]]: {
payload: {},
display: 'hidden'
}
}
})
},
partialUpdate: true
})
)}</templateData>`,
useStopCommand: false
}
}),
literal<TSR.TimelineObjCCGTemplate>({
id: '',
enable: {
while: '1'
},
priority: 0,
layer: GraphicLLayer.GraphicLLayerDesign,
content: {
deviceType: TSR.DeviceType.CASPARCG,
type: TSR.TimelineContentTypeCasparCg.TEMPLATE,
templateType: 'html',
name: 'sport-overlay/index',
data: `<templateData>${encodeURI(
JSON.stringify({
display: 'program',
design: '',
partialUpdate: true
})
)}</templateData>`,
useStopCommand: false
}
}),
literal<TSR.TimelineObjCCGTemplate>({
id: '',
enable: {
while: '1'
},
priority: 0,
layer: GraphicLLayer.GraphicLLayerPilot,
content: {
deviceType: TSR.DeviceType.CASPARCG,
type: TSR.TimelineContentTypeCasparCg.TEMPLATE,
templateType: 'html',
name: 'sport-overlay/index',
data: `<templateData>${encodeURI(
JSON.stringify({
display: 'program',
slots: {}
})
)}</templateData>`,
useStopCommand: false
}
}),
...CreateGraphicBaseline(config),
// Default timeline
literal<TSR.TimelineObjAtemME>({
id: '',
Expand Down

0 comments on commit ce371cb

Please sign in to comment.