timeline-state-resolver-types
Version:
Have timeline, control stuff
151 lines • 6.42 kB
TypeScript
import * as Timeline from './superfly-timeline';
import { TSRTimelineObjProps } from './mapping';
import { ITranslatableMessage } from './translations';
import { Content } from './superfly-timeline';
import { TimelineContentTelemetricsAny } from './integrations/telemetrics';
import { TimelineContentAtemAny } from './integrations/atem';
import { TimelineContentCasparCGAny } from './integrations/casparcg';
import { TimelineContentHTTPSendAny } from './integrations/httpSend';
import { TimelineContentTCPSendAny } from './integrations/tcpSend';
import { TimelineContentHyperdeckAny } from './integrations/hyperdeck';
import { TimelineContentLawoAny } from './integrations/lawo';
import { TimelineContentOSCAny } from './integrations/osc';
import { TimelineContentPharosAny } from './integrations/pharos';
import { TimelineContentPanasonicPtzAny } from './integrations/panasonicPTZ';
import { TimelineContentAbstractAny } from './integrations/abstract';
import { TimelineContentQuantelAny } from './integrations/quantel';
import { TimelineContentShotoku } from './integrations/shotoku';
import { TimelineContentSisyfosAny } from './integrations/sisyfos';
import { TimelineContentSofieChefAny } from './integrations/sofieChef';
import { TimelineContentVIZMSEAny } from './integrations/vizMSE';
import { TimelineContentSingularLiveAny } from './integrations/singularLive';
import { TimelineContentVMixAny } from './integrations/vmix';
import { TimelineContentOBSAny } from './integrations/obs';
import { TimelineContentTriCasterAny } from './integrations/tricaster';
export * from './integrations/abstract';
export * from './integrations/atem';
export * from './integrations/casparcg';
export * from './integrations/httpSend';
export * from './integrations/hyperdeck';
export * from './integrations/lawo';
export * from './integrations/osc';
export * from './integrations/pharos';
export * from './integrations/panasonicPTZ';
export * from './integrations/sisyfos';
export * from './integrations/sofieChef';
export * from './integrations/quantel';
export * from './integrations/shotoku';
export * from './integrations/tcpSend';
export * from './integrations/vizMSE';
export * from './integrations/singularLive';
export * from './integrations/vmix';
export * from './integrations/obs';
export * from './integrations/tricaster';
export * from './integrations/telemetrics';
export * from './integrations/multiOsc';
export * from './integrations/viscaOverIP';
export * from './device';
export * from './mapping';
export { Timeline };
export * from './mapping';
export * from './expectedPlayoutItems';
export * from './mediaObject';
export * from './translations';
export * from './generated';
/**
* An identifier of a particular device class
*
* @export
* @enum {string}
*/
export declare enum DeviceType {
ABSTRACT = "ABSTRACT",
CASPARCG = "CASPARCG",
ATEM = "ATEM",
LAWO = "LAWO",
HTTPSEND = "HTTPSEND",
PANASONIC_PTZ = "PANASONIC_PTZ",
TCPSEND = "TCPSEND",
HYPERDECK = "HYPERDECK",
PHAROS = "PHAROS",
OSC = "OSC",
HTTPWATCHER = "HTTPWATCHER",
SISYFOS = "SISYFOS",
QUANTEL = "QUANTEL",
VIZMSE = "VIZMSE",
SINGULAR_LIVE = "SINGULAR_LIVE",
SHOTOKU = "SHOTOKU",
VMIX = "VMIX",
OBS = "OBS",
SOFIE_CHEF = "SOFIE_CHEF",
TELEMETRICS = "TELEMETRICS",
TRICASTER = "TRICASTER",
MULTI_OSC = "MULTI_OSC",
VISCA_OVER_IP = "VISCA_OVER_IP"
}
export interface TSRTimelineKeyframe<TContent> extends Omit<Timeline.TimelineKeyframe, 'content'> {
content: TContent;
}
/**
* An object containing references to the datastore
*/
export interface TimelineDatastoreReferences {
/**
* localPath is the path to the property in the content object to override
*/
[localPath: string]: {
/** Reference to the Datastore key where to fetch the value */
datastoreKey: string;
/**
* If true, the referenced value in the Datastore is only applied after the timeline-object has started (ie a later-started timeline-object will not be affected)
*/
overwrite: boolean;
};
}
export interface TimelineDatastoreReferencesContent {
$references?: TimelineDatastoreReferences;
}
export type TSRTimeline = TSRTimelineObj<TSRTimelineContent>[];
export interface TSRTimelineObj<TContent extends {
deviceType: DeviceType;
}> extends Omit<Timeline.TimelineObject<TContent & TimelineDatastoreReferencesContent>, 'children'>, TSRTimelineObjProps {
children?: TSRTimelineObj<TSRTimelineContent>[];
}
export interface TimelineContentEmpty extends Content {
deviceType: DeviceType.ABSTRACT;
type: 'empty';
}
export type TSRTimelineContent = TimelineContentEmpty | TimelineContentAbstractAny | TimelineContentAtemAny | TimelineContentCasparCGAny | TimelineContentHTTPSendAny | TimelineContentTCPSendAny | TimelineContentHyperdeckAny | TimelineContentLawoAny | TimelineContentOBSAny | TimelineContentOSCAny | TimelineContentPharosAny | TimelineContentPanasonicPtzAny | TimelineContentQuantelAny | TimelineContentShotoku | TimelineContentSisyfosAny | TimelineContentSofieChefAny | TimelineContentSingularLiveAny | TimelineContentVMixAny | TimelineContentVIZMSEAny | TimelineContentTelemetricsAny | TimelineContentTriCasterAny;
/**
* A simple key value store that can be referred to from the timeline objects
*/
export interface Datastore {
[datastoreKey: string]: {
/** The value that will replace a value in the Timeline-object content */
value: any;
/** A unix-Timestamp of when the value was set. (Note that this must not be set a value in the future.) */
modified: number;
};
}
export interface ActionExecutionResult<ResultData = undefined> {
result: ActionExecutionResultCode;
/** Response message, intended to be displayed to a user */
response?: ITranslatableMessage;
/** Response data */
resultData?: ResultData;
}
export declare enum ActionExecutionResultCode {
Error = "ERROR",
IgnoredNotRelevant = "IGNORED",
Ok = "OK"
}
/** This resolves to a string, where parts can be defined by the datastore */
export interface TemplateString {
/** The string template. Example: "http://google.com?q={{searchString}}" */
key: string;
/** Values for the arguments in the key string. Example: { searchString: "TSR" } */
args?: {
[k: string]: any;
};
}
//# sourceMappingURL=index.d.ts.map