UNPKG

@bbc/timeline-state-resolver-types

Version:
133 lines 4.41 kB
/** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and re-run the "tsr-schema-types" tool to regenerate this file. */ import type { ActionExecutionResult } from "../actions"; export interface VmixOptions { host: string; port: number; /** * How often, in milliseconds, for when we should poll vMix to query its actual state. Used to know when to re-send certain failed commands. Values <= 0 disables the polling. Defaults to 10000ms. */ pollInterval?: number; } export interface MappingVmixProgram { /** * Number of the mix (1 is the main mix, 2-16 are optional Mix Inputs) */ index?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16; mappingType: MappingVmixType.Program; } export interface MappingVmixPreview { /** * Number of the mix (1 is the main mix, 2-16 are optional Mix Inputs) */ index?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16; mappingType: MappingVmixType.Preview; } export interface MappingVmixInput { /** * Input number or name. Omit if you plan to use the `filePath` property in `TimelineContentVMixInput`. */ index?: string; mappingType: MappingVmixType.Input; } export interface MappingVmixAudioChannel { /** * Input number or name */ index?: string; /** * Input layer name */ inputLayer?: string; mappingType: MappingVmixType.AudioChannel; } export interface MappingVmixAudioBus { /** * Name (letter) of the bus */ index: 'M' | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G'; mappingType: MappingVmixType.AudioBus; } export interface MappingVmixOutput { /** * Output */ index: '2' | '3' | '4' | 'External2' | 'Fullscreen' | 'Fullscreen2'; mappingType: MappingVmixType.Output; } export interface MappingVmixOverlay { /** * Overlay number */ index: 1 | 2 | 3 | 4; mappingType: MappingVmixType.Overlay; } export interface MappingVmixRecording { mappingType: MappingVmixType.Recording; } export interface MappingVmixStreaming { mappingType: MappingVmixType.Streaming; } export interface MappingVmixExternal { mappingType: MappingVmixType.External; } export interface MappingVmixFadeToBlack { mappingType: MappingVmixType.FadeToBlack; } export interface MappingVmixFader { mappingType: MappingVmixType.Fader; } export interface MappingVmixScript { mappingType: MappingVmixType.Script; } export declare enum MappingVmixType { Program = "program", Preview = "preview", Input = "input", AudioChannel = "audioChannel", AudioBus = "audioBus", Output = "output", Overlay = "overlay", Recording = "recording", Streaming = "streaming", External = "external", FadeToBlack = "fadeToBlack", Fader = "fader", Script = "script" } export type SomeMappingVmix = MappingVmixProgram | MappingVmixPreview | MappingVmixInput | MappingVmixAudioChannel | MappingVmixAudioBus | MappingVmixOutput | MappingVmixOverlay | MappingVmixRecording | MappingVmixStreaming | MappingVmixExternal | MappingVmixFadeToBlack | MappingVmixFader | MappingVmixScript; export interface OpenPresetPayload { /** * The filename of the preset to load */ filename: string; } export interface SavePresetPayload { /** * The filename of the preset to save */ filename: string; } export declare enum VmixActions { LastPreset = "lastPreset", OpenPreset = "openPreset", SavePreset = "savePreset", StartExternal = "startExternal", StopExternal = "stopExternal" } export interface VmixActionMethods { [VmixActions.LastPreset]: (payload: Record<string, never>) => Promise<ActionExecutionResult<void>>; [VmixActions.OpenPreset]: (payload: OpenPresetPayload) => Promise<ActionExecutionResult<void>>; [VmixActions.SavePreset]: (payload: SavePresetPayload) => Promise<ActionExecutionResult<void>>; [VmixActions.StartExternal]: (payload: Record<string, never>) => Promise<ActionExecutionResult<void>>; [VmixActions.StopExternal]: (payload: Record<string, never>) => Promise<ActionExecutionResult<void>>; } export interface VmixDeviceTypes { Options: VmixOptions; Mappings: SomeMappingVmix; Actions: VmixActionMethods; } //# sourceMappingURL=vmix.d.ts.map