UNPKG

@joergmittaglawo/dmvconfig

Version:

DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.

546 lines (545 loc) 18.5 kB
"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"] };