@joergmittaglawo/dmvconfig
Version:
DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.
330 lines (329 loc) • 17.5 kB
TypeScript
import * as VScript from "vscript";
import * as _Time from "./Time";
import * as _Definitions from "./Definitions";
import * as _MetadataProcessor from "./MetadataProcessor";
import * as _PTP from "./PTP";
import * as _Audio from "./Audio";
import * as _Video from "./Video";
export declare const lift: {
readonly SyncOutput: (kwl: string | null, socket: VScript.VSocket) => SyncOutput | null;
readonly Output: (kwl: string | null, socket: VScript.VSocket) => Output | null;
readonly Input: (kwl: string | null, socket: VScript.VSocket) => Input | null;
readonly Merger: (kwl: string | null, socket: VScript.VSocket) => Merger | null;
readonly MergerOutput: (kwl: string | null, socket: VScript.VSocket) => MergerOutput | null;
readonly MergerConnectedTo: (kwl: string | null, socket: VScript.VSocket) => MergerConnectedTo | null;
readonly Configuration: (kwl: string | null, socket: VScript.VSocket) => Configuration | null;
readonly MADIOutput: (kwl: string | null, socket: VScript.VSocket) => MADIOutput | null;
readonly SDIOutput: (kwl: string | null, socket: VScript.VSocket) => SDIOutput | null;
readonly MADIInput: (kwl: string | null, socket: VScript.VSocket) => MADIInput | null;
readonly SDIInput: (kwl: string | null, socket: VScript.VSocket) => SDIInput | null;
readonly SDIInputGroup96KhzMode: (kwl: string | null, socket: VScript.VSocket) => SDIInputGroup96KhzMode | null;
readonly HwStatus: (kwl: string | null, socket: VScript.VSocket) => HwStatus | null;
readonly HwStatusEye: (kwl: string | null, socket: VScript.VSocket) => HwStatusEye | null;
readonly EyeShape: (x: any | null, _: VScript.VSocket) => EyeShape | null;
readonly Constraints: (kwl: string | null, socket: VScript.VSocket) => Constraints | null;
readonly SDIPayload: (kwl: string | null, socket: VScript.VSocket) => SDIPayload | null;
readonly BncMode: (kwl: string | null, socket: VScript.VSocket) => BncMode | null;
readonly BncModeBnc: (kwl: string | null, socket: VScript.VSocket) => BncModeBnc | null;
};
export declare const lower: {
readonly SyncOutput: (ref: SyncOutput | null) => string | null;
readonly Output: (ref: Output | null) => string | null;
readonly Input: (ref: Input | null) => string | null;
readonly Merger: (ref: Merger | null) => string | null;
readonly MergerOutput: (ref: MergerOutput | null) => string | null;
readonly MergerConnectedTo: (ref: MergerConnectedTo | null) => string | null;
readonly Configuration: (ref: Configuration | null) => string | null;
readonly MADIOutput: (ref: MADIOutput | null) => string | null;
readonly SDIOutput: (ref: SDIOutput | null) => string | null;
readonly MADIInput: (ref: MADIInput | null) => string | null;
readonly SDIInput: (ref: SDIInput | null) => string | null;
readonly SDIInputGroup96KhzMode: (ref: SDIInputGroup96KhzMode | null) => string | null;
readonly HwStatus: (ref: HwStatus | null) => string | null;
readonly HwStatusEye: (ref: HwStatusEye | null) => string | null;
readonly EyeShape: (x: EyeShape | null) => number[] | null;
readonly Constraints: (ref: Constraints | null) => string | null;
readonly SDIPayload: (ref: SDIPayload | null) => string | null;
readonly BncMode: (ref: BncMode | null) => string | null;
readonly BncModeBnc: (ref: BncModeBnc | null) => string | null;
};
export declare type BNCDirection = "ceDisable" | "ceIn" | "ceOut" | "ceInOut";
declare class BncModeBnc {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get board(): VScript.rKeyword<number, number, BncModeBnc>;
get chip_type(): VScript.rKeyword<string, string, BncModeBnc>;
get direction(): VScript.rKeyword<BNCDirection, BNCDirection, BncModeBnc>;
get frequency(): VScript.rKeyword<_Video.BNCInputFreq, _Video.BNCInputFreq, BncModeBnc>;
}
export declare class BncMode {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get version(): VScript.rKeyword<string, string, BncMode>;
get install_version(): VScript.rKeyword<string, string, BncMode>;
get bnc(): VScript.StronglyTypedArray<BncMode, BncModeBnc, VScript.RowView<BncModeBnc>>;
}
export declare type DecoderGroup96KhzMode = "ce48Khz" | "ce96Khz";
export declare type DecoderGroupPhyRxLockedToRef = "ceNotLocked" | "ceLocked";
export declare type DecoderGroupPhyRxLockedToData = "ceNotLocked" | "ceLocked";
export declare type DecoderGroupPhyRxReady = "ceNotReady" | "ceReady";
export declare type DecoderGroupPhyRxCalibrateBusy = "cePhyRxNormal" | "cePhyRxCalibrate";
export declare type Audio12GMode = "st299_2_stream_0" | "st299_1_stream_0_1";
export declare type SDIMADIMode = "SDI" | "MADI";
export declare type MADIChannels = "CH28" | "CH32" | "CH56" | "CH64";
export declare type ConfigDirection = "Input" | "Output";
export declare class SDIPayload {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get afd(): VScript.rKeyword<any, _Video.AFD | null, this>;
get video(): _Video.Essence;
get audio(): _Audio.Essence;
get cc(): _Video.ClosedCaption;
get ptp_traits(): _PTP.Traits;
}
export declare class Constraints {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get standard(): VScript.duplexKeyword<_Video.Standard, _Video.Standard, Constraints>;
}
export interface EyeShape {
width: number;
height: number;
}
declare class HwStatusEye {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get eye_measure_time(): VScript.rwKeyword<number, number, HwStatusEye>;
/**
Generate eye diagram
*/
get generate(): VScript.wKeyword<"Click", "Click", HwStatusEye>;
get progress(): VScript.rKeyword<number, number, HwStatusEye>;
/**
@brief URL of the eye diagram
@desc An update to this keyword signals a new eye diagram has been
generated
*/
get url(): VScript.rKeyword<string, string, HwStatusEye>;
/**
@brief Measure eye opening only
@desc Only measure horizontal eye opening (much faster than a full eye)
*/
get measure_ui(): VScript.wKeyword<"Click", "Click", HwStatusEye>;
get ui_measure_time(): VScript.rwKeyword<number, number, HwStatusEye>;
get ui(): VScript.rKeyword<any, EyeShape | null, this>;
}
export declare class HwStatus {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get signature(): VScript.rKeyword<any, _Video.TimestampedSignature | null, this>;
get irq_index(): VScript.rKeyword<number, number, HwStatus>;
get deemb_read_overflow(): VScript.rKeyword<number, number, HwStatus>;
get deemb_read_underflow(): VScript.rKeyword<number, number, HwStatus>;
get deemb_read_running(): VScript.rKeyword<number, number, HwStatus>;
get phy_rx_locked_to_ref(): VScript.rKeyword<DecoderGroupPhyRxLockedToRef, DecoderGroupPhyRxLockedToRef, HwStatus>;
get phy_rx_locked_to_data(): VScript.rKeyword<DecoderGroupPhyRxLockedToRef, DecoderGroupPhyRxLockedToRef, HwStatus>;
get phy_rx_ready(): VScript.rKeyword<DecoderGroupPhyRxReady, DecoderGroupPhyRxReady, HwStatus>;
get phy_rx_calibrate_busy(): VScript.rKeyword<DecoderGroupPhyRxCalibrateBusy, DecoderGroupPhyRxCalibrateBusy, HwStatus>;
get phy_rx_locked_to_ref_changed(): VScript.rKeyword<number, number, HwStatus>;
get phy_rx_locked_to_data_changed(): VScript.rKeyword<number, number, HwStatus>;
get phy_rx_ready_changed(): VScript.rKeyword<number, number, HwStatus>;
get smpte_352_c(): VScript.rKeyword<number, number, HwStatus>;
get smpte_352_y(): VScript.rKeyword<number, number, HwStatus>;
get h_blank(): VScript.rKeyword<number, number, HwStatus>;
get h_blank_changed(): VScript.rKeyword<number, number, HwStatus>;
get h_active(): VScript.rKeyword<number, number, HwStatus>;
get h_active_changed(): VScript.rKeyword<number, number, HwStatus>;
get f_period(): VScript.rKeyword<number, number, HwStatus>;
get interlace(): VScript.rKeyword<boolean, boolean, HwStatus>;
get standard(): VScript.rKeyword<_Video.Standard, _Video.Standard, HwStatus>;
get substream_2_s_i(): VScript.rKeyword<_Video.SubStream2SI, _Video.SubStream2SI, HwStatus>;
get input_substream(): VScript.rKeyword<_Video.SubStream, _Video.SubStream, HwStatus>;
get eye(): HwStatusEye;
}
export declare type ClosedCaptionDeembedMode = "NONE" | "CEA708" | "OP47";
declare class SDIInputGroup96KhzMode {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get mode(): VScript.duplexKeyword<DecoderGroup96KhzMode, DecoderGroup96KhzMode, SDIInputGroup96KhzMode>;
}
export declare class SDIInput {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get sub_stream(): VScript.duplexKeyword<_Video.SubStream, _Video.SubStream, SDIInput>;
get audio_timing(): VScript.duplexKeyword<_Audio.Timing, _Audio.Timing, SDIInput>;
/**
How to deembed audio from 12G SDI inputs
*/
get audio_12g_mode(): VScript.rwKeyword<Audio12GMode, Audio12GMode, SDIInput>;
/**
Which closed caption format to decode on input
*/
get cc_mode(): VScript.rwKeyword<ClosedCaptionDeembedMode, ClosedCaptionDeembedMode, SDIInput>;
get cc_channel(): VScript.rwKeyword<_Video.ClosedCaptionChannel, _Video.ClosedCaptionChannel, SDIInput>;
get mode(): VScript.rKeyword<_Video.BNCInputFreq, _Video.BNCInputFreq, SDIInput>;
get hw_status(): HwStatus;
get output(): SDIPayload;
get group96_khz_mode(): VScript.StronglyTypedArray<SDIInput, SDIInputGroup96KhzMode, VScript.RowView<SDIInputGroup96KhzMode>>;
get metadata_extractor(): VScript.StronglyTypedTable<_MetadataProcessor.MetadataExtractor, VScript.TableRowView<_MetadataProcessor.MetadataExtractor>>;
}
export declare class MADIInput {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get audio_timing(): VScript.rwKeyword<_Audio.Timing, _Audio.Timing, MADIInput>;
get running(): VScript.rKeyword<boolean, boolean, MADIInput>;
get fifo_underflow_counter(): VScript.rKeyword<number, number, MADIInput>;
get fifo_overflow_counter(): VScript.rKeyword<number, number, MADIInput>;
get clear_fifo_error_counters(): VScript.wKeyword<"Click", "Click", MADIInput>;
get output(): _Audio.Essence;
}
export declare class SDIOutput {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get sub_stream(): VScript.rKeyword<_Video.SubStream, _Video.SubStream, SDIOutput>;
get standard(): VScript.rKeyword<_Video.Standard, _Video.Standard, SDIOutput>;
/**
standard mismatch
*/
get status_std_mismatch(): VScript.rKeyword<boolean, boolean, SDIOutput>;
/**
Time when the SDI output was last enabled. Changing the standards or
disconnecting the video source counts as disabling.
*/
get last_enable_time(): VScript.rKeyword<string | number, string | number, SDIOutput>;
get constraints(): Constraints;
get vid_src(): _Definitions.VideoSource;
get vanc_control(): _Definitions.VancControl;
get audio_control(): _Definitions.AudioControlSdi;
}
export declare class MADIOutput {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get channels(): VScript.duplexKeyword<MADIChannels, MADIChannels, MADIOutput>;
get source(): VScript.duplexKeyword<string | null, _Audio.Essence | null, MADIOutput>;
}
export declare class Configuration {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get direction(): VScript.rwKeyword<ConfigDirection, ConfigDirection, Configuration>;
}
export declare class ConfigurationAsTableRow extends Configuration {
readonly enclosing_table: VScript.StronglyTypedTable<Configuration>;
readonly index: number;
constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<Configuration>);
}
declare class MergerConnectedTo {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get inputs(): VScript.rKeyword<string, string, MergerConnectedTo>;
get input_identifier(): VScript.rKeyword<[number, number, number, number], [number, number, number, number], MergerConnectedTo>;
}
declare class MergerOutput {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get video(): _Video.Essence;
get audio(): VScript.StronglyTypedArray<MergerOutput, _Audio.Essence, VScript.RowView<_Audio.Essence>>;
get ptp_traits(): _PTP.Traits;
}
export declare class Merger {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
/**
Merger: combines quad-link-2si signals to a single-link 4k. The
corresponding SDI inputs are declared in connected_to. The order of the
substream is adjusted by the information of the payload identifier. To
set or reorder the substream, use the sub_stream parameter
*/
get substream_2_s_i(): VScript.rwKeyword<boolean, boolean, Merger>;
get connected_to(): MergerConnectedTo;
get output(): VScript.StronglyTypedTable<MergerOutput, VScript.TableRowView<MergerOutput>>;
}
export declare class MergerAsTableRow extends Merger {
readonly enclosing_table: VScript.StronglyTypedTable<Merger>;
readonly index: number;
constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<Merger>);
}
export declare class Input {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get mode(): VScript.duplexKeyword<SDIMADIMode, SDIMADIMode, Input>;
get sdi(): SDIInput;
get madi(): MADIInput;
get audio_source_slices(): VScript.StronglyTypedArray<Input, _Audio.SignalSourceSlice, VScript.RowView<_Audio.SignalSourceSlice>>;
}
export declare class InputAsTableRow extends Input {
readonly enclosing_table: VScript.StronglyTypedTable<Input>;
readonly index: number;
constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<Input>);
}
export declare class Output {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get mode(): VScript.duplexKeyword<SDIMADIMode, SDIMADIMode, Output>;
/**
Number of times since last enable the output FIFO had to resync (sampled
only every 100ms)
*/
get resync_counter(): VScript.rKeyword<number, number, Output>;
/**
Output FIFO latency
*/
get fifo_latency(): VScript.rKeyword<number, number, Output>;
get sdi(): SDIOutput;
get madi(): MADIOutput;
get peak_meter(): VScript.StronglyTypedArray<Output, _Definitions.Peaks, VScript.RowView<_Definitions.Peaks>>;
}
export declare class OutputAsTableRow extends Output {
readonly enclosing_table: VScript.StronglyTypedTable<Output>;
readonly index: number;
constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<Output>);
}
export declare type SyncOutputStandard = "PAL" | "NTSC" | "HD720p50" | "HD720p59_94" | "HD720p60" | "HD1080p23_98" | "HD1080p24" | "HD1080p25" | "HD1080p29_97" | "HD1080p30" | "HD1080i50" | "HD1080i59_94" | "HD1080i60";
export declare class SyncOutput {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get standard(): VScript.rwKeyword<SyncOutputStandard, SyncOutputStandard, SyncOutput>;
get t_src(): VScript.duplexKeyword<string | null, _Time.Source | null, SyncOutput>;
get phase_rst_counter(): VScript.rKeyword<number, number, SyncOutput>;
/**
Number of times since last enable the output FIFO had to resync (sampled
only every 100ms)
*/
get resync_counter(): VScript.rKeyword<number, number, SyncOutput>;
/**
Output FIFO latency
*/
get fifo_latency(): VScript.rKeyword<number, number, SyncOutput>;
}
export declare class SyncOutputAsTableRow extends SyncOutput {
readonly enclosing_table: VScript.StronglyTypedTable<SyncOutput>;
readonly index: number;
constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<SyncOutput>);
}
export declare class All {
readonly raw: VScript.Subtree;
constructor(raw: VScript.Subtree);
get info(): BncMode;
get analog_ref(): VScript.StronglyTypedTable<_Time.Source, VScript.TableRowView<_Time.Source>>;
get analog_ref_traits(): _PTP.Traits;
get configuration(): VScript.StronglyTypedTable<Configuration, VScript.TableRowView<Configuration>>;
get merger(): VScript.StronglyTypedTable<Merger, VScript.TableRowView<Merger>>;
get output(): VScript.StronglyTypedTable<Output, VScript.TableRowView<Output>>;
get input(): VScript.StronglyTypedTable<Input, VScript.TableRowView<Input>>;
get sync_output(): VScript.StronglyTypedTable<SyncOutput, VScript.TableRowView<SyncOutput>>;
}
export declare const Enums: {
readonly SyncOutputStandard: SyncOutputStandard[];
readonly ClosedCaptionDeembedMode: ClosedCaptionDeembedMode[];
readonly ConfigDirection: ConfigDirection[];
readonly MADIChannels: MADIChannels[];
readonly SDIMADIMode: SDIMADIMode[];
readonly Audio12GMode: Audio12GMode[];
readonly DecoderGroupPhyRxCalibrateBusy: DecoderGroupPhyRxCalibrateBusy[];
readonly DecoderGroupPhyRxReady: DecoderGroupPhyRxReady[];
readonly DecoderGroupPhyRxLockedToData: DecoderGroupPhyRxLockedToRef[];
readonly DecoderGroupPhyRxLockedToRef: DecoderGroupPhyRxLockedToRef[];
readonly DecoderGroup96KhzMode: DecoderGroup96KhzMode[];
readonly BNCDirection: BNCDirection[];
};
export {};