UNPKG

timeline-state-resolver

Version:
139 lines 4.63 kB
import { EventEmitter } from 'eventemitter3'; interface SisyfosApiEvents { error: [Error]; initialized: []; mixerOnline: [boolean]; connected: []; disconnected: []; } export declare class SisyfosApi extends EventEmitter<SisyfosApiEvents> { private _oscClient; private _state?; private _labelToChannel; private _connectivityCheckInterval; private _pingCounter; private _connectivityTimeout; private _connected; private _mixerOnline; /** * Connnects to the OSC server. * @param host ip to connect to * @param port port the osc server is hosted on */ connect(host: string, port: number): Promise<void>; dispose(): void; send(command: SisyfosCommand): void; disconnect(): void; isInitialized(): boolean; reInitialize(): void; reSyncOneChannel(channel: number): void; setSisyfosChannel(channel: number, apiState: Partial<SisyfosChannelAPI>): void; getChannelByLabel(label: string): number | undefined; get connected(): boolean; get state(): SisyfosAPIState | undefined; get mixerOnline(): boolean; setMixerOnline(state: boolean): void; private _monitorConnectivity; private _clearPingTimer; private receiver; private updateIsConnected; private parseChannelCommand; private parseSisyfosState; protected sendLoadMixerPresetCommand(presetName: string): void; } export declare enum SisyfosCommandType { TOGGLE_PGM = "togglePgm", TOGGLE_PST = "togglePst", SET_FADER = "setFader", SET_INPUT_GAIN = "setInputGain", SET_INPUT_SELECTOR = "setInputSelector", SET_MUTE = "setMute", CLEAR_PST_ROW = "clearPstRow", LABEL = "label", TAKE = "take", VISIBLE = "visible", RESYNC = "resync", RESYNC_CHANNEL = "resyncChannel", SET_CHANNEL = "setChannel", LOAD_MIXER_PRESET = "loadMixerPreset" } export interface BaseCommand { type: SisyfosCommandType; } export interface SetChannelCommand { type: SisyfosCommandType.SET_CHANNEL; channel: number; values: Partial<SisyfosChannelAPI>; } export interface LoadMixerPresetCommand { type: SisyfosCommandType.LOAD_MIXER_PRESET; presetName: string; } export interface ChannelCommand extends BaseCommand { type: SisyfosCommandType.SET_FADER | SisyfosCommandType.TOGGLE_PGM | SisyfosCommandType.TOGGLE_PST | SisyfosCommandType.LABEL | SisyfosCommandType.VISIBLE | SisyfosCommandType.RESYNC_CHANNEL | SisyfosCommandType.SET_INPUT_SELECTOR | SisyfosCommandType.SET_INPUT_GAIN | SisyfosCommandType.SET_MUTE; channel: number; } export interface GlobalCommand extends BaseCommand { type: SisyfosCommandType.CLEAR_PST_ROW | SisyfosCommandType.TAKE | SisyfosCommandType.RESYNC; } export interface GlobalCommand extends BaseCommand { type: SisyfosCommandType.CLEAR_PST_ROW | SisyfosCommandType.TAKE | SisyfosCommandType.RESYNC; } export interface BoolCommand extends ChannelCommand { type: SisyfosCommandType.VISIBLE | SisyfosCommandType.SET_MUTE; value: boolean; } export interface ValueCommand extends ChannelCommand { type: SisyfosCommandType.TOGGLE_PST | SisyfosCommandType.VISIBLE | SisyfosCommandType.RESYNC_CHANNEL | SisyfosCommandType.SET_INPUT_SELECTOR | SisyfosCommandType.SET_INPUT_GAIN; value: number; } export interface ValuesCommand extends ChannelCommand { type: SisyfosCommandType.TOGGLE_PGM | SisyfosCommandType.SET_FADER; values: number[]; } export interface StringCommand extends ChannelCommand { type: SisyfosCommandType.LABEL; value: string; } export type SisyfosCommand = GlobalCommand | ValueCommand | ValuesCommand | BoolCommand | StringCommand | SetChannelCommand | LoadMixerPresetCommand; export interface SisyfosChannel extends SisyfosChannelAPI { timelineObjIds: string[]; triggerValue?: string; } export interface SisyfosState { channels: { [index: string]: SisyfosChannel; }; resync: boolean; triggerValue?: string; } export interface SisyfosChannelAPI { faderLevel: number; pgmOn: number; pstOn: number; label: string; visible: boolean; fadeTime?: number; muteOn: boolean; inputGain: number; inputSelector: number; } export interface SisyfosChannelOSCAPI { faderLevel?: number; pgmOn?: boolean; voOn?: boolean; pstOn?: boolean; label?: string; showChannel?: boolean; fadeTime?: number; muteOn?: boolean; inputGain?: number; inputSelector?: number; } export interface SisyfosAPIState { channels: { [index: string]: SisyfosChannelAPI; }; } export {}; //# sourceMappingURL=connection.d.ts.map