@joergmittaglawo/dmvconfig
Version:
DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.
546 lines (545 loc) • 18.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Enums = exports.Video = exports.DelayAsTableRow = exports.Delay = exports.AudioControl = exports.GroupSelectionsAsArrayRow = exports.GroupSelections = exports.DelayPayload = exports.DMA = exports.Http = exports.File = exports.Time = exports.WriterAsTableRow = exports.Writer = exports.ReaderAsTableRow = exports.Reader = exports.Buffer = exports.BufferInput = exports.OutputDebug = exports.InputDebug = exports.lower = exports.lift = void 0;
const VScript = require("vscript");
const _Memory = require("./Memory");
const _DataDelayHandler = require("./DataDelayHandler");
const _Audio = require("./Audio");
const _Time = require("./Time");
const _Video = require("./Video");
exports.lift = {
Video: (kwl, socket) => kwl ? (new Video(new VScript.Subtree(socket, kwl))) : null,
Delay: (kwl, socket) => kwl ? (new Delay(new VScript.Subtree(socket, kwl))) : null,
DelayOutputs: (kwl, socket) => kwl ? (new DelayOutputs(new VScript.Subtree(socket, kwl))) : null,
DelayInputs: (kwl, socket) => kwl ? (new DelayInputs(new VScript.Subtree(socket, kwl))) : null,
AudioControl: (kwl, socket) => kwl ? (new AudioControl(new VScript.Subtree(socket, kwl))) : null,
GroupSelections: (kwl, socket) => kwl ? (new GroupSelections(new VScript.Subtree(socket, kwl))) : null,
DelayPayload: (kwl, socket) => kwl ? (new DelayPayload(new VScript.Subtree(socket, kwl))) : null,
DMA: (kwl, socket) => kwl ? (new DMA(new VScript.Subtree(socket, kwl))) : null,
Http: (kwl, socket) => kwl ? (new Http(new VScript.Subtree(socket, kwl))) : null,
File: (kwl, socket) => kwl ? (new File(new VScript.Subtree(socket, kwl))) : null,
Time: (kwl, socket) => kwl ? (new Time(new VScript.Subtree(socket, kwl))) : null,
Writer: (kwl, socket) => kwl ? (new Writer(new VScript.Subtree(socket, kwl))) : null,
Reader: (kwl, socket) => kwl ? (new Reader(new VScript.Subtree(socket, kwl))) : null,
Buffer: (kwl, socket) => kwl ? (new Buffer(new VScript.Subtree(socket, kwl))) : null,
BufferInput: (kwl, socket) => kwl ? (new BufferInput(new VScript.Subtree(socket, kwl))) : null,
OutputDebug: (kwl, socket) => kwl ? (new OutputDebug(new VScript.Subtree(socket, kwl))) : null,
InputDebug: (kwl, socket) => kwl ? (new InputDebug(new VScript.Subtree(socket, kwl))) : null
};
exports.lower = {
Video: (ref) => ref ? ref.raw.kwl : null,
Delay: (ref) => ref ? ref.raw.kwl : null,
DelayOutputs: (ref) => ref ? ref.raw.kwl : null,
DelayInputs: (ref) => ref ? ref.raw.kwl : null,
AudioControl: (ref) => ref ? ref.raw.kwl : null,
GroupSelections: (ref) => ref ? ref.raw.kwl : null,
DelayPayload: (ref) => ref ? ref.raw.kwl : null,
DMA: (ref) => ref ? ref.raw.kwl : null,
Http: (ref) => ref ? ref.raw.kwl : null,
File: (ref) => ref ? ref.raw.kwl : null,
Time: (ref) => ref ? ref.raw.kwl : null,
Writer: (ref) => ref ? ref.raw.kwl : null,
Reader: (ref) => ref ? ref.raw.kwl : null,
Buffer: (ref) => ref ? ref.raw.kwl : null,
BufferInput: (ref) => ref ? ref.raw.kwl : null,
OutputDebug: (ref) => ref ? ref.raw.kwl : null,
InputDebug: (ref) => ref ? ref.raw.kwl : null
};
class InputDebug {
constructor(raw) {
this.raw = raw;
}
get writer_id() {
return new VScript.rKeyword(this, "writer_id");
}
get stride_line() {
return new VScript.rKeyword(this, "stride_line");
}
get vid_mux_sel() {
return new VScript.rKeyword(this, "vid_mux_sel");
}
get stride_frame() {
return new VScript.rKeyword(this, "stride_frame");
}
get start_address() {
return new VScript.rKeyword(this, "start_address");
}
get end_address() {
return new VScript.rKeyword(this, "end_address");
}
get num_lines() {
return new VScript.rKeyword(this, "num_lines");
}
get horizontal_blanking() {
return new VScript.rKeyword(this, "horizontal_blanking");
}
get horizontal_error() {
return new VScript.rKeyword(this, "horizontal_error");
}
get horizontal_active() {
return new VScript.rKeyword(this, "horizontal_active");
}
get mode_hanc() {
return new VScript.rKeyword(this, "mode_hanc");
}
get mode_vanc() {
return new VScript.rKeyword(this, "mode_vanc");
}
get mode_enable() {
return new VScript.rKeyword(this, "mode_enable");
}
get mode_interlaced() {
return new VScript.rKeyword(this, "mode_interlaced");
}
get mode_stop() {
return new VScript.rKeyword(this, "mode_stop");
}
get mode_en_cnt() {
return new VScript.rKeyword(this, "mode_en_cnt");
}
get delta_time() {
return new VScript.rKeyword(this, "delta_time");
}
get time_from_start() {
return new VScript.rKeyword(this, "time_from_start");
}
get delta_start_address() {
return new VScript.rKeyword(this, "delta_start_address");
}
get frame_start_address() {
return new VScript.rKeyword(this, "frame_start_address");
}
get in_panic() {
return new VScript.rKeyword(this, "in_panic");
}
}
exports.InputDebug = InputDebug;
class OutputDebug {
constructor(raw) {
this.raw = raw;
}
get reader_id() {
return new VScript.rKeyword(this, "reader_id");
}
get reader_v_idx() {
return new VScript.rKeyword(this, "reader_v_idx");
}
get reader_w_idx() {
return new VScript.rKeyword(this, "reader_w_idx");
}
get start_first_active_line_field_0() {
return new VScript.rKeyword(this, "start_first_active_line_field_0");
}
get end_first_blanking_line_field_0() {
return new VScript.rKeyword(this, "end_first_blanking_line_field_0");
}
get start_first_active_line_field_1() {
return new VScript.rKeyword(this, "start_first_active_line_field_1");
}
get end_first_blanking_line_field_1() {
return new VScript.rKeyword(this, "end_first_blanking_line_field_1");
}
get line_number_field_0() {
return new VScript.rKeyword(this, "line_number_field_0");
}
get line_number_field_1() {
return new VScript.rKeyword(this, "line_number_field_1");
}
get line_total() {
return new VScript.rKeyword(this, "line_total");
}
get start_line_number_generator() {
return new VScript.rKeyword(this, "start_line_number_generator");
}
get start_v_flag_generator() {
return new VScript.rKeyword(this, "start_v_flag_generator");
}
get horizontal_blanking() {
return new VScript.rKeyword(this, "horizontal_blanking");
}
get horizontal_active() {
return new VScript.rKeyword(this, "horizontal_active");
}
get mode_hanc() {
return new VScript.rKeyword(this, "mode_hanc");
}
get mode_vanc() {
return new VScript.rKeyword(this, "mode_vanc");
}
get mode_video() {
return new VScript.rKeyword(this, "mode_video");
}
get mode_en_cnt() {
return new VScript.rKeyword(this, "mode_en_cnt");
}
get ce_sel() {
return new VScript.rKeyword(this, "ce_sel");
}
get ce_sel_enable() {
return new VScript.rKeyword(this, "ce_sel_enable");
}
get length_frame() {
return new VScript.rKeyword(this, "length_frame");
}
get length_line() {
return new VScript.rKeyword(this, "length_line");
}
get stride_line() {
return new VScript.rKeyword(this, "stride_line");
}
get stride_frame() {
return new VScript.rKeyword(this, "stride_frame");
}
get start_address() {
return new VScript.rKeyword(this, "start_address");
}
get end_address() {
return new VScript.rKeyword(this, "end_address");
}
get jump() {
return new VScript.rKeyword(this, "jump");
}
get reset() {
return new VScript.rKeyword(this, "reset");
}
get start_generator() {
return new VScript.rKeyword(this, "start_generator");
}
get delta_frame() {
return new VScript.rKeyword(this, "delta_frame");
}
get delta_time() {
return new VScript.rKeyword(this, "delta_time");
}
get time_from_start() {
return new VScript.rKeyword(this, "time_from_start");
}
get delta_start_address() {
return new VScript.rKeyword(this, "delta_start_address");
}
get frame_start_address() {
return new VScript.rKeyword(this, "frame_start_address");
}
get register_panic() {
return new VScript.rKeyword(this, "register_panic");
}
}
exports.OutputDebug = OutputDebug;
class BufferInput {
constructor(raw) {
this.raw = raw;
}
get pages() {
return new VScript.rKeyword(this, "pages");
}
get use() {
return new VScript.rKeyword(this, "use");
}
get frames() {
return new VScript.duplexKeyword(this, "frames");
}
get time() {
return new VScript.duplexKeyword(this, "time");
}
get mode() {
return new VScript.duplexKeyword(this, "mode");
}
get add_blanking() {
return new VScript.duplexKeyword(this, "add_blanking");
}
get calculation_standard_frame() {
return new VScript.rKeyword(this, "calculation_standard_frame");
}
get calculation_standard_time() {
return new VScript.rKeyword(this, "calculation_standard_time");
}
get standard() {
return new VScript.duplexKeyword(this, "standard");
}
get max_bandwidth() {
return new VScript.duplexKeyword(this, "max_bandwidth");
}
get delay_mode() {
return new VScript.duplexKeyword(this, "delay_mode");
}
get input_mode() {
return new VScript.duplexKeyword(this, "input_mode");
}
}
exports.BufferInput = BufferInput;
class Buffer {
constructor(raw) {
this.raw = raw;
}
/**
frame calculation based on 'calculation_standard_frame'
*/
get frames() {
return new VScript.duplexKeyword(this, "frames");
}
/**
time calculation based on 'calculation_standard_time'
*/
get time() {
return new VScript.duplexKeyword(this, "time");
}
get mode() {
return new VScript.duplexKeyword(this, "mode");
}
}
exports.Buffer = Buffer;
class Reader {
constructor(raw) {
this.raw = raw;
}
get reader_running() {
return new VScript.rKeyword(this, "reader_running");
}
get debug() { return new OutputDebug(this.raw.find("debug")); }
}
exports.Reader = Reader;
class ReaderAsTableRow extends Reader {
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.ReaderAsTableRow = ReaderAsTableRow;
class Writer {
constructor(raw) {
this.raw = raw;
}
get writer_running() {
return new VScript.rKeyword(this, "writer_running");
}
get debug() { return new InputDebug(this.raw.find("debug")); }
}
exports.Writer = Writer;
class WriterAsTableRow extends Writer {
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.WriterAsTableRow = WriterAsTableRow;
class Time {
constructor(raw) {
this.raw = raw;
}
get t_src() {
return new VScript.duplexKeyword(this, "t_src", { lift: _Time.lift.Source, lower: _Time.lower.Source });
}
get phaser_range() {
return new VScript.rwKeyword(this, "phaser_range");
}
get restart_phaser() {
return new VScript.rwKeyword(this, "restart_phaser");
}
}
exports.Time = Time;
class File {
constructor(raw) {
this.raw = raw;
}
/**
trigger DMA writer
*/
get trigger_dma_writer() {
return new VScript.wKeyword(this, "trigger_dma_writer");
}
/**
trigger DMA reader
*/
get trigger_dma_reader() {
return new VScript.wKeyword(this, "trigger_dma_reader");
}
get setup_dma_reader() {
return new VScript.rwKeyword(this, "setup_dma_reader");
}
}
exports.File = File;
class Http {
constructor(raw) {
this.raw = raw;
}
/**
before initiate the dma download process, stop the writer/reader. If the
job ist done, restart the writer/reader
*/
get setup_handler() {
return new VScript.rwKeyword(this, "setup_handler");
}
get handler_status() {
return new VScript.rKeyword(this, "handler_status");
}
}
exports.Http = Http;
class DMA {
constructor(raw) {
this.raw = raw;
}
get file() { return new File(this.raw.find("file")); }
get http() { return new Http(this.raw.find("http")); }
}
exports.DMA = DMA;
class DelayPayload {
constructor(raw) {
this.raw = raw;
}
get video() { return new _Video.Essence(this.raw.find("video")); }
get audio() { return new _Audio.Essence(this.raw.find("audio")); }
}
exports.DelayPayload = DelayPayload;
class GroupSelections {
constructor(raw) {
this.raw = raw;
}
get group() {
return new VScript.duplexKeyword(this, "group");
}
}
exports.GroupSelections = GroupSelections;
class GroupSelectionsAsArrayRow extends GroupSelections {
constructor(st, index, parent) {
super(st);
this.index = index;
this.parent = parent;
}
}
exports.GroupSelectionsAsArrayRow = GroupSelectionsAsArrayRow;
class AudioControl {
constructor(raw) {
this.raw = raw;
}
get group_selections() {
return new VScript.StronglyTypedArray(this, "group_selections", (st, index, parent) => new GroupSelectionsAsArrayRow(st, index, parent));
}
}
exports.AudioControl = AudioControl;
class DelayInputs {
constructor(raw) {
this.raw = raw;
}
get writer_running() {
return new VScript.rKeyword(this, "writer_running");
}
get latest_running_standard() {
return new VScript.rKeyword(this, "latest_running_standard");
}
get source() {
return new VScript.duplexKeyword(this, "source", { lift: _Video.lift.Essence, lower: _Video.lower.Essence });
}
get writer() {
return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("writer")), (row, enclosing_table) => new WriterAsTableRow(row, enclosing_table));
}
}
class DelayInputsAsTableRow extends DelayInputs {
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;
}
}
class DelayOutputs {
constructor(raw) {
this.raw = raw;
}
get output_mode() {
return new VScript.duplexKeyword(this, "output_mode");
}
get running() {
return new VScript.rKeyword(this, "running");
}
get time() { return new Time(this.raw.find("time")); }
get delay() { return new Buffer(this.raw.find("delay")); }
get audio_control() {
return new AudioControl(this.raw.find("audio_control"));
}
get reader() {
return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("reader")), (row, enclosing_table) => new ReaderAsTableRow(row, enclosing_table));
}
get output() { return new DelayPayload(this.raw.find("output")); }
}
class DelayOutputsAsTableRow extends DelayOutputs {
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;
}
}
class Delay {
constructor(raw) {
this.raw = raw;
}
get id() {
return new VScript.duplexKeyword(this, "id");
}
/**
Delete
*/
get delete_delay() {
return new VScript.wKeyword(this, "delete_delay");
}
get num_outputs() {
return new VScript.rwKeyword(this, "num_outputs");
}
/**
Restart writer and reader
*/
get restart() {
return new VScript.wKeyword(this, "restart");
}
get allocate() { return new BufferInput(this.raw.find("allocate")); }
get dma() { return new DMA(this.raw.find("dma")); }
get inputs() {
return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("inputs")), (row, enclosing_table) => new DelayInputsAsTableRow(row, enclosing_table));
}
get outputs() {
return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("outputs")), (row, enclosing_table) => new DelayOutputsAsTableRow(row, enclosing_table));
}
}
exports.Delay = Delay;
class DelayAsTableRow extends Delay {
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.DelayAsTableRow = DelayAsTableRow;
class Video {
constructor(raw) {
this.raw = raw;
}
/**
Create
*/
get create_delay() {
return new VScript.wKeyword(this, "create_delay");
}
get buffer() {
return new _DataDelayHandler.BufferStatus(this.raw.find("buffer"));
}
get pool() {
return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("pool")), (row, enclosing_table) => new DelayAsTableRow(row, enclosing_table));
}
get statistic() {
return new _DataDelayHandler.Statistic(this.raw.find("statistic"));
}
get ecc() { return new _Memory.ECCMuxStatistics(this.raw.find("ecc")); }
get audio_source_slices() {
return new VScript.StronglyTypedArray(this, "audio_source_slices", (st, index, parent) => new _Audio.SignalSourceSliceAsArrayRow(st, index, parent));
}
}
exports.Video = Video;
exports.Enums = {
Groups: ["Group0", "Group1", "Group2", "Group3"],
DmaTriggerSetup: ["Stop", "Restart"],
DmaTriggerSetupStatus: ["Stop", "Restart", "Process", "Done"],
DelayMode: ["FrameSync_Freeze", "FrameSync_Black", "FramePhaser"],
DmaTrigger: ["frame", "clip_in_files", "clip_single_file"],
InputMode: ["Single", "Quad", "UHD"],
BufferMode: ["Frames", "Time"]
};