@joergmittaglawo/dmvconfig
Version:
DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.
456 lines (455 loc) • 16.4 kB
JavaScript
"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"]
};