UNPKG

@joergmittaglawo/dmvconfig

Version:

DMV Configuration scripts for Lawo V__matrix Distributed Multiviewers.

110 lines (109 loc) 3.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.All = exports.LiveView = exports.Video = exports.Audio = exports.lower = exports.lift = void 0; const VScript = require("vscript"); const _Video = require("./Video"); exports.lift = { LiveView: (kwl, socket) => kwl ? (new LiveView(new VScript.Subtree(socket, kwl))) : null, Video: (kwl, socket) => kwl ? (new Video(new VScript.Subtree(socket, kwl))) : null, VideoBlackDetect: (kwl, socket) => kwl ? (new VideoBlackDetect(new VScript.Subtree(socket, kwl))) : null, Audio: (kwl, socket) => kwl ? (new Audio(new VScript.Subtree(socket, kwl))) : null }; exports.lower = { LiveView: (ref) => ref ? ref.raw.kwl : null, Video: (ref) => ref ? ref.raw.kwl : null, VideoBlackDetect: (ref) => ref ? ref.raw.kwl : null, Audio: (ref) => ref ? ref.raw.kwl : null }; class Audio { constructor(raw) { this.raw = raw; } get active() { return new VScript.duplexKeyword(this, "active"); } get silence_detect_duration() { return new VScript.duplexKeyword(this, "silence_detect_duration"); } get non_silence_detect_duration() { return new VScript.duplexKeyword(this, "non_silence_detect_duration"); } get detect_level() { return new VScript.duplexKeyword(this, "detect_level"); } } exports.Audio = Audio; class VideoBlackDetect { constructor(raw) { this.raw = raw; } /** Luminance threshold for black detect */ get threshold_y() { return new VScript.duplexKeyword(this, "threshold_y"); } /** Chrominance threshold for black detect */ get threshold_c() { return new VScript.duplexKeyword(this, "threshold_c"); } /** How many pixels can be above the threshold for black to be detected */ get threshold_pixels() { return new VScript.duplexKeyword(this, "threshold_pixels"); } /** How long the video must be black before it is signaled as black */ get attack() { return new VScript.duplexKeyword(this, "attack"); } /** How long the video must be none black before it is signaled as not black */ get release() { return new VScript.duplexKeyword(this, "release"); } } class Video { constructor(raw) { this.raw = raw; } get active() { return new VScript.duplexKeyword(this, "active"); } get freeze_detect_duration() { return new VScript.duplexKeyword(this, "freeze_detect_duration"); } get black_detect() { return new VideoBlackDetect(this.raw.find("black_detect")); } } exports.Video = Video; class LiveView { constructor(raw) { this.raw = raw; } get source() { return new VScript.duplexKeyword(this, "source", { lift: _Video.lift.Essence, lower: _Video.lower.Essence }); } get running() { return new VScript.rKeyword(this, "running"); } get signature() { return new VScript.rKeyword(this, "signature", { lift: _Video.lift.TimestampedSignature, lower: _Video.lower.TimestampedSignature }); } } exports.LiveView = LiveView; class All { constructor(raw) { this.raw = raw; } get audio() { return new Audio(this.raw.find("audio")); } get video() { return new Video(this.raw.find("video")); } get live_view() { return new LiveView(this.raw.find("live_view")); } } exports.All = All;