How to use the superfly-timeline.TriggerType.TIME_RELATIVE function in superfly-timeline

To help you get started, we’ve selected a few superfly-timeline examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github nrkno / tv-automation-server-core / meteor / server / api / templates / nrk-stk.ts View on Github external
_id: IDs.playerClip, deviceId: [''], siId: '', roId: '',
					trigger: { type: TriggerType.TIME_ABSOLUTE, value: 0 },
					priority: 1,
					duration: 0, // hold at end
					LLayer: LLayers.casparcg_player_clip,
					content: {
						type: TimelineContentTypeCasparCg.VIDEO,
						attributes: {
							file: 'mam/' + clip
						}
					}
				}),

				literal({
					_id: IDs.atemSrv1, deviceId: [''], siId: '', roId: '',
					trigger: { type: TriggerType.TIME_RELATIVE, value: `#${IDs.playerClip}.start + ${CasparOutputDelay}` },
					priority: 1,
					duration: 0,
					LLayer: LLayers.atem_me_program,
					content: {
						type: TimelineContentTypeAtem.ME,
						attributes: {
							input: AtemSource.Server1,
							transition: Atem_Enums.TransitionStyle.CUT
						}
					}
				}),

				// server1 to -15db/-inf
				literal({
					_id: IDs.lawo_clip, deviceId: [''], siId: '', roId: '',
					trigger: { type: TriggerType.TIME_RELATIVE, value: `#${IDs.playerClip}.start + ${CasparOutputDelay}` },
github nrkno / tv-automation-server-core / meteor / server / api / templates / nrk-stk.ts View on Github external
priority: 1,
					duration: 0,
					LLayer: LLayers.atem_me_program,
					content: {
						type: TimelineContentTypeAtem.ME,
						attributes: {
							input: AtemSource.Server1,
							transition: Atem_Enums.TransitionStyle.CUT
						}
					}
				}),

				// server1 to -15db/-inf
				literal({
					_id: IDs.lawo_clip, deviceId: [''], siId: '', roId: '',
					trigger: { type: TriggerType.TIME_RELATIVE, value: `#${IDs.playerClip}.start + ${CasparOutputDelay}` },
					priority: 1,
					duration: 0,
					LLayer: LLayers.lawo_source_clip,
					content: {
						type: TimelineContentTypeLawo.LAWO,
						value: {
							value: {
								value: clipLevel,
								type: EmberPlusValueType.REAL
							},
							transitionDuration: LawoFadeInDuration,
						}
					}
				}),

				// automix mic hot
github nrkno / tv-automation-server-core / meteor / server / api / templates / nrk-grafikk.ts View on Github external
LLayer: LLayers.lawo_source_clip,
					content: {
						type: TimelineContentTypeLawo.SOURCE,
						attributes: {
							'Fader/Motor dB Value': {
								value: -15,
								transitionDuration: LawoFadeInDuration,
							}
						}
					}
				}),

				// preroll gfx a couple of frames before cutting to it
				literal({
					_id: IDs.atemSrv1, deviceId: [''], siId: '', roId: '',
					trigger: { type: TriggerType.TIME_RELATIVE, value: `#${IDs.lawo_automix}.start + ${CasparOutputDelay} + 80` },
					priority: 1,
					duration: 0,
					LLayer: LLayers.atem_me_program,
					content: {
						type: TimelineContentTypeAtem.ME,
						attributes: {
							input: AtemSource.Grafikk,
							transition: Atem_Enums.TransitionStyle.CUT
						}
					}
				}),

				// play bed
				literal({
					_id: IDs.playerBed, deviceId: [''], siId: '', roId: '',
					trigger: { type: TriggerType.TIME_RELATIVE, value: `#${IDs.lawo_automix}.start + 0` },
github nrkno / tv-automation-server-core / meteor / server / api / templates / nrk-kam.ts View on Github external
trigger: { type: TriggerType.TIME_ABSOLUTE, value: 0 },
						priority: 1,
						duration: 3640,
						LLayer: LLayers.casparcg_player_wipe,
						content: {
							type: TimelineContentTypeCasparCg.VIDEO,
							attributes: {
								file: 'assets/wipe1'
							}
						}
					}),

					// wipe audio punktum
					literal({
						_id: IDs.wipeAudioPunktum, deviceId: [''], siId: '', roId: '',
						trigger: { type: TriggerType.TIME_RELATIVE, value: `#${IDs.wipeVideo}.start + 0` },
						priority: 1,
						duration: 3640,
						LLayer: LLayers.casparcg_player_soundeffect,
						content: {
							type: TimelineContentTypeCasparCg.VIDEO,
							attributes: {
								file: 'assets/DK_punktum_head'
							},
							mixer: {
								volume: 0.25
							}
						}
					}),

					// run the transition
					literal({
github nrkno / tv-automation-server-core / meteor / server / api / templates / nrk-kam.ts View on Github external
LLayer: LLayers.casparcg_player_soundeffect,
						content: {
							type: TimelineContentTypeCasparCg.VIDEO,
							attributes: {
								file: 'assets/DK_punktum_head'
							},
							mixer: {
								volume: 0.25
							}
						}
					}),

					// run the transition
					literal({
						_id: IDs.atemSrv1Transition, deviceId: [''], siId: '', roId: '',
						trigger: { type: TriggerType.TIME_RELATIVE, value: `#${IDs.wipeVideo}.start + 0` },
						priority: 3,
						duration: 0,
						LLayer: LLayers.atem_me_program,
						content: {
							type: TimelineContentTypeAtem.ME,
							attributes: {
								input: KamFirstInput + cameraInput - 1,
								transition: Atem_Enums.TransitionStyle.WIPE,
								transitionSettings: AtemWipeSettings
							}
						}
					}),

					// fade out vignett audio
					literal({
						_id: IDs.vignettTransition, deviceId: [''], siId: '', roId: '',
github nrkno / tv-automation-server-core / meteor / server / api / templates / nrk-tlf.ts View on Github external
LLayer: tlfSource,
					content: {
						type: TimelineContentTypeLawo.SOURCE,
						attributes: {
							'Fader/Motor dB Value': {
								value: 0,
								transitionDuration: LawoFadeInDuration,
							}
						}
					}
				}) : undefined),

				// preroll gfx a couple of frames before cutting to it
				literal({
					_id: IDs.atemSrv1, deviceId: [''], siId: '', roId: '',
					trigger: { type: TriggerType.TIME_RELATIVE, value: `#${IDs.lawo_automix}.start + ${CasparOutputDelay} + 80` },
					priority: 1,
					duration: 0,
					LLayer: LLayers.atem_me_program,
					content: {
						type: TimelineContentTypeAtem.ME,
						attributes: {
							input: AtemSource.Grafikk,
							transition: Atem_Enums.TransitionStyle.CUT
						}
					}
				}),
			])
		}
	}))

	return {
github nrkno / tv-automation-server-core / meteor / server / api / templates / nrk-full.ts View on Github external
trigger: { type: TriggerType.TIME_ABSOLUTE, value: 0 },
					priority: 1,
					duration: 0, // hold at end
					LLayer: LLayers.casparcg_player_clip,
					content: {
						type: TimelineContentTypeCasparCg.VIDEO,
						attributes: {
							file: 'mam/' + clip
						}
					}
				}),

				// mic host muted
				literal({
					_id: IDs.lawo_automix, deviceId: [''], siId: '', roId: '',
					trigger: { type: TriggerType.TIME_RELATIVE, value: `#${IDs.playerClip}.start + ${CasparOutputDelay}` },
					priority: 1,
					duration: 0,
					LLayer: LLayers.lawo_source_automix,
					content: {
						type: TimelineContentTypeLawo.LAWO,
						value: {
							value: {
								value: -191,
								type: EmberPlusValueType.REAL
							},
							transitionDuration: LawoFadeInDuration,
						}
					}
				}),

				// audio FULL 0
github nrkno / tv-automation-server-core / meteor / server / api / playout.ts View on Github external
for (let i = 0; i < res.length; i++) {
			const r = clone(res[i].obj) as TimelineObjGeneric

			let trigger: TimelineTrigger = {
				type: TriggerType.TIME_ABSOLUTE,
				value: 1 // Absolute 0 without a group doesnt work
			}
			if (i !== 0) {
				const prevObj = res[i - 1].obj
				const prevHasDelayFlag = (prevObj.classes || []).indexOf('_lookahead_start_delay') !== -1

				// Start with previous item
				const startOffset = prevHasDelayFlag ? 1000 : 0
				trigger = {
					type: TriggerType.TIME_RELATIVE,
					value: `#${prevObj._id}.start + ${startOffset}`
				}
			}

			r._id = 'lookahead_' + i + '_' + r._id
			r.priority = 0.1
			const finiteDuration = res[i].partId === activeRundown.currentPartId || (currentPart && currentPart.autoNext && res[i].partId === activeRundown.nextPartId)
			r.duration = finiteDuration ? `#${res[i].obj._id}.start - #.start` : 0
			r.trigger = trigger
			r.isBackground = true
			delete r.inGroup // force it to be cleared

			if (m.lookahead === LookaheadMode.PRELOAD) {
				r.originalLLayer = r.LLayer
				r.LLayer += '_lookahead'
			}
github nrkno / tv-automation-server-core / meteor / server / api / templates / nrk-head.ts View on Github external
trigger: { type: TriggerType.TIME_ABSOLUTE, value: 0 },
					priority: 1,
					duration: 3360,
					LLayer: LLayers.casparcg_player_wipe,
					content: {
						type: TimelineContentTypeCasparCg.VIDEO,
						attributes: {
							file: 'assets/wipe1'
						}
					}
				}),

				// wipe audio skille between
				literal({
					_id: IDs.wipeAudioSkille, deviceId: [''], siId: '', roId: '',
					trigger: { type: TriggerType.TIME_RELATIVE, value: `#${IDs.wipeVideo}.start + 0` },
					priority: 1,
					duration: 3360,
					LLayer: LLayers.casparcg_player_soundeffect,
					content: {
						type: TimelineContentTypeCasparCg.VIDEO,
						attributes: {
							file: 'assets/DK_skille_head'
						},
						mixer: {
							volume: 0.25
						}
					}
				}),

				// play HEAD
				// @todo refactor to make this block less duplicated
github nrkno / tv-automation-server-core / meteor / server / api / templates / nrk-split.ts View on Github external
content: {
						type: TimelineContentTypeLawo.SOURCE,
						attributes: {
							'Fader/Motor dB Value': {
								value: -15,
								transitionDuration: LawoFadeInDuration,
							}
						}
					}
				}) : undefined),

				// mic2 hot
				(lawoLayer2 ?
				literal({
					_id: IDs.lawo_layer2, deviceId: [''], siId: '', roId: '',
					trigger: { type: TriggerType.TIME_RELATIVE, value: `#${IDs.atemSSrc}.start + 0` },
					priority: 1,
					duration: 0,
					LLayer: lawoLayer2,
					content: {
						type: TimelineContentTypeLawo.SOURCE,
						attributes: {
							'Fader/Motor dB Value': {
								value: -15,
								transitionDuration: LawoFadeInDuration,
							}
						}
					}
				}) : undefined),
			])
		}
	}))