@joergmittaglawo/dmvconfig
Version:
DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.
59 lines (58 loc) • 2.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.All = exports.SPAsNamedTableRow = exports.SP = exports.lower = exports.lift = void 0;
const VScript = require("vscript");
const _Video = require("./Video");
exports.lift = {
SP: (kwl, socket) => kwl ? (new SP(new VScript.Subtree(socket, kwl))) : null,
SPOutputs: (kwl, socket) => kwl ? (new SPOutputs(new VScript.Subtree(socket, kwl))) : null
};
exports.lower = {
SP: (ref) => ref ? ref.raw.kwl : null,
SPOutputs: (ref) => ref ? ref.raw.kwl : null
};
class SPOutputs {
constructor(raw) {
this.raw = raw;
}
get output() { return new _Video.Essence(this.raw.find("output")); }
}
class SPOutputsAsTableRow extends SPOutputs {
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 SP {
constructor(raw) {
this.raw = raw;
}
get source() {
return new VScript.duplexKeyword(this, "source", { lift: _Video.lift.Essence, lower: _Video.lower.Essence });
}
get outputs() {
return new VScript.StronglyTypedTable(new VScript.Table(this.raw.socket, this.raw.full_kwl("outputs")), (row, enclosing_table) => new SPOutputsAsTableRow(row, enclosing_table));
}
}
exports.SP = SP;
class SPAsNamedTableRow extends SP {
constructor(raw_row, enclosing_table) {
super(new VScript.Subtree(raw_row.socket, raw_row.kwl));
this.raw_row = raw_row;
this.enclosing_table = enclosing_table;
this.index = raw_row.index;
}
async rename(name, opts) { await this.raw_row.rename(name, opts); }
async delete(opts) { await this.raw_row.delete(opts); }
}
exports.SPAsNamedTableRow = SPAsNamedTableRow;
class All {
constructor(raw) {
this.raw = raw;
}
get pool() {
return new VScript.StronglyTypedNamedTable(new VScript.NamedTable(this.raw.socket, this.raw.full_kwl("pool")), (row, enclosing_table) => new SPAsNamedTableRow(row, enclosing_table));
}
}
exports.All = All;