UNPKG

timeline-state-resolver

Version:
39 lines 1.83 kB
import { PharosOptions, Mappings, TSRTimelineContent, Timeline, ActionExecutionResult, DeviceStatus } from 'timeline-state-resolver-types'; import { Pharos } from './connection'; import { Device, CommandWithContext, DeviceContextAPI } from '../../service/device'; export interface PharosCommandWithContext extends CommandWithContext { command: CommandContent; } export type PharosState = Timeline.StateInTime<TSRTimelineContent>; interface CommandContent { fcn: (pharos: Pharos) => Promise<unknown>; } /** * This is a wrapper for a Pharos-devices, * https://www.pharoscontrols.com/downloads/documentation/application-notes/ */ export declare class PharosDevice extends Device<PharosOptions, PharosState, PharosCommandWithContext> { readonly actions: { [id: string]: (id: string, payload?: Record<string, any>) => Promise<ActionExecutionResult>; }; private _pharos; constructor(context: DeviceContextAPI<PharosState>); /** * Initiates the connection with Pharos through the PharosAPI. */ init(initOptions: PharosOptions): Promise<boolean>; terminate(): Promise<void>; get connected(): boolean; convertTimelineStateToDeviceState(timelineState: Timeline.TimelineState<TSRTimelineContent>, _mappings: Mappings): PharosState; getStatus(): Omit<DeviceStatus, 'active'>; /** * Compares the new timeline-state with the old one, and generates commands to account for the difference * @param oldAtemState * @param newAtemState */ diffStates(oldPharosState: PharosState | undefined, newPharosState: PharosState, mappings: Mappings): Array<PharosCommandWithContext>; sendCommand({ command, context, timelineObjId }: PharosCommandWithContext): Promise<void>; private _connectionChanged; } export {}; //# sourceMappingURL=index.d.ts.map