Interface ShowStyleBlueprintManifest<TRawConfig, TProcessedConfig>

Type Parameters

Hierarchy

Properties

TSRVersion: string

Version of the TSR-types that the blueprint depend on

applyConfig?: ((context: ICommonContext, config: TRawConfig) => BlueprintResultApplyShowStyleConfig)

Type declaration

blueprintId?: string

Unique id of the blueprint. This is used by core to check if blueprints are the same blueprint, but differing versions

blueprintType: SHOWSTYLE
blueprintVersion: string

Version of the blueprint

configPresets: Record<string, IShowStyleConfigPreset<TRawConfig>>

The config presets exposed by this blueprint

executeAction?: ((context: IActionExecutionContext, actionId: string, userData: ActionUserData, triggerMode?: string) => Promise<void>)

Type declaration

executeDataStoreAction?: ((context: IDataStoreActionExecutionContext, actionId: string, userData: ActionUserData, triggerMode?: string) => Promise<void>)

Type declaration

    • (context: IDataStoreActionExecutionContext, actionId: string, userData: ActionUserData, triggerMode?: string): Promise<void>
    • Execute an action defined by an IBlueprintActionManifest.

      This callback allows an action to perform operations only on the Timeline Datastore. This allows for a fast-path for rapid-fire actions, before the full executeAction callback resolves. For more information on how to use this callback, see "Timeline Datastore" in Sofie TV Automation Documentation for Blueprint Developers.

      Parameters

      Returns Promise<void>

getAbResolverConfiguration?: ((context: IShowStyleContext) => ABResolverConfiguration)

Type declaration

getAdlibItem?: ((context: IShowStyleUserContext, ingestItem: IngestAdlib) => null | IBlueprintActionManifest | IBlueprintAdLibPiece<unknown>)

Type declaration

getEndStateForPart?: ((context: IRundownContext, previousPersistentState: unknown, partInstance: IBlueprintPartInstance<unknown>, resolvedPieces: IBlueprintResolvedPieceInstance<unknown>[], time: number) => unknown)

Type declaration

getRundown: ((context: IGetRundownContext, ingestRundown: ExtendedIngestRundown) => null | BlueprintResultRundown | Promise<null | BlueprintResultRundown>)

Type declaration

getSegment: ((context: ISegmentUserContext, ingestSegment: IngestSegment) => BlueprintResultSegment | Promise<BlueprintResultSegment>)

Type declaration

getShowStyleVariantId: ((context: IStudioUserContext, showStyleVariants: readonly ReadonlyObjectDeep<IBlueprintShowStyleVariant>[], ingestRundown: ExtendedIngestRundown) => null | string)

Type declaration

integrationVersion: string

Version of the blueprint-integration that the blueprint depend on

onPostTake?: ((context: IPartEventContext) => Promise<void>)

Type declaration

onPreTake?: ((context: IPartEventContext) => Promise<void>)

Type declaration

onRundownActivate?: ((context: IRundownActivationContext, wasActive: boolean) => Promise<void>)

Type declaration

onRundownDataChangedEvent?: ((context: IRundownDataChangedEventContext) => Promise<IBlueprintExternalMessageQueueObj[]>)

Type declaration

onRundownDeActivate?: ((context: IRundownActivationContext) => Promise<void>)

Type declaration

onRundownFirstTake?: ((context: IPartEventContext) => Promise<void>)

Type declaration

onRundownTimingEvent?: ((context: IRundownTimingEventContext) => Promise<IBlueprintExternalMessageQueueObj[]>)

Type declaration

onTimelineGenerate?: ((context: ITimelineEventContext, timeline: OnGenerateTimelineObj<TSRTimelineContent, unknown, unknown>[], previousPersistentState: unknown, previousPartEndState: unknown, resolvedPieces: IBlueprintResolvedPieceInstance<unknown>[]) => Promise<BlueprintResultTimeline>)

Type declaration

preprocessConfig?: ((context: ICommonContext, config: TRawConfig, coreConfig: BlueprintConfigCoreConfig) => TProcessedConfig)

Type declaration

    • (context: ICommonContext, config: TRawConfig, coreConfig: BlueprintConfigCoreConfig): TProcessedConfig
    • Preprocess config before storing it by core to later be returned by context's getShowStyleConfig. If not provided, getShowStyleConfig will return unprocessed blueprint config

      Parameters

      Returns TProcessedConfig

showStyleConfigSchema: JSONBlob<JSONSchema<any, JSONSchema.TypeValue>>

A list of config items this blueprint expects to be available on the ShowStyle

showStyleMigrations: MigrationStepShowStyle[]

A list of Migration steps related to a ShowStyle

syncIngestUpdateToPartInstance?: ((context: ISyncIngestUpdateToPartInstanceContext, existingPartInstance: BlueprintSyncIngestPartInstance, newData: BlueprintSyncIngestNewData, playoutStatus: "next" | "current" | "previous") => void)

Type declaration

    • (context: ISyncIngestUpdateToPartInstanceContext, existingPartInstance: BlueprintSyncIngestPartInstance, newData: BlueprintSyncIngestNewData, playoutStatus: "next" | "current" | "previous"): void
    • Allows the blueprint to custom-modify the PartInstance, on ingest data update (this is run after getSegment())

      playStatus: previous means that the currentPartInstance is orphaned: adlib-part and thus possibly depends on an already past PartInstance for some of it's properties. Therefore the blueprint is allowed to modify the most recently played non-adlibbed PartInstance using ingested data.

      newData.part will be undefined when the PartInstance is orphaned. Generally, it's useful to differentiate the behavior of the implementation of this function based on existingPartInstance.partInstance.orphaned state

      Parameters

      Returns void

translations?: string

Translations connected to the studio (as stringified JSON)

validateConfig?: ((context: ICommonContext, config: TRawConfig) => IConfigMessage[])

Type declaration

    • (context: ICommonContext, config: TRawConfig): IConfigMessage[]
    • Validate the config passed to this blueprint In this you should do various sanity checks of the config and return a list of messages to display to the user. These messages do not stop applyConfig from being called.

      Parameters

      Returns IConfigMessage[]

Generated using TypeDoc