UNPKG

@joergmittaglawo/dmvconfig

Version:

DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.

456 lines (455 loc) 16.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Enums = exports.TransmitterOutputPortSingleAsTableRow = exports.TransmitterOutputPortSingle = exports.TransmitterOutputPortMultiAsTableRow = exports.TransmitterOutputPortMulti = exports.MetaStreamData = exports.VideoStreamData = exports.EventTransmitter = exports.VancControl = exports.BypassReplaceFlags = exports.AfdInserter = exports.TimecodeInserter = exports.AudioControlSdi = exports.AudioControl = exports.GroupsAsArrayRow = exports.Groups = exports.PeaksAsArrayRow = exports.Peaks = exports.VideoSource = exports.NAME = exports.LatchControl = exports.lower = exports.lift = void 0; const VScript = require("vscript"); const _NetworkInterfaces = require("./NetworkInterfaces"); const _Audio = require("./Audio"); const _Video = require("./Video"); const _Time = require("./Time"); exports.lift = { TransmitterOutputPortSingle: (kwl, socket) => kwl ? (new TransmitterOutputPortSingle(new VScript.Subtree(socket, kwl))) : null, TransmitterOutputPortMulti: (kwl, socket) => kwl ? (new TransmitterOutputPortMulti(new VScript.Subtree(socket, kwl))) : null, MetaStreamData: (kwl, socket) => kwl ? (new MetaStreamData(new VScript.Subtree(socket, kwl))) : null, VideoStreamData: (kwl, socket) => kwl ? (new VideoStreamData(new VScript.Subtree(socket, kwl))) : null, Generator: (x, _) => { return x ? { generator: x[0], lane: x[1] } : null; }, EventTransmitter: (kwl, socket) => kwl ? (new EventTransmitter(new VScript.Subtree(socket, kwl))) : null, VancControl: (kwl, socket) => kwl ? (new VancControl(new VScript.Subtree(socket, kwl))) : null, BypassReplaceFlags: (kwl, socket) => kwl ? (new BypassReplaceFlags(new VScript.Subtree(socket, kwl))) : null, AfdInserter: (kwl, socket) => kwl ? (new AfdInserter(new VScript.Subtree(socket, kwl))) : null, TimecodeInserter: (kwl, socket) => kwl ? (new TimecodeInserter(new VScript.Subtree(socket, kwl))) : null, TimecodeInserterFreerun: (x, _) => { return x ? { hours: x[0], minutes: x[1], seconds: x[2], frames: x[3] } : null; }, TimecodeInserterEnable: (x, _) => { return x ? { ltc: x[0], vitc1: x[1], vitc2: x[2] } : null; }, AudioControlSdi: (kwl, socket) => kwl ? (new AudioControlSdi(new VScript.Subtree(socket, kwl))) : null, AudioControl: (kwl, socket) => kwl ? (new AudioControl(new VScript.Subtree(socket, kwl))) : null, Groups: (kwl, socket) => kwl ? (new Groups(new VScript.Subtree(socket, kwl))) : null, Peaks: (kwl, socket) => kwl ? (new Peaks(new VScript.Subtree(socket, kwl))) : null, VideoSource: (kwl, socket) => kwl ? (new VideoSource(new VScript.Subtree(socket, kwl))) : null, NAME: (kwl, socket) => kwl ? (new NAME(new VScript.Subtree(socket, kwl))) : null, LatchControl: (kwl, socket) => kwl ? (new LatchControl(new VScript.Subtree(socket, kwl))) : null }; exports.lower = { TransmitterOutputPortSingle: (ref) => ref ? ref.raw.kwl : null, TransmitterOutputPortMulti: (ref) => ref ? ref.raw.kwl : null, MetaStreamData: (ref) => ref ? ref.raw.kwl : null, VideoStreamData: (ref) => ref ? ref.raw.kwl : null, Generator: (x) => x ? [x.generator, x.lane] : null, EventTransmitter: (ref) => ref ? ref.raw.kwl : null, VancControl: (ref) => ref ? ref.raw.kwl : null, BypassReplaceFlags: (ref) => ref ? ref.raw.kwl : null, AfdInserter: (ref) => ref ? ref.raw.kwl : null, TimecodeInserter: (ref) => ref ? ref.raw.kwl : null, TimecodeInserterFreerun: (x) => x ? [x.hours, x.minutes, x.seconds, x.frames] : null, TimecodeInserterEnable: (x) => x ? [x.ltc, x.vitc1, x.vitc2] : null, AudioControlSdi: (ref) => ref ? ref.raw.kwl : null, AudioControl: (ref) => ref ? ref.raw.kwl : null, Groups: (ref) => ref ? ref.raw.kwl : null, Peaks: (ref) => ref ? ref.raw.kwl : null, VideoSource: (ref) => ref ? ref.raw.kwl : null, NAME: (ref) => ref ? ref.raw.kwl : null, LatchControl: (ref) => ref ? ref.raw.kwl : null }; class LatchControl { constructor(raw) { this.raw = raw; } get mode() { return new VScript.duplexKeyword(this, "mode"); } get attack_time() { return new VScript.rwKeyword(this, "attack_time"); } get mediaclock_late() { return new VScript.rwKeyword(this, "mediaclock_late"); } get mediaclock_early() { return new VScript.rwKeyword(this, "mediaclock_early"); } } exports.LatchControl = LatchControl; class NAME { constructor(raw) { this.raw = raw; } /** Is the textual session name */ get session_name() { return new VScript.duplexKeyword(this, "session_name"); } /** Provides textual information about the session */ get session_description() { return new VScript.duplexKeyword(this, "session_description"); } } exports.NAME = NAME; class VideoSource { constructor(raw) { this.raw = raw; } get t_src() { return new VScript.duplexKeyword(this, "t_src", { lift: _Time.lift.Source, lower: _Time.lower.Source }); } get v_src() { return new VScript.duplexKeyword(this, "v_src", { lift: _Video.lift.Essence, lower: _Video.lower.Essence }); } get phase_target() { return new VScript.duplexKeyword(this, "phase_target"); } get in_phase() { return new VScript.rKeyword(this, "in_phase"); } get alert_level() { return new VScript.rKeyword(this, "alert_level"); } get phase_rst_counter() { return new VScript.rKeyword(this, "phase_rst_counter"); } } exports.VideoSource = VideoSource; class Peaks { constructor(raw) { this.raw = raw; } get peakmeter() { return new VScript.rKeyword(this, "peakmeter"); } } exports.Peaks = Peaks; class PeaksAsArrayRow extends Peaks { constructor(st, index, parent) { super(st); this.index = index; this.parent = parent; } } exports.PeaksAsArrayRow = PeaksAsArrayRow; class Groups { constructor(raw) { this.raw = raw; } get group() { return new VScript.duplexKeyword(this, "group"); } } exports.Groups = Groups; class GroupsAsArrayRow extends Groups { constructor(st, index, parent) { super(st); this.index = index; this.parent = parent; } } exports.GroupsAsArrayRow = GroupsAsArrayRow; class AudioControl { constructor(raw) { this.raw = raw; } get source() { return new VScript.duplexKeyword(this, "source", { lift: _Audio.lift.Essence, lower: _Audio.lower.Essence }); } get group_enable() { return new VScript.StronglyTypedArray(this, "group_enable", (st, index, parent) => new GroupsAsArrayRow(st, index, parent)); } get peak_meter() { return new VScript.StronglyTypedArray(this, "peak_meter", (st, index, parent) => new PeaksAsArrayRow(st, index, parent)); } } exports.AudioControl = AudioControl; class AudioControlSdi { constructor(raw) { this.raw = raw; } get source() { return new VScript.duplexKeyword(this, "source", { lift: _Audio.lift.Essence, lower: _Audio.lower.Essence }); } get group_enable() { return new VScript.StronglyTypedArray(this, "group_enable", (st, index, parent) => new GroupsAsArrayRow(st, index, parent)); } } exports.AudioControlSdi = AudioControlSdi; class TimecodeInserter { constructor(raw) { this.raw = raw; } get enable() { return new VScript.rwKeyword(this, "enable", { lift: exports.lift.TimecodeInserterEnable, lower: exports.lower.TimecodeInserterEnable }); } get generator() { return new VScript.duplexKeyword(this, "generator", { lift: _Time.lift.Source, lower: _Time.lower.Source }); } get freerun() { return new VScript.rwKeyword(this, "freerun", { lift: exports.lift.TimecodeInserterFreerun, lower: exports.lower.TimecodeInserterFreerun }); } } exports.TimecodeInserter = TimecodeInserter; class AfdInserter { constructor(raw) { this.raw = raw; } get code() { return new VScript.rwKeyword(this, "code"); } } exports.AfdInserter = AfdInserter; class BypassReplaceFlags { constructor(raw) { this.raw = raw; } /** Bypass unknown meta data */ get c_unknown() { return new VScript.rwKeyword(this, "c_unknown"); } /** Bypass/Replace DID 60 SDID 60 (SMPTE 12 - Timecode) */ get y_timecode() { return new VScript.rwKeyword(this, "y_timecode"); } /** Bypass DID 61 SDID 01 (SMPTE 334-1 CEA-708 / CDP) */ get y_334_cea_708_cdp() { return new VScript.rwKeyword(this, "y_334_cea_708_cdp"); } /** Bypass DID 61 SDID 02 (SMPTE 334-1 CEA-608) */ get y_334_cea_608() { return new VScript.rwKeyword(this, "y_334_cea_608"); } /** Bypass DID 62 SDID 01 (SMPTE 334-1 Program description) */ get y_334_program() { return new VScript.rwKeyword(this, "y_334_program"); } /** Bypass DID 62 SDID 02 (SMPTE 334-1 Data broadcast) */ get y_334_data() { return new VScript.rwKeyword(this, "y_334_data"); } /** Bypass DID 62 SDID 03 (SMPTE 334-1 VBI data) */ get y_334_vbi() { return new VScript.rwKeyword(this, "y_334_vbi"); } /** Bypass/Replace DID 41 SDID 05 (SMPTE 2016 - Active Format Desctiption) */ get y_2016_afd() { return new VScript.rwKeyword(this, "y_2016_afd"); } /** Bypass DID 41 SDID 07 (SMPTE 2010 - ANSI/SCTE 104) */ get y_2010_ansi_scte_104() { return new VScript.rwKeyword(this, "y_2010_ansi_scte_104"); } /** Bypass DID 41 SDID 08 (SMPTE 2031 - DVB/SCTE VBI) */ get y_2031_dvb_scte_vbi() { return new VScript.rwKeyword(this, "y_2031_dvb_scte_vbi"); } /** Bypass DID 43 SDID 02 (RDD 8 / OP-47) */ get y_rdd_8_op_47() { return new VScript.rwKeyword(this, "y_rdd_8_op_47"); } /** Bypass DID 45 (SMPTE 2020 - Audio Meta Data) */ get y_2020_amd() { return new VScript.rwKeyword(this, "y_2020_amd"); } /** Bypass DID 53 (OBS Source ID) */ get y_obs() { return new VScript.rwKeyword(this, "y_obs"); } /** Bypass unknown meta data */ get y_unknown() { return new VScript.rwKeyword(this, "y_unknown"); } } exports.BypassReplaceFlags = BypassReplaceFlags; class VancControl { constructor(raw) { this.raw = raw; } get override_smpte_352() { return new VScript.rwKeyword(this, "override_smpte_352"); } get payload() { return new VScript.rwKeyword(this, "payload"); } get passthrough_c_y_0() { return new BypassReplaceFlags(this.raw.find("passthrough_c_y_0")); } get timecode_inserter() { return new TimecodeInserter(this.raw.find("timecode_inserter")); } get afd_inserter() { return new AfdInserter(this.raw.find("afd_inserter")); } } exports.VancControl = VancControl; class EventTransmitter { constructor(raw) { this.raw = raw; } get src_ip_addr() { return new VScript.duplexKeyword(this, "src_ip_addr"); } get interface() { return new VScript.duplexKeyword(this, "interface", { lift: _NetworkInterfaces.lift.VirtualInterface, lower: _NetworkInterfaces.lower.VirtualInterface }); } /** Create */ get create_transmitter() { return new VScript.wKeyword(this, "create_transmitter"); } } exports.EventTransmitter = EventTransmitter; class VideoStreamData { constructor(raw) { this.raw = raw; } get mc_address() { return new VScript.duplexKeyword(this, "mc_address"); } get payload_type() { return new VScript.duplexKeyword(this, "payload_type"); } get resources_a() { return new VScript.rKeyword(this, "resources_a", { lift: exports.lift.Generator, lower: exports.lower.Generator }); } get resources_b() { return new VScript.rKeyword(this, "resources_b", { lift: exports.lift.Generator, lower: exports.lower.Generator }); } get sdp() { return new VScript.rKeyword(this, "sdp"); } } exports.VideoStreamData = VideoStreamData; class MetaStreamData { constructor(raw) { this.raw = raw; } get mc_address() { return new VScript.duplexKeyword(this, "mc_address"); } get payload_type() { return new VScript.duplexKeyword(this, "payload_type"); } get resources() { return new VScript.rKeyword(this, "resources", { lift: exports.lift.Generator, lower: exports.lower.Generator }); } get sdp() { return new VScript.rKeyword(this, "sdp"); } } exports.MetaStreamData = MetaStreamData; class TransmitterOutputPortMulti { constructor(raw) { this.raw = raw; } /** Delete */ get remove_output() { return new VScript.wKeyword(this, "remove_output"); } get ip_src_ip_addr() { return new VScript.duplexKeyword(this, "ip_src_ip_addr"); } get vlan_id() { return new VScript.rKeyword(this, "vlan_id"); } get interface() { return new VScript.duplexKeyword(this, "interface", { lift: _NetworkInterfaces.lift.VirtualInterface, lower: _NetworkInterfaces.lower.VirtualInterface }); } get sdp_a() { return new VScript.rKeyword(this, "sdp_a"); } get video_stream_data() { return new VideoStreamData(this.raw.find("video_stream_data")); } get meta_stream_data() { return new MetaStreamData(this.raw.find("meta_stream_data")); } } exports.TransmitterOutputPortMulti = TransmitterOutputPortMulti; class TransmitterOutputPortMultiAsTableRow extends TransmitterOutputPortMulti { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } exports.TransmitterOutputPortMultiAsTableRow = TransmitterOutputPortMultiAsTableRow; class TransmitterOutputPortSingle { constructor(raw) { this.raw = raw; } /** Delete */ get remove_output() { return new VScript.wKeyword(this, "remove_output"); } get resources() { return new VScript.rKeyword(this, "resources", { lift: exports.lift.Generator, lower: exports.lower.Generator }); } get ip_src_ip_addr() { return new VScript.duplexKeyword(this, "ip_src_ip_addr"); } get vlan_id() { return new VScript.rKeyword(this, "vlan_id"); } get interface() { return new VScript.duplexKeyword(this, "interface", { lift: _NetworkInterfaces.lift.VirtualInterface, lower: _NetworkInterfaces.lower.VirtualInterface }); } get mc_address() { return new VScript.duplexKeyword(this, "mc_address"); } get payload_type() { return new VScript.duplexKeyword(this, "payload_type"); } get sdp_a() { return new VScript.rKeyword(this, "sdp_a"); } } exports.TransmitterOutputPortSingle = TransmitterOutputPortSingle; class TransmitterOutputPortSingleAsTableRow extends TransmitterOutputPortSingle { constructor(raw_row, enclosing_table) { super(new VScript.Subtree(raw_row.socket, raw_row.kwl)); this.enclosing_table = enclosing_table; this.index = raw_row.index; } } exports.TransmitterOutputPortSingleAsTableRow = TransmitterOutputPortSingleAsTableRow; exports.Enums = { LatchMode: ["On_Start", "Continuous"], MediaClockControl: ["Propagate", "Timesource"], InputTypes: ["SDI", "VidStream", "AudStream", "SRC", "DELAY", "TestTone", "Volume", "Mixer"], VANCAfdCode: ["Code_0010", "Code_0011", "Code_0100", "Code_0101", "Code_0110", "Code_0111", "Code_1000", "Code_1001", "Code_1010", "Code_1011", "Code_1100", "Code_1101", "Code_1110", "Code_1111"], VANCAfdFlag: ["Passthrough", "Blank", "Replace"], VANCTimecodeFlag: ["Passthrough", "Blank", "Freerun", "Generator"], TRSEmbedder: ["Embed", "Bypass", "Off"], PacketTime: ["p1", "p0_666", "p0_500", "p0_333", "p0_250", "p0_125"], Bandwidth: ["b1_5Gb", "b3_0Gb", "b12_0Gb"], AudioFormat: ["AM824", "L24", "L16"] };