UNPKG

@joergmittaglawo/dmvconfig

Version:

DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.

377 lines (376 loc) 13.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Enums = exports.Audio = exports.DelayAsTableRow = exports.Delay = exports.WriterAsTableRow = exports.Writer = exports.AFVRef = exports.DolbyERef = exports.DolbyE = exports.DolbyEWriter = exports.DolbyEDebugAsArrayRow = exports.DolbyEDebug = 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 _Video = require("./Video"); const _Audio = require("./Audio"); exports.lift = { Audio: (kwl, socket) => kwl ? (new Audio(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, Writer: (kwl, socket) => kwl ? (new Writer(new VScript.Subtree(socket, kwl))) : null, AFVRef: (kwl, socket) => kwl ? (new AFVRef(new VScript.Subtree(socket, kwl))) : null, DolbyERef: (kwl, socket) => kwl ? (new DolbyERef(new VScript.Subtree(socket, kwl))) : null, DolbyLine: (x, _) => { return x ? { earliest: x[0], earliest_ideal: x[1], ideal: x[2], latest_ideal: x[3], latest: x[4], calculated: x[5] } : null; }, DolbyE: (kwl, socket) => kwl ? (new DolbyE(new VScript.Subtree(socket, kwl))) : null, DolbyEWriter: (kwl, socket) => kwl ? (new DolbyEWriter(new VScript.Subtree(socket, kwl))) : null, DolbyEDebug: (kwl, socket) => kwl ? (new DolbyEDebug(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, Collaboration: (x, _) => { return x ? { used_manual_time: x[0], used_audio_follow_video_time: x[1], used_auto_dolby_e_aligner: x[2], samples: x[3], time: x[4] } : 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 = { Audio: (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, Writer: (ref) => ref ? ref.raw.kwl : null, AFVRef: (ref) => ref ? ref.raw.kwl : null, DolbyERef: (ref) => ref ? ref.raw.kwl : null, DolbyLine: (x) => x ? [x.earliest, x.earliest_ideal, x.ideal, x.latest_ideal, x.latest, x.calculated] : null, DolbyE: (ref) => ref ? ref.raw.kwl : null, DolbyEWriter: (ref) => ref ? ref.raw.kwl : null, DolbyEDebug: (ref) => ref ? ref.raw.kwl : null, Reader: (ref) => ref ? ref.raw.kwl : null, Buffer: (ref) => ref ? ref.raw.kwl : null, Collaboration: (x) => x ? [x.used_manual_time, x.used_audio_follow_video_time, x.used_auto_dolby_e_aligner, x.samples, x.time] : 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 writer_v_idx() { return new VScript.rKeyword(this, "writer_v_idx"); } get start_address() { return new VScript.rKeyword(this, "start_address"); } get end_address() { return new VScript.rKeyword(this, "end_address"); } get enable() { return new VScript.rKeyword(this, "enable"); } } 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 loop_start_address() { return new VScript.rKeyword(this, "loop_start_address"); } get loop_end_address() { return new VScript.rKeyword(this, "loop_end_address"); } get enable() { return new VScript.rKeyword(this, "enable"); } get start_address() { return new VScript.rKeyword(this, "start_address"); } get start_timestamp() { return new VScript.rKeyword(this, "start_timestamp"); } } 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 samples() { return new VScript.duplexKeyword(this, "samples"); } get time() { return new VScript.duplexKeyword(this, "time"); } get mode() { return new VScript.duplexKeyword(this, "mode"); } get frequency() { return new VScript.duplexKeyword(this, "frequency"); } /** memory allocation based on a multiple of 16 channels */ get num_channels() { return new VScript.duplexKeyword(this, "num_channels"); } } exports.BufferInput = BufferInput; class Buffer { constructor(raw) { this.raw = raw; } get samples() { return new VScript.duplexKeyword(this, "samples"); } get time() { return new VScript.duplexKeyword(this, "time"); } get mode() { return new VScript.duplexKeyword(this, "mode"); } get man_offset() { return new VScript.duplexKeyword(this, "man_offset"); } get audio_follow_video() { return new VScript.duplexKeyword(this, "audio_follow_video"); } get auto_dolby_e_aligner() { return new VScript.duplexKeyword(this, "auto_dolby_e_aligner"); } get measurement_reference() { return new VScript.duplexKeyword(this, "measurement_reference", { lift: _Video.lift.Essence, lower: _Video.lower.Essence }); } get collaboration() { return new VScript.rKeyword(this, "collaboration", { lift: exports.lift.Collaboration, lower: exports.lower.Collaboration }); } } 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 DolbyEDebug { constructor(raw) { this.raw = raw; } get zero_samples_before_header() { return new VScript.rKeyword(this, "zero_samples_before_header"); } get free_running_counter_header_detected() { return new VScript.rKeyword(this, "free_running_counter_header_detected"); } } exports.DolbyEDebug = DolbyEDebug; class DolbyEDebugAsArrayRow extends DolbyEDebug { constructor(st, index, parent) { super(st); this.index = index; this.parent = parent; } } exports.DolbyEDebugAsArrayRow = DolbyEDebugAsArrayRow; class DolbyEWriter { constructor(raw) { this.raw = raw; } get free_running_counter_irq() { return new VScript.rKeyword(this, "free_running_counter_irq"); } get bits_irq() { return new VScript.rKeyword(this, "bits_irq"); } get debug() { return new VScript.StronglyTypedArray(this, "debug", (st, index, parent) => new DolbyEDebugAsArrayRow(st, index, parent)); } } exports.DolbyEWriter = DolbyEWriter; class DolbyE { constructor(raw) { this.raw = raw; } get run_dolby_e_detector() { return new VScript.rwKeyword(this, "run_dolby_e_detector"); } get measure_sample() { return new VScript.rwKeyword(this, "measure_sample"); } } exports.DolbyE = DolbyE; class DolbyERef { constructor(raw) { this.raw = raw; } get channel_pair() { return new VScript.rwKeyword(this, "channel_pair"); } get samples() { return new VScript.rKeyword(this, "samples"); } get time() { return new VScript.rKeyword(this, "time"); } get dolby_e_line() { return new VScript.rKeyword(this, "dolby_e_line", { lift: exports.lift.DolbyLine, lower: exports.lower.DolbyLine }); } } exports.DolbyERef = DolbyERef; class AFVRef { constructor(raw) { this.raw = raw; } get transition_mode() { return new VScript.rwKeyword(this, "transition_mode"); } get audio_late() { return new VScript.rwKeyword(this, "audio_late"); } get audio_early() { return new VScript.rwKeyword(this, "audio_early"); } } exports.AFVRef = AFVRef; 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")); } get dolby_e_debug() { return new DolbyEWriter(this.raw.find("dolby_e_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 DelayInputs { constructor(raw) { this.raw = raw; } get running() { return new VScript.rKeyword(this, "running"); } get source() { return new VScript.duplexKeyword(this, "source", { lift: _Audio.lift.Essence, lower: _Audio.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 DelayOutputs { constructor(raw) { this.raw = raw; } get running() { return new VScript.rKeyword(this, "running"); } get delay() { return new Buffer(this.raw.find("delay")); } get afv() { return new AFVRef(this.raw.find("afv")); } get dolby_e() { return new DolbyERef(this.raw.find("dolby_e")); } 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 _Audio.Essence(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 dolby_e() { return new DolbyE(this.raw.find("dolby_e")); } get inputs() { return new DelayInputs(this.raw.find("inputs")); } 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 Audio { 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 statistics() { return new _DataDelayHandler.Statistic(this.raw.find("statistics")); } 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.Audio = Audio; exports.Enums = { TransitionMode: ["Jump", "V_Fade"], BufferMode: ["Samples", "Time"] };