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