UNPKG

atem-connection

Version:

Typescript Node.js library for connecting with an ATEM switcher.

131 lines 4.36 kB
import { FairlightAudioMixOption, FairlightInputConfiguration, FairlightAnalogInputLevel, FairlightAudioSourceType, ExternalPortType, FairlightInputType, AudioChannelPair, AudioInternalPortType } from '../enums'; export interface FairlightAudioDynamicsState { makeUpGain?: number; limiter?: FairlightAudioLimiterState; compressor?: FairlightAudioCompressorState; expander?: FairlightAudioExpanderState; } export interface FairlightAudioLimiterState { limiterEnabled: boolean; threshold: number; attack: number; hold: number; release: number; } export interface FairlightAudioCompressorState { compressorEnabled: boolean; threshold: number; ratio: number; attack: number; hold: number; release: number; } export interface FairlightAudioExpanderState { expanderEnabled: boolean; gateEnabled: boolean; threshold: number; range: number; ratio: number; attack: number; hold: number; release: number; } export interface FairlightAudioEqualizerBandState { bandEnabled: boolean; readonly supportedShapes: number[]; shape: number; readonly supportedFrequencyRanges: number[]; frequencyRange: number; frequency: number; gain: number; qFactor: number; } export interface FairlightAudioMasterChannelPropertiesState { /** Gain in decibel, -Infinity to +6dB */ faderGain: number; followFadeToBlack: boolean; } export interface FairlightAudioMasterChannel { properties?: FairlightAudioMasterChannelPropertiesState; equalizer?: FairlightAudioEqualizerState; dynamics?: Omit<FairlightAudioDynamicsState, 'expander'>; } export interface FairlightAudioMonitorChannel { gain: number; inputMasterGain: number; inputMasterMuted: boolean; inputTalkbackGain: number; inputTalkbackMuted: boolean; inputSidetoneGain: number; } export interface FairlightAudioMonitorSolo { solo: boolean; index: number; source: string; } export interface FairlightAudioSource { properties?: FairlightAudioSourcePropertiesState; equalizer?: FairlightAudioEqualizerState; dynamics?: FairlightAudioDynamicsState; } export interface FairlightAudioEqualizerState { enabled: boolean; gain: number; readonly bands: Array<FairlightAudioEqualizerBandState | undefined>; } export interface FairlightAudioSourcePropertiesState { readonly sourceType: FairlightAudioSourceType; readonly maxFramesDelay: number; framesDelay: number; readonly hasStereoSimulation: boolean; stereoSimulation: number; gain: number; balance: number; faderGain: number; readonly supportedMixOptions: FairlightAudioMixOption[]; mixOption: FairlightAudioMixOption; } export interface FairlightAudioInput { properties?: FairlightAudioInputProperties; sources: { [sourceId: string]: FairlightAudioSource | undefined; }; } export interface FairlightAudioInputProperties { readonly inputType: FairlightInputType; readonly externalPortType: ExternalPortType; readonly supportedConfigurations: FairlightInputConfiguration[]; activeConfiguration: FairlightInputConfiguration; readonly supportedInputLevels: FairlightAnalogInputLevel[]; activeInputLevel: FairlightAnalogInputLevel; } export interface FairlightAudioRoutingSource { readonly audioSourceId: number; readonly audioChannelPair: AudioChannelPair; readonly externalPortType: ExternalPortType; readonly internalPortType: AudioInternalPortType; name: string; } export interface FairlightAudioRoutingOutput { readonly audioOutputId: number; readonly audioChannelPair: AudioChannelPair; readonly externalPortType: ExternalPortType; readonly internalPortType: AudioInternalPortType; sourceId: number; name: string; } export interface FairlightAudioRouting { sources: Record<number, FairlightAudioRoutingSource>; outputs: Record<number, FairlightAudioRoutingOutput>; } export interface AtemFairlightAudioState { inputs: { [input: number]: FairlightAudioInput | undefined; }; master?: FairlightAudioMasterChannel; monitor?: FairlightAudioMonitorChannel; solo?: FairlightAudioMonitorSolo; audioFollowVideoCrossfadeTransitionEnabled?: boolean; audioRouting?: FairlightAudioRouting; } //# sourceMappingURL=fairlight.d.ts.map