UNPKG

@omnimedia/omnitool

Version:

open source video processing tools

39 lines (38 loc) 1.68 kB
import { Ms } from '../../../units/ms.js'; import { Id, TimelineFile } from '../../parts/basics.js'; import { SampleContext } from './samplers/visual/parts/types.js'; import { Mat6 } from '../../utils/matrix.js'; import { ContainerItem, Item } from '../../parts/item.js'; type WalkCallbacks = { sequence?: (x: Item.Sequence, matrix: Mat6, ancestors: AncestorAt[]) => void; stack?: (x: Item.Stack, matrix: Mat6, ancestors: AncestorAt[]) => void; video?: (x: Item.Video, matrix: Mat6, ancestors: AncestorAt[]) => void; image?: (x: Item.Image, matrix: Mat6, ancestors: AncestorAt[]) => void; text?: (x: Item.Text, matrix: Mat6, ancestors: AncestorAt[]) => void; caption?: (x: Item.Caption, matrix: Mat6, ancestors: AncestorAt[]) => void; audio?: (x: Item.Audio) => void; }; interface Props { timeline: TimelineFile; timecode: Ms; } export interface AncestorAt { item: ContainerItem; localTime: Ms; } interface At { item: Item.Any; localTime: Ms; ancestors: AncestorAt[]; } export declare function itemsAt(p: Props): At[]; interface FromProps { timeline: TimelineFile; from: Ms; } export declare function itemsFrom(p: FromProps): At[]; export declare function computeWorldMatrix(items: Map<Id, Item.Any>, ancestors: AncestorAt[], item: Item.Any, localTime: Ms): Mat6; export declare function walk(id: Id, items: Map<Id, Item.Any>, parentMatrix: Mat6, localTime: Ms, callbacks: WalkCallbacks, ancestors?: AncestorAt[]): void; export declare function computeItemDuration(id: number, timeline: TimelineFile): Ms; export declare function computeOpacity(ctx: SampleContext, item: Item.Any, time: Ms): number; export {};