Ported main.js to TypeScript. Rewrote all imports and replaced with class constructors, not require()().

This commit is contained in:
Matt McWilliams 2024-05-23 20:51:35 -04:00
parent 91ad944c46
commit 5d31bf0020
64 changed files with 530 additions and 409 deletions

View File

@ -1,5 +1,5 @@
{ {
"version": "1.8.110", "version": "1.8.111",
"ext_port": 1111, "ext_port": 1111,
"profiles": { "profiles": {
"mcopy": { "mcopy": {

View File

@ -1,10 +1,12 @@
'use strict'; 'use strict';
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.Alert = void 0; exports.Alert = void 0;
const electron_1 = require("electron");
const log_1 = require("log"); const log_1 = require("log");
/* class representing alert functionality */ /* class representing alert functionality */
class Alert { class Alert {
constructor(ui) { constructor(ui) {
this.ipc = electron_1.ipcMain;
this.id = 'alert'; this.id = 'alert';
this.cb = null; this.cb = null;
this.ui = ui; this.ui = ui;
@ -15,7 +17,6 @@ class Alert {
**/ **/
async init() { async init() {
this.log = await (0, log_1.Log)({ label: this.id }); this.log = await (0, log_1.Log)({ label: this.id });
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
/** /**
@ -54,7 +55,5 @@ class Alert {
} }
} }
exports.Alert = Alert; exports.Alert = Alert;
module.exports = function (ui) { module.exports = { Alert };
return new Alert(ui);
};
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/alert/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAGb,6BAA0B;AAI1B,4CAA4C;AAE5C,MAAa,KAAK;IAOjB,YAAc,EAAgB;QAJtB,OAAE,GAAY,OAAO,CAAA;QACrB,OAAE,GAAc,IAAI,CAAA;QAI3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,IAAI,EAAE,CAAA;IACZ,CAAC;IAED;;QAEI;IACI,KAAK,CAAC,IAAI;QACjB,IAAI,CAAC,GAAG,GAAG,MAAM,IAAA,SAAG,EAAC,EAAE,KAAK,EAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QACzC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAA;QACtC,IAAI,CAAC,MAAM,EAAE,CAAA;IACd,CAAC;IAED;;QAEI;IACI,MAAM;QACb,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED;;QAEI;IACI,KAAK,CAAC,QAAQ,CAAE,KAAW,EAAE,GAAS;QAC7C,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;YACrB,IAAI;gBACH,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;aAChC;YAAC,OAAO,GAAG,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aACnB;SACD;QACD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,CAAC;IAED;;QAEI;IACG,KAAK,CAAC,KAAK,CAAE,GAAY;QAC/B,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAY,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACrG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;QAC9B,OAAO,IAAI,OAAO,CAAC,UAAU,OAAkB,EAAE,MAAiB;YACjE,IAAI,CAAC,EAAE,GAAG;gBACT,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;gBACjC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC,CAAA;QACF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACf,CAAC;CACD;AAxDD,sBAwDC;AAED,MAAM,CAAC,OAAO,GAAG,UAAU,EAAgB;IAC1C,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC,CAAA"} {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/alert/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,uCAAmC;AAEnC,6BAA0B;AAI1B,4CAA4C;AAE5C,MAAa,KAAK;IAOjB,YAAc,EAAgB;QANtB,QAAG,GAAoB,kBAAO,CAAA;QAE9B,OAAE,GAAY,OAAO,CAAA;QACrB,OAAE,GAAc,IAAI,CAAA;QAI3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,IAAI,EAAE,CAAA;IACZ,CAAC;IAED;;QAEI;IACI,KAAK,CAAC,IAAI;QACjB,IAAI,CAAC,GAAG,GAAG,MAAM,IAAA,SAAG,EAAC,EAAE,KAAK,EAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,EAAE,CAAA;IACd,CAAC;IAED;;QAEI;IACI,MAAM;QACb,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED;;QAEI;IACI,KAAK,CAAC,QAAQ,CAAE,KAAW,EAAE,GAAS;QAC7C,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;YACrB,IAAI;gBACH,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;aAChC;YAAC,OAAO,GAAG,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aACnB;SACD;QACD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,CAAC;IAED;;QAEI;IACG,KAAK,CAAC,KAAK,CAAE,GAAY;QAC/B,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAY,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACrG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;QAC9B,OAAO,IAAI,OAAO,CAAC,UAAU,OAAkB,EAAE,MAAiB;YACjE,IAAI,CAAC,EAAE,GAAG;gBACT,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;gBACjC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC,CAAA;QACF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACf,CAAC;CACD;AAvDD,sBAuDC;AAED,MAAM,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,CAAA"}

View File

@ -1,8 +1,12 @@
/// <reference types="node" />
import type { EventEmitter } from 'events';
/** /**
* Class representing the arduino communication features * Class representing the arduino communication features
**/ **/
export declare class Arduino { export declare class Arduino {
private log; private log;
private eventEmitter;
private cfg;
private path; private path;
private known; private known;
private serial; private serial;
@ -17,7 +21,7 @@ export declare class Arduino {
alias: any; alias: any;
stateStr: any; stateStr: any;
hasState: any; hasState: any;
constructor(errorState: Function); constructor(cfg: any, ee: EventEmitter, errorState: Function);
init(): Promise<void>; init(): Promise<void>;
/** /**
* Enumerate all connected devices that might be Arduinos * Enumerate all connected devices that might be Arduinos

View File

@ -22,9 +22,6 @@ const exec = require('child_process').exec;
const parser = new ReadlineParser({ delimiter: '\r\n' }); const parser = new ReadlineParser({ delimiter: '\r\n' });
const newlineRe = new RegExp('\n', 'g'); const newlineRe = new RegExp('\n', 'g');
const returnRe = new RegExp('\r', 'g'); const returnRe = new RegExp('\r', 'g');
let eventEmitter;
let cfg;
let arduino;
const KNOWN = [ const KNOWN = [
'/dev/tty.usbmodem1a161', '/dev/tty.usbmodem1a161',
'/dev/tty.usbserial-A800f8dk', '/dev/tty.usbserial-A800f8dk',
@ -39,7 +36,8 @@ const KNOWN = [
* Class representing the arduino communication features * Class representing the arduino communication features
**/ **/
class Arduino { class Arduino {
constructor(errorState) { constructor(cfg, ee, errorState) {
this.cfg = {};
this.path = {}; this.path = {};
this.known = KNOWN; this.known = KNOWN;
this.serial = {}; this.serial = {};
@ -50,13 +48,15 @@ class Arduino {
this.alias = {}; this.alias = {};
this.stateStr = {}; this.stateStr = {};
this.hasState = {}; this.hasState = {};
this.cfg = cfg;
this.eventEmitter = ee;
this.errorState = errorState; this.errorState = errorState;
this.init(); this.init();
} }
async init() { async init() {
this.log = await (0, log_1.Log)({ label: 'arduino' }); this.log = await (0, log_1.Log)({ label: 'arduino' });
this.keys = Object.keys(cfg.arduino.cmd); this.keys = Object.keys(this.cfg.arduino.cmd);
this.values = this.keys.map((key) => cfg.arduino.cmd[key]); this.values = this.keys.map((key) => this.cfg.arduino.cmd[key]);
} }
/** /**
* Enumerate all connected devices that might be Arduinos * Enumerate all connected devices that might be Arduinos
@ -144,7 +144,7 @@ class Arduino {
} }
this.timer = new Date().getTime(); this.timer = new Date().getTime();
this.lock(serial); this.lock(serial);
await (0, delay_1.delay)(cfg.arduino.serialDelay); await (0, delay_1.delay)(this.cfg.arduino.serialDelay);
try { try {
ms = await this.sendAsync(device, cmd); ms = await this.sendAsync(device, cmd);
} }
@ -153,7 +153,7 @@ class Arduino {
return null; return null;
} }
this.unlock(serial); this.unlock(serial);
await eventEmitter.emit('arduino_send', cmd); await this.eventEmitter.emit('arduino_send', cmd);
return ms; return ms;
} }
/** /**
@ -169,7 +169,7 @@ class Arduino {
**/ **/
async sendString(device, str) { async sendString(device, str) {
let writeSuccess; let writeSuccess;
await (0, delay_1.delay)(cfg.arduino.serialDelay); await (0, delay_1.delay)(this.cfg.arduino.serialDelay);
if (typeof this.serial[this.alias[device]].fake !== 'undefined' if (typeof this.serial[this.alias[device]].fake !== 'undefined'
&& this.serial[this.alias[device]].fake) { && this.serial[this.alias[device]].fake) {
return this.serial[this.alias[device]].string(str); return this.serial[this.alias[device]].string(str);
@ -191,7 +191,7 @@ class Arduino {
* *
**/ **/
async stateAsync(device, confirm = false) { async stateAsync(device, confirm = false) {
const cmd = cfg.arduino.cmd.state; const cmd = this.cfg.arduino.cmd.state;
const serial = confirm ? this.alias['connect'] : this.alias[device]; const serial = confirm ? this.alias['connect'] : this.alias[device];
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.queue[cmd] = (state) => { this.queue[cmd] = (state) => {
@ -233,7 +233,7 @@ class Arduino {
} }
this.timer = new Date().getTime(); this.timer = new Date().getTime();
this.lock(serial); this.lock(serial);
await (0, delay_1.delay)(cfg.arduino.serialDelay); await (0, delay_1.delay)(this.cfg.arduino.serialDelay);
try { try {
results = await this.stateAsync(device, confirm); results = await this.stateAsync(device, confirm);
} }
@ -242,7 +242,7 @@ class Arduino {
return null; return null;
} }
this.unlock(serial); this.unlock(serial);
await eventEmitter.emit('arduino_state', cfg.arduino.cmd.state); await this.eventEmitter.emit('arduino_state', this.cfg.arduino.cmd.state);
return results; return results;
} }
/** /**
@ -280,18 +280,18 @@ class Arduino {
if (this.queue[data] !== undefined) { if (this.queue[data] !== undefined) {
this.unlock(serial); this.unlock(serial);
complete = this.queue[data](ms); //execute callback complete = this.queue[data](ms); //execute callback
eventEmitter.emit('arduino_end', data); this.eventEmitter.emit('arduino_end', data);
delete this.queue[data]; delete this.queue[data];
} }
else if (data[0] === cfg.arduino.cmd.state) { else if (data[0] === this.cfg.arduino.cmd.state) {
//this.log.info(`end serial -> ${serial}`) //this.log.info(`end serial -> ${serial}`)
this.unlock(serial); this.unlock(serial);
complete = this.queue[cfg.arduino.cmd.state](data); complete = this.queue[this.cfg.arduino.cmd.state](data);
eventEmitter.emit('arduino_end', data); this.eventEmitter.emit('arduino_end', data);
delete this.queue[cfg.arduino.cmd.state]; delete this.queue[this.cfg.arduino.cmd.state];
return data; return data;
} }
else if (data[0] === cfg.arduino.cmd.error) { else if (data[0] === this.cfg.arduino.cmd.error) {
this.log.error(`Received error from device ${serial}`); this.log.error(`Received error from device ${serial}`);
this.unlock(serial); this.unlock(serial);
this.error(serial, data); this.error(serial, data);
@ -340,7 +340,7 @@ class Arduino {
this.serial[serial] = new SerialPort({ this.serial[serial] = new SerialPort({
path: serial, path: serial,
autoOpen: false, autoOpen: false,
baudRate: cfg.arduino.baud, baudRate: this.cfg.arduino.baud,
parser parser
}); });
this.unlock(serial); this.unlock(serial);
@ -381,9 +381,9 @@ class Arduino {
this.confirmExec = null; this.confirmExec = null;
this.unlock(this.alias['connect']); this.unlock(this.alias['connect']);
} }
else if (data[0] === cfg.arduino.cmd.state) { else if (data[0] === this.cfg.arduino.cmd.state) {
this.queue[cfg.arduino.cmd.state](data); this.queue[this.cfg.arduino.cmd.state](data);
delete this.queue[cfg.arduino.cmd.state]; delete this.queue[this.cfg.arduino.cmd.state];
this.unlock(this.alias['connect']); this.unlock(this.alias['connect']);
} }
} }
@ -400,16 +400,16 @@ class Arduino {
const device = 'connect'; const device = 'connect';
let writeSuccess; let writeSuccess;
this.confirmExec = function (err, data) { this.confirmExec = function (err, data) {
if (data === cfg.arduino.cmd.connect) { if (data === this.cfg.arduino.cmd.connect) {
return resolve(true); return resolve(true);
} }
else { else {
return reject('Wrong data returned'); return reject('Wrong data returned');
} }
}; };
await (0, delay_1.delay)(cfg.arduino.serialDelay); await (0, delay_1.delay)(this.cfg.arduino.serialDelay);
try { try {
writeSuccess = await this.sendAsync(device, cfg.arduino.cmd.connect); writeSuccess = await this.sendAsync(device, this.cfg.arduino.cmd.connect);
} }
catch (e) { catch (e) {
return reject(e); return reject(e);
@ -431,62 +431,62 @@ class Arduino {
let writeSuccess; let writeSuccess;
let type; let type;
this.confirmExec = function (err, data) { this.confirmExec = function (err, data) {
if (data === cfg.arduino.cmd.projector_identifier) { if (data === this.cfg.arduino.cmd.projector_identifier) {
type = 'projector'; type = 'projector';
} }
else if (data === cfg.arduino.cmd.camera_identifier) { else if (data === this.cfg.arduino.cmd.camera_identifier) {
type = 'camera'; type = 'camera';
} }
else if (data === cfg.arduino.cmd.light_identifier) { else if (data === this.cfg.arduino.cmd.light_identifier) {
type = 'light'; type = 'light';
} }
else if (data === cfg.arduino.cmd.projector_light_identifier) { else if (data === this.cfg.arduino.cmd.projector_light_identifier) {
type = 'projector,light'; type = 'projector,light';
} }
else if (data === cfg.arduino.cmd.projector_camera_light_identifier) { else if (data === this.cfg.arduino.cmd.projector_camera_light_identifier) {
type = 'projector,camera,light'; type = 'projector,camera,light';
} }
else if (data === cfg.arduino.cmd.projector_camera_identifier) { else if (data === this.cfg.arduino.cmd.projector_camera_identifier) {
type = 'projector,camera'; type = 'projector,camera';
} }
else if (data === cfg.arduino.cmd.projector_second_identifier) { else if (data === this.cfg.arduino.cmd.projector_second_identifier) {
type = 'projector_second'; type = 'projector_second';
} }
else if (data === cfg.arduino.cmd.projectors_identifier) { else if (data === this.cfg.arduino.cmd.projectors_identifier) {
type = 'projector,projector_second'; type = 'projector,projector_second';
} }
else if (data === cfg.arduino.cmd.camera_second_identifier) { else if (data === this.cfg.arduino.cmd.camera_second_identifier) {
type = 'camera_second'; type = 'camera_second';
} }
else if (data === cfg.arduino.cmd.cameras_identifier) { else if (data === this.cfg.arduino.cmd.cameras_identifier) {
type = 'camera,camera_second'; type = 'camera,camera_second';
} }
else if (data === cfg.arduino.cmd.camera_projectors_identifier) { else if (data === this.cfg.arduino.cmd.camera_projectors_identifier) {
type = 'camera,projector,projector_second'; type = 'camera,projector,projector_second';
} }
else if (data === cfg.arduino.cmd.cameras_projector_identifier) { else if (data === this.cfg.arduino.cmd.cameras_projector_identifier) {
type = 'camera,camera_second,projector'; type = 'camera,camera_second,projector';
} }
else if (data === cfg.arduino.cmd.cameras_projectors_identifier) { else if (data === this.cfg.arduino.cmd.cameras_projectors_identifier) {
type = 'camera,camera_second,projector,projector_second'; type = 'camera,camera_second,projector,projector_second';
} }
else if (data === cfg.arduino.cmd.capper_identifier) { else if (data === this.cfg.arduino.cmd.capper_identifier) {
type = 'capper'; type = 'capper';
} }
else if (data === cfg.arduino.cmd.camera_capper_identifier) { else if (data === this.cfg.arduino.cmd.camera_capper_identifier) {
type = 'camera,capper'; type = 'camera,capper';
} }
else if (data === cfg.arduino.cmd.camera_capper_projector_identifier) { else if (data === this.cfg.arduino.cmd.camera_capper_projector_identifier) {
type = 'camera,capper,projector'; type = 'camera,capper,projector';
} }
else if (data === cfg.arduino.cmd.camera_capper_projectors_identifier) { else if (data === this.cfg.arduino.cmd.camera_capper_projectors_identifier) {
type = 'camera,capper,projector,projector_second'; type = 'camera,capper,projector,projector_second';
} }
return resolve(type); return resolve(type);
}; };
await (0, delay_1.delay)(cfg.arduino.serialDelay); await (0, delay_1.delay)(this.cfg.arduino.serialDelay);
try { try {
writeSuccess = await this.sendAsync(device, cfg.arduino.cmd.mcopy_identifier); writeSuccess = await this.sendAsync(device, this.cfg.arduino.cmd.mcopy_identifier);
this.log.info(writeSuccess); this.log.info(writeSuccess);
} }
catch (e) { catch (e) {
@ -526,19 +526,19 @@ class Arduino {
this.serial[serial] = { this.serial[serial] = {
write: async function (cmd, cb) { write: async function (cmd, cb) {
const t = { const t = {
c: cfg.arduino.cam.time + cfg.arduino.cam.delay, c: this.cfg.arduino.cam.time + this.cfg.arduino.cam.delay,
p: cfg.arduino.proj.time + cfg.arduino.proj.delay, p: this.cfg.arduino.proj.time + this.cfg.arduino.proj.delay,
A: 180, A: 180,
B: 180 B: 180
}; };
let timeout = t[cmd]; let timeout = t[cmd];
if (typeof timeout === 'undefined') if (typeof timeout === 'undefined')
timeout = 10; timeout = 10;
arduino.timer = +new Date(); this.timer = +new Date();
await (0, delay_1.delay)(timeout); await (0, delay_1.delay)(timeout);
arduino.end(serial, cmd); this.end(serial, cmd);
return cb(); return cb();
}, }.bind(this),
string: async function (str) { string: async function (str) {
//do nothing //do nothing
return true; return true;
@ -595,12 +595,5 @@ class Arduino {
} }
} }
exports.Arduino = Arduino; exports.Arduino = Arduino;
if (typeof module !== 'undefined' && module.parent) { module.exports = { Arduino };
module.exports = function (c, ee, errorState) {
eventEmitter = ee;
cfg = c;
arduino = new Arduino(errorState);
return arduino;
};
}
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,7 @@
'use strict'; 'use strict';
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.Camera = void 0; exports.Camera = void 0;
const electron_1 = require("electron");
const intval_1 = require("intval"); const intval_1 = require("intval");
const processing_1 = require("processing"); const processing_1 = require("processing");
const delay_1 = require("delay"); const delay_1 = require("delay");
@ -19,6 +20,7 @@ class Camera {
this.arduino = null; this.arduino = null;
this.intval = null; this.intval = null;
this.processing = null; this.processing = null;
this.ipc = electron_1.ipcMain;
this.id = 'camera'; this.id = 'camera';
this.arduino = arduino; this.arduino = arduino;
this.cfg = cfg; this.cfg = cfg;
@ -33,7 +35,6 @@ class Camera {
**/ **/
async init() { async init() {
this.log = await (0, log_1.Log)({ label: this.id }); this.log = await (0, log_1.Log)({ label: this.id });
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
/** /**
@ -338,7 +339,5 @@ class Camera {
} }
} }
exports.Camera = Camera; exports.Camera = Camera;
module.exports = function (arduino, cfg, ui, filmout, second) { module.exports = { Camera };
return new Camera(arduino, cfg, ui, filmout, second);
};
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,7 @@
'use strict'; 'use strict';
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.Capper = void 0; exports.Capper = void 0;
const electron_1 = require("electron");
const log_1 = require("log"); const log_1 = require("log");
/** class representing capper functions **/ /** class representing capper functions **/
class Capper { class Capper {
@ -12,6 +13,7 @@ class Capper {
capper: false capper: false
}; };
this.arduino = null; this.arduino = null;
this.ipc = electron_1.ipcMain;
this.id = 'capper'; this.id = 'capper';
this.arduino = arduino; this.arduino = arduino;
this.cfg = cfg; this.cfg = cfg;
@ -24,7 +26,6 @@ class Capper {
**/ **/
async init() { async init() {
this.log = await (0, log_1.Log)({ label: this.id }); this.log = await (0, log_1.Log)({ label: this.id });
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
/** /**
@ -86,7 +87,5 @@ class Capper {
} }
} }
exports.Capper = Capper; exports.Capper = Capper;
module.exports = function (arduino, cfg, ui, filmout) { module.exports = { Capper };
return new Capper(arduino, cfg, ui, filmout);
};
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capper/index.ts"],"names":[],"mappings":"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"} {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capper/index.ts"],"names":[],"mappings":"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"}

View File

@ -1,6 +1,7 @@
'use strict'; 'use strict';
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.Commands = void 0; exports.Commands = void 0;
const electron_1 = require("electron");
const uuid_1 = require("uuid"); const uuid_1 = require("uuid");
const delay_1 = require("delay"); const delay_1 = require("delay");
class Commands { class Commands {
@ -19,6 +20,7 @@ class Commands {
* *
**/ **/
constructor(cfg, proj, cam, light, alert, cam2 = null, proj2 = null, capper = null) { constructor(cfg, proj, cam, light, alert, cam2 = null, proj2 = null, capper = null) {
this.ipc = electron_1.ipcMain;
this.cfg = cfg; this.cfg = cfg;
this.proj = proj; this.proj = proj;
this.cam = cam; this.cam = cam;
@ -30,7 +32,6 @@ class Commands {
this.proj2 = proj2; this.proj2 = proj2;
if (capper !== null) if (capper !== null)
this.capper = capper; this.capper = capper;
this.ipc = require('electron').ipcMain;
} }
/** /**
* Move the projector one frame forward * Move the projector one frame forward
@ -636,7 +637,5 @@ class Commands {
} }
} }
exports.Commands = Commands; exports.Commands = Commands;
module.exports = function (cfg, proj, cam, light, alert, cam2, proj2, capper) { module.exports = { Commands };
return new Commands(cfg, proj, cam, light, alert, cam2, proj2, capper);
};
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,7 @@
'use strict'; 'use strict';
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.Devices = void 0; exports.Devices = void 0;
const electron_1 = require("electron");
const delay_1 = require("delay"); const delay_1 = require("delay");
const log_1 = require("log"); const log_1 = require("log");
/** /**
@ -15,6 +16,7 @@ class Devices {
**/ **/
constructor(arduino, settings, mainWindow) { constructor(arduino, settings, mainWindow) {
this.connected = {}; this.connected = {};
this.ipc = electron_1.ipcMain;
this.arduino = arduino; this.arduino = arduino;
this.settings = settings; this.settings = settings;
this.mainWindow = mainWindow; this.mainWindow = mainWindow;
@ -27,7 +29,6 @@ class Devices {
**/ **/
async init() { async init() {
this.log = await (0, log_1.Log)({ label: 'devices' }); this.log = await (0, log_1.Log)({ label: 'devices' });
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
/** /**
@ -580,7 +581,5 @@ class Devices {
} }
} }
exports.Devices = Devices; exports.Devices = Devices;
module.exports = function (arduino, settings, mainWindow) { module.exports = { Devices };
return new Devices(arduino, settings, mainWindow);
};
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -5,21 +5,22 @@ exports.Display = void 0;
* @module display * @module display
* Provides features for displaying a full screen display of images for the digital module. * Provides features for displaying a full screen display of images for the digital module.
**/ **/
const electron_1 = require("electron");
const path_1 = require("path"); const path_1 = require("path");
const url_1 = require("url"); const url_1 = require("url");
const delay_1 = require("delay"); const delay_1 = require("delay");
const log_1 = require("log"); const log_1 = require("log");
const electron_1 = require("electron");
class WebView { class WebView {
constructor(platform, display) { constructor(platform, display) {
this.opened = false; this.opened = false;
this.showing = false; this.showing = false;
this.loadWait = {}; this.loadWait = {};
this.ipc = electron_1.ipcMain;
const prefs = { const prefs = {
webPreferences: { webPreferences: {
nodeIntegration: true, nodeIntegration: true,
allowRunningInsecureContent: false, allowRunningInsecureContent: false,
enableRemoteModule: true, //enableRemoteModule: true,
contextIsolation: false contextIsolation: false
}, },
width: 800, width: 800,
@ -51,7 +52,6 @@ class WebView {
//this.digitalWindow.hide(); //this.digitalWindow.hide();
this.platform = platform; this.platform = platform;
this.display = display; this.display = display;
this.ipc = require('electron').ipcMain;
this.ipc.on('display_load', this.onLoad.bind(this)); this.ipc.on('display_load', this.onLoad.bind(this));
} }
async init() { async init() {
@ -194,7 +194,5 @@ class Display {
} }
} }
exports.Display = Display; exports.Display = Display;
module.exports = function (sys) { module.exports = { Display };
return new Display(sys);
};
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -352,7 +352,5 @@ class FFMPEG {
} }
} }
exports.FFMPEG = FFMPEG; exports.FFMPEG = FFMPEG;
module.exports = (sys) => { module.exports = { FFMPEG };
return new FFMPEG(sys);
};
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -145,7 +145,5 @@ function map (obj : any) {
console.dir(obj); console.dir(obj);
} }
*/ */
module.exports = (sys) => { module.exports = { FFPROBE };
return new FFPROBE(sys);
};
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ffprobe/index.ts"],"names":[],"mappings":"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"} {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ffprobe/index.ts"],"names":[],"mappings":"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"}

View File

@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
}; };
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.FilmOut = void 0; exports.FilmOut = void 0;
const electron_1 = require("electron");
const animated_gif_detector_1 = __importDefault(require("animated-gif-detector")); const animated_gif_detector_1 = __importDefault(require("animated-gif-detector"));
const path_1 = require("path"); const path_1 = require("path");
const fs_extra_1 = require("fs-extra"); const fs_extra_1 = require("fs-extra");
@ -46,6 +47,7 @@ class FilmOut {
enabled: false, enabled: false,
files: [] files: []
}; };
this.ipc = electron_1.ipcMain;
this.display = display; this.display = display;
this.server = server; this.server = server;
this.ffmpeg = ffmpeg; this.ffmpeg = ffmpeg;
@ -59,7 +61,6 @@ class FilmOut {
**/ **/
async init() { async init() {
this.log = await (0, log_1.Log)({ label: this.id }); this.log = await (0, log_1.Log)({ label: this.id });
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
/** /**
@ -503,7 +504,5 @@ class FilmOut {
} }
} }
exports.FilmOut = FilmOut; exports.FilmOut = FilmOut;
module.exports = (display, server, ffmpeg, ffprobe, ui, light) => { module.exports = { FilmOut };
return new FilmOut(display, server, ffmpeg, ffprobe, ui, light);
};
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,7 @@
'use strict'; 'use strict';
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.Light = void 0; exports.Light = void 0;
const electron_1 = require("electron");
const delay_1 = require("delay"); const delay_1 = require("delay");
const log_1 = require("log"); const log_1 = require("log");
class Light { class Light {
@ -9,6 +10,7 @@ class Light {
**/ **/
constructor(arduino, cfg, ui) { constructor(arduino, cfg, ui) {
this.state = { color: [0, 0, 0] }; this.state = { color: [0, 0, 0] };
this.ipc = electron_1.ipcMain;
this.enabled = true; this.enabled = true;
this.id = 'light'; this.id = 'light';
this.arduino = arduino; this.arduino = arduino;
@ -21,7 +23,6 @@ class Light {
**/ **/
async init() { async init() {
this.log = await (0, log_1.Log)({ label: this.id }); this.log = await (0, log_1.Log)({ label: this.id });
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
/** /**
@ -93,7 +94,5 @@ class Light {
} }
} }
exports.Light = Light; exports.Light = Light;
module.exports = function (arduino, cfg, ui) { module.exports = { Light };
return new Light(arduino, cfg, ui);
};
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/light/index.ts"],"names":[],"mappings":"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"} {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/light/index.ts"],"names":[],"mappings":"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"}

View File

@ -2,6 +2,7 @@
/** class representing the Projector features **/ /** class representing the Projector features **/
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.Projector = void 0; exports.Projector = void 0;
const electron_1 = require("electron");
const log_1 = require("log"); const log_1 = require("log");
class Projector { class Projector {
/** /**
@ -13,6 +14,7 @@ class Projector {
dir: true dir: true
}; };
this.arduino = null; this.arduino = null;
this.ipc = electron_1.ipcMain;
this.id = 'projector'; this.id = 'projector';
this.arduino = arduino; this.arduino = arduino;
this.cfg = cfg; this.cfg = cfg;
@ -27,7 +29,6 @@ class Projector {
**/ **/
async init() { async init() {
this.log = await (0, log_1.Log)({ label: this.id }); this.log = await (0, log_1.Log)({ label: this.id });
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
/** /**
@ -172,7 +173,5 @@ class Projector {
} }
} }
exports.Projector = Projector; exports.Projector = Projector;
module.exports = function (arduino, cfg, ui, filmout, second) { module.exports = { Projector };
return new Projector(arduino, cfg, ui, filmout, second);
};
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -98,4 +98,5 @@ export declare class Sequencer {
* @param {integer} x Step to execute command at * @param {integer} x Step to execute command at
**/ **/
private cmdExec; private cmdExec;
isRunning(): boolean;
} }

View File

@ -1,8 +1,8 @@
'use strict'; 'use strict';
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.Sequencer = void 0; exports.Sequencer = void 0;
const log_1 = require("log");
const electron_1 = require("electron"); const electron_1 = require("electron");
const log_1 = require("log");
const delay_1 = require("delay"); const delay_1 = require("delay");
/** @module lib/sequencer **/ /** @module lib/sequencer **/
let seq; let seq;
@ -23,6 +23,7 @@ class Sequencer {
this.arr = []; //store sequence from gui this.arr = []; //store sequence from gui
this.loops = 1; this.loops = 1;
this.CMDS = {}; this.CMDS = {};
this.ipc = electron_1.ipcMain;
this.id = 'sequence'; this.id = 'sequence';
this.alerted = false; this.alerted = false;
this.cfg = cfg; this.cfg = cfg;
@ -50,7 +51,6 @@ class Sequencer {
**/ **/
async init() { async init() {
this.log = await (0, log_1.Log)({ label: this.id }); this.log = await (0, log_1.Log)({ label: this.id });
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
/** /**
@ -233,9 +233,10 @@ class Sequencer {
//@ts-ignore //@ts-ignore
return await this.cmd[cmd](this.arr[x]); return await this.cmd[cmd](this.arr[x]);
} }
isRunning() {
return this.running;
}
} }
exports.Sequencer = Sequencer; exports.Sequencer = Sequencer;
module.exports = function (cfg, cmd, ui) { module.exports = { Sequencer };
return new Sequencer(cfg, cmd, ui);
};
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -200,7 +200,5 @@ class Server {
} }
} }
exports.Server = Server; exports.Server = Server;
module.exports = function (ui) { module.exports = { Server };
return new Server(ui);
};
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -122,5 +122,5 @@ class Settings {
; ;
} }
exports.Settings = Settings; exports.Settings = Settings;
module.exports = new Settings(); module.exports = { Settings };
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/settings/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;AAEZ,2BAA6B;AAC7B,+BAA4B;AAC5B,0CAAyE;AAGzE,MAAa,QAAQ;IAgBpB;;QAEI;IACJ;QAlBQ,SAAI,GAAY,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,uBAAuB,CAAC,CAAC;QACzD,iBAAY,GAAS;YAC5B,MAAM,EAAG;gBACR,IAAI,EAAG,IAAI;gBACX,OAAO,EAAG,IAAI;aACd;YACD,OAAO,EAAG,EAAE;YACZ,OAAO,EAAG,OAAO;YACjB,MAAM,EAAG,EAAE;YACX,SAAS,EAAG,EAAE;YACd,KAAK,EAAG,EAAE;YACV,MAAM,EAAG,EAAE;YACX,MAAM,EAAG,EAAE;SACX,CAAA;QAMA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,MAAM,CAAE,IAAa;QAClC,IAAI;YACH,MAAM,IAAA,iBAAM,EAAC,IAAI,CAAC,CAAC;YACnB,OAAO,IAAI,CAAC;SACZ;QAAC,WAAM;YACP,OAAO,KAAK,CAAC;SACb;IACF,CAAC;IAEO,UAAU;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,CAAC;IACD;;QAEI;IACI,KAAK,CAAC,QAAQ;QACrB,MAAM,GAAG,GAAY,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,MAAM,GAAa,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC/C,IAAI,CAAC,MAAM,EAAE;YACZ,IAAI;gBACH,MAAM,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAC;aACjB;YAAC,OAAO,GAAG,EAAE;gBACb,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAA;gBACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACnB;SACD;QACD,OAAO,IAAI,CAAA;IACZ,CAAC;IACD;;QAEI;IACG,KAAK,CAAC,IAAI;QAChB,MAAM,GAAG,GAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI;YACH,MAAM,IAAA,oBAAS,EAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;SACxC;QAAC,OAAO,GAAG,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACnB;IACF,CAAC;IACD;;QAEI;IACG,MAAM,CAAE,GAAY,EAAE,GAAS;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACvB,CAAC;IACD;;QAEI;IACG,GAAG,CAAE,GAAY;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IACD;;QAEI;IACG,GAAG;QACT,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IACD;;QAEI;IACG,KAAK,CAAC,OAAO;QACnB,IAAI,MAAM,GAAa,KAAK,CAAC;QAC7B,IAAI,GAAY,CAAC;QAEjB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,MAAM,EAAE;YACX,GAAG,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,yBAAyB;SACzB;aAAM;YACN,IAAI,CAAC,IAAI,EAAE,CAAC;SACZ;IACF,CAAC;IACD;;QAEI;IACG,KAAK,CAAC,KAAK;QACjB,MAAM,MAAM,GAAa,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,MAAM,EAAE;YACX,IAAI;gBACH,MAAM,IAAA,iBAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;YAAC,OAAO,GAAG,EAAE;gBACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACnB;SACD;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAAA,CAAC;CACF;AAlHD,4BAkHC;AAED,MAAM,CAAC,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC"} {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/settings/index.ts"],"names":[],"mappings":"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"}

View File

@ -19,4 +19,12 @@ interface System {
tmp: string; tmp: string;
platform: string; platform: string;
} }
/**
* Profile the current system and return an object with
* data about the displays and dependencies for the digital
* projector feature.
*
* @returns {object} Object containing system information
*/
export declare function system(ui: any): Promise<System>;
export type { System, Display, Dependencies }; export type { System, Display, Dependencies };

View File

@ -1,5 +1,6 @@
'use strict'; 'use strict';
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
exports.system = void 0;
const os_1 = require("os"); const os_1 = require("os");
const electron_1 = require("electron"); const electron_1 = require("electron");
const exec_1 = require("exec"); const exec_1 = require("exec");
@ -123,5 +124,6 @@ async function system(ui) {
}, 3000); }, 3000);
return obj; return obj;
} }
module.exports = system; exports.system = system;
module.exports = { system };
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map

View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/system/index.ts"],"names":[],"mappings":"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"} {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/system/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,2BAAkC;AAClC,uCAAkC;AAElC,+BAA4B;AA2B5B;;;;;;;;IAQI;AACJ,KAAK,UAAU,YAAY,CAAE,QAAiB;IAC7C,IAAI,GAAG,GAAkB,EAAE,CAAC;IAC5B,IAAI,MAAM,GAAY,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/C,IAAI,OAAO,GAAS,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9C,IAAI,QAAqB,CAAC;IAC1B,4BAA4B;IAC5B,IAAI,SAAsB,CAAC;IAE3B,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA,CAAA;;;QAGf;IACJ,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAA,CAAA;;;QAGtB;IAEJ,IAAI;QACH,yCAAyC;KACzC;IAAC,OAAO,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;KACnD;IAED;;;;OAIG;IAEH,UAAU;IACV,IAAI,QAAQ,KAAK,KAAK,EAAE;QACvB,IAAI;YACH,SAAS,GAAG,MAAM,IAAA,WAAI,EAAC,WAAW,CAAC,CAAC;SACpC;QAAC,OAAO,GAAG,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACjD,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACtC;aAAM;YACN,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAClC;KACD;IAED,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,UAAU,CAAE,GAAqB;IACzC,MAAM,EAAE,GAAa;QACpB,IAAI,EAAG,IAAI;QACX,EAAE,EAAG,GAAG,CAAC,EAAE;QACX,KAAK,EAAG,GAAG,CAAC,IAAI,CAAC,KAAK;QACtB,MAAM,EAAG,GAAG,CAAC,IAAI,CAAC,MAAM;QACxB,CAAC,EAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QAChB,CAAC,EAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QAChB,KAAK,EAAG,GAAG,CAAC,WAAW;QACvB,OAAO,EAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;KACpD,CAAC;IACF,MAAM,OAAO,GAAY,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;IACvD,EAAE,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;IAC/C,OAAO,EAAE,CAAC;AACX,CAAC;AAED,SAAS,WAAW,CAAE,CAAO,EAAE,CAAO;IACrC,IAAI,CAAC,CAAC,OAAO,EAAE;QACd,OAAO,CAAC,CAAC,CAAA;KACT;SAAM,IAAI,CAAC,CAAC,OAAO,EAAE;QACrB,OAAO,CAAC,CAAA;KACR;IACD,OAAO,CAAC,CAAA;AACT,CAAC;AAED,KAAK,UAAU,QAAQ;IACtB,MAAM,gBAAgB,GAAuB,iBAAM,CAAC,cAAc,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAe,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9D,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,MAAM,CAAE,EAAQ;IACrC,MAAM,GAAG,GAAY;QACpB,IAAI,EAAG,IAAI;QACX,QAAQ,EAAG,IAAI;QACf,QAAQ,EAAG,IAAI;QACf,GAAG,EAAG,IAAI;KACV,CAAC;IACF,IAAI,QAAiB,CAAC;IAEtB,IAAI;QACH,GAAG,CAAC,GAAG,GAAG,IAAA,WAAM,GAAE,CAAC;KACnB;IAAC,OAAO,GAAG,EAAE;QACb,GAAG,CAAC,GAAG,GAAG,MAAM,CAAA;KAChB;IAED,QAAQ,GAAG,IAAA,SAAI,GAAE,CAAC;IAElB,IAAI,QAAQ,KAAK,QAAQ,EAAE;QAC1B,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;KACrB;SAAM,IAAI,QAAQ,KAAK,YAAY,EAAE;QACrC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;KACrB;SAAM;QACN,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;KACrB;IAED,GAAG,CAAC,QAAQ,GAAG,MAAM,QAAQ,EAAE,CAAA;IAC/B,GAAG,CAAC,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE5C,UAAU,CAAC,GAAG,EAAE;QACf,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,OAAO,GAAG,CAAC;AACZ,CAAC;AAjCD,wBAiCC;AAED,MAAM,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,CAAC"}

1
app/main.d.ts vendored Normal file
View File

@ -0,0 +1 @@
export {};

View File

@ -1,153 +1,144 @@
/* jshint esversion: 6, asi: true, strict: true*/ "use strict";
/* global require, setTimeout, process, console*/ Object.defineProperty(exports, "__esModule", { value: true });
const electron_1 = require("electron");
'use strict' const events_1 = require("events");
const path_1 = require("path");
//process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true'; const settings_1 = require("settings");
const system_1 = require("system");
const electron = require('electron') const log_1 = require("log");
const { Menu, BrowserWindow, app } = electron const arduino_1 = require("arduino");
const { EventEmitter } = require('events') const cam_1 = require("cam");
const { join } = require('path') const proj_1 = require("proj");
const light_1 = require("light");
require('@electron/remote/main').initialize() const capper_1 = require("capper");
const alert_1 = require("alert");
const ee = new EventEmitter() const display_1 = require("display");
const settings = require('settings') const filmout_1 = require("filmout");
const system = require('system') const ffmpeg_1 = require("ffmpeg");
const { delay } = require('delay') const ffprobe_1 = require("ffprobe");
const { Log } = require('log') const devices_1 = require("devices");
const cmd_1 = require("cmd");
const sequencer_1 = require("sequencer");
const server_1 = require("server");
require('@electron/remote/main').initialize();
const ee = new events_1.EventEmitter();
//Objects //Objects
const mcopy = {} const mcopy = {};
let SYSTEM;
let SYSTEM let settings;
let log let log;
let mainWindow let mainWindow;
let arduino let arduino;
let menu let menu;
let display let display;
let ffmpeg let ffmpeg;
let ffprobe let ffprobe;
let cam let cam;
let cam2 let cam2;
let proj let proj;
let proj2 let proj2;
let light let light;
let filmout let filmout;
let dev let dev;
let cmd let cmd;
let seq let seq;
let capper let capper;
let alert let alert;
let server let server;
const cfg = require('./data/cfg.json');
const cfg = require('./data/cfg.json')
var createMenu = function () { var createMenu = function () {
const template = require('./data/menu.json') const template = require('./data/menu.json');
menu = Menu.buildFromTemplate(template) menu = electron_1.Menu.buildFromTemplate(template);
Menu.setApplicationMenu(menu) electron_1.Menu.setApplicationMenu(menu);
} };
var createWindow = function () { var createWindow = function () {
mainWindow = new BrowserWindow({ const windowOptions = {
width: 800, width: 800,
height: 600, height: 600,
minWidth : 800, minWidth: 800,
minHeight : 600, minHeight: 600,
icon: join(__dirname, 'assets/icons/icon.png'), icon: (0, path_1.join)(__dirname, 'assets/icons/icon.png'),
skipTaskbar: true, skipTaskbar: true,
toolbar: false, //toolbar: false,
webPreferences : { webPreferences: {
nodeIntegration : true, nodeIntegration: true,
enableRemoteModule: true, //enableRemoteModule: true,
contextIsolation : false contextIsolation: false
} }
}) };
mainWindow = new electron_1.BrowserWindow(windowOptions);
mainWindow.loadURL('file://' + __dirname + '/index.html') mainWindow.loadURL('file://' + __dirname + '/index.html');
if (process.argv.indexOf('-d') !== -1 || process.argv.indexOf('--dev') !== -1) { if (process.argv.indexOf('-d') !== -1 || process.argv.indexOf('--dev') !== -1) {
mainWindow.webContents.openDevTools() mainWindow.webContents.openDevTools();
} else { }
mainWindow.setMenu(null) else {
mainWindow.setAutoHideMenuBar(true) mainWindow.setMenu(null);
} mainWindow.setAutoHideMenuBar(true);
mainWindow.on('closed', () => { }
mainWindow = null mainWindow.on('closed', () => {
}) mainWindow = null;
require('@electron/remote/main').enable(mainWindow.webContents) });
} require('@electron/remote/main').enable(mainWindow.webContents);
};
var errorState = function () { var errorState = function () {
if (seq && seq.running) { if (seq && seq.isRunning()) {
//pause sequence if running //pause sequence if running
seq.pause(); seq.pause();
} }
mainWindow.webContents.send('error_state', { stop : true }); mainWindow.webContents.send('error_state', { stop: true });
} };
var init = async function () { var init = async function () {
log = await Log({ label : 'mcopy' }) log = await (0, log_1.Log)({ label: 'mcopy' });
createWindow();
createWindow() createMenu();
createMenu() try {
SYSTEM = await (0, system_1.system)(mainWindow.webContents);
try { }
SYSTEM = await system(mainWindow.webContents) catch (err) {
} catch (err) { console.error(err);
console.error(err) }
} settings = new settings_1.Settings();
await settings.restore();
await settings.restore() display = new display_1.Display(SYSTEM);
ffmpeg = new ffmpeg_1.FFMPEG(SYSTEM);
display = require('display')(SYSTEM) ffprobe = new ffprobe_1.FFPROBE(SYSTEM);
ffmpeg = require('ffmpeg')(SYSTEM) arduino = new arduino_1.Arduino(cfg, ee, errorState);
ffprobe = require('ffprobe')(SYSTEM) dev = new devices_1.Devices(arduino, settings, mainWindow);
arduino = require('arduino')(cfg, ee, errorState) server = new server_1.Server(mainWindow.webContents);
light = new light_1.Light(arduino, cfg, mainWindow.webContents);
dev = require('devices')(arduino, settings, mainWindow) filmout = new filmout_1.FilmOut(display, server, ffmpeg, ffprobe, mainWindow.webContents, light);
server = require('server')(mainWindow.webContents) cam = new cam_1.Camera(arduino, cfg, mainWindow.webContents, filmout);
light = require('light')(arduino, cfg, mainWindow.webContents) proj = new proj_1.Projector(arduino, cfg, mainWindow.webContents, filmout);
filmout = require('filmout')(display, server, ffmpeg, ffprobe, mainWindow.webContents, light) alert = new alert_1.Alert(mainWindow.webContents);
cam = require('cam')(arduino, cfg, mainWindow.webContents, filmout) try {
proj = require('proj')(arduino, cfg, mainWindow.webContents, filmout) await dev.enumerate();
alert = require('alert')(mainWindow.webContents) }
catch (err) {
try { log.error('Error enumerating connected devices', err);
await dev.enumerate() }
} catch (err) { if (dev && dev.connected && dev.connected.camera_second) {
log.error('Error enumerating connected devices', err) cam2 = new cam_1.Camera(arduino, cfg, mainWindow.webContents, filmout, true);
} }
if (dev && dev.connected && dev.connected.projector_second) {
if (dev && dev.connected && dev.connected.camera_second) { proj2 = new proj_1.Projector(arduino, cfg, mainWindow.webContents, filmout, true);
cam2 = require('cam')(arduino, cfg, mainWindow.webContents, filmout, true) }
} if (dev && dev.connected && dev.connected.capper) {
capper = new capper_1.Capper(arduino, cfg, mainWindow.webContents, filmout);
if (dev && dev.connected && dev.connected.projector_second) { }
proj2 = require('proj')(arduino, cfg, mainWindow.webContents, filmout, true) cmd = new cmd_1.Commands(cfg, proj, cam, light, alert, cam2, proj2, capper);
} seq = new sequencer_1.Sequencer(cfg, cmd, mainWindow.webContents);
if (dev && dev.connected && dev.connected.capper) { };
capper = require('capper')(arduino, cfg, mainWindow.webContents, filmout, true) electron_1.app.on('ready', init);
} electron_1.app.on('window-all-closed', () => {
electron_1.app.quit();
cmd = require('cmd')(cfg, proj, cam, light, alert, cam2, proj2, capper)
seq = require('sequencer')(cfg, cmd, mainWindow.webContents)
}
app.on('ready', init)
app.on('window-all-closed', () => {
app.quit()
}); });
electron_1.app.on('activate', () => {
app.on('activate', () => { if (mainWindow === null) {
if (mainWindow === null) { createWindow();
createWindow() }
}
}); });
mcopy.relaunch = function () { mcopy.relaunch = function () {
app.relaunch({args: process.argv.slice(1).concat(['--relaunch'])}) electron_1.app.relaunch({ args: process.argv.slice(1).concat(['--relaunch']) });
app.exit(0) electron_1.app.exit(0);
} };
//# sourceMappingURL=main.js.map

1
app/main.js.map Normal file
View File

@ -0,0 +1 @@
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}

2
app/package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "mcopy-app", "name": "mcopy-app",
"version": "1.8.110", "version": "1.8.111",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {

View File

@ -1,6 +1,6 @@
{ {
"name": "mcopy-app", "name": "mcopy-app",
"version": "1.8.110", "version": "1.8.111",
"description": "GUI for the mcopy small gauge film optical printer platform", "description": "GUI for the mcopy small gauge film optical printer platform",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {

View File

@ -5,6 +5,7 @@ set -e
# compile main process code # compile main process code
cd .. cd ..
npm run compile npm run compile
cd ./app cd ./app
# compile renderer process code # compile renderer process code

View File

@ -1,5 +1,5 @@
{ {
"version": "1.8.110", "version": "1.8.111",
"ext_port": 1111, "ext_port": 1111,
"profiles": { "profiles": {
"mcopy": { "mcopy": {

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "mcopy", "name": "mcopy",
"version": "1.8.110", "version": "1.8.111",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "mcopy", "name": "mcopy",
"version": "1.8.110", "version": "1.8.111",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"alert": "file:app/lib/alert", "alert": "file:app/lib/alert",

View File

@ -1,6 +1,6 @@
{ {
"name": "mcopy", "name": "mcopy",
"version": "1.8.110", "version": "1.8.111",
"description": "Small gauge film optical printer platform", "description": "Small gauge film optical printer platform",
"main": "build.js", "main": "build.js",
"directories": { "directories": {

View File

@ -1,5 +1,5 @@
{ {
"version": "1.8.110", "version": "1.8.111",
"ext_port": 1111, "ext_port": 1111,
"profiles": { "profiles": {
"mcopy": { "mcopy": {

View File

@ -11,4 +11,5 @@ cp -r ./lib/* ./app/lib/
rm -r ./lib rm -r ./lib
cp ./data/cfg.json ./app/data/ cp ./data/cfg.json ./app/data/
cp ./data/cfg.json ./processing/mcopy/ cp ./data/cfg.json ./processing/mcopy/
mv ./app/lib/main.* ./app/

View File

@ -1,5 +1,6 @@
'use strict'; 'use strict';
import { ipcMain } from 'electron';
import { delay } from 'delay'; import { delay } from 'delay';
import { Log } from 'log'; import { Log } from 'log';
import type { Logger } from 'winston'; import type { Logger } from 'winston';
@ -8,7 +9,7 @@ import type { WebContents } from 'electron';
/* class representing alert functionality */ /* class representing alert functionality */
export class Alert { export class Alert {
private ipc : any private ipc : typeof ipcMain = ipcMain
private log : Logger private log : Logger
private id : string = 'alert' private id : string = 'alert'
private cb : Function = null private cb : Function = null
@ -24,7 +25,6 @@ export class Alert {
**/ **/
private async init () { private async init () {
this.log = await Log({ label : this.id }) this.log = await Log({ label : this.id })
this.ipc = require('electron').ipcMain
this.listen() this.listen()
} }
@ -65,6 +65,4 @@ export class Alert {
} }
} }
module.exports = function (ui : WebContents) { module.exports = { Alert }
return new Alert(ui);
}

View File

@ -18,6 +18,7 @@ import { delay } from 'delay';
import { Log } from 'log'; import { Log } from 'log';
import type { Logger } from 'winston'; import type { Logger } from 'winston';
import type { Device } from 'devices'; import type { Device } from 'devices';
import type { EventEmitter } from 'events'
const { SerialPort } = require('serialport'); const { SerialPort } = require('serialport');
const { ReadlineParser } = require('@serialport/parser-readline'); const { ReadlineParser } = require('@serialport/parser-readline');
@ -27,10 +28,6 @@ const parser : any = new ReadlineParser({ delimiter: '\r\n' });
const newlineRe : RegExp = new RegExp('\n', 'g'); const newlineRe : RegExp = new RegExp('\n', 'g');
const returnRe : RegExp = new RegExp('\r', 'g'); const returnRe : RegExp = new RegExp('\r', 'g');
let eventEmitter : any;
let cfg : any;
let arduino : Arduino;
const KNOWN : string[] = [ const KNOWN : string[] = [
'/dev/tty.usbmodem1a161', '/dev/tty.usbmodem1a161',
'/dev/tty.usbserial-A800f8dk', '/dev/tty.usbserial-A800f8dk',
@ -49,6 +46,8 @@ const KNOWN : string[] = [
export class Arduino { export class Arduino {
private log : Logger; private log : Logger;
private eventEmitter : EventEmitter;
private cfg : any = {};
private path : any = {}; private path : any = {};
private known : string[] = KNOWN; private known : string[] = KNOWN;
private serial : any = {}; private serial : any = {};
@ -65,15 +64,17 @@ export class Arduino {
public stateStr : any = {}; public stateStr : any = {};
public hasState : any = {}; public hasState : any = {};
constructor (errorState : Function) { constructor ( cfg : any, ee : EventEmitter, errorState : Function) {
this.cfg = cfg;
this.eventEmitter = ee;
this.errorState = errorState; this.errorState = errorState;
this.init() this.init();
} }
async init () { async init () {
this.log = await Log({ label : 'arduino' }); this.log = await Log({ label : 'arduino' });
this.keys = Object.keys(cfg.arduino.cmd); this.keys = Object.keys(this.cfg.arduino.cmd);
this.values = this.keys.map((key : string) => cfg.arduino.cmd[key]); this.values = this.keys.map((key : string) => this.cfg.arduino.cmd[key]);
} }
/** /**
@ -158,7 +159,7 @@ export class Arduino {
} }
this.timer = new Date().getTime() this.timer = new Date().getTime()
this.lock(serial) this.lock(serial)
await delay(cfg.arduino.serialDelay) await delay(this.cfg.arduino.serialDelay)
try { try {
ms = await this.sendAsync(device, cmd) ms = await this.sendAsync(device, cmd)
} catch (e) { } catch (e) {
@ -167,7 +168,7 @@ export class Arduino {
} }
this.unlock(serial) this.unlock(serial)
await eventEmitter.emit('arduino_send', cmd) await this.eventEmitter.emit('arduino_send', cmd)
return ms return ms
} }
@ -184,7 +185,7 @@ export class Arduino {
**/ **/
public async sendString (device : string, str : string) : Promise<any> { public async sendString (device : string, str : string) : Promise<any> {
let writeSuccess : any let writeSuccess : any
await delay(cfg.arduino.serialDelay) await delay(this.cfg.arduino.serialDelay)
if (typeof this.serial[this.alias[device]].fake !== 'undefined' if (typeof this.serial[this.alias[device]].fake !== 'undefined'
&& this.serial[this.alias[device]].fake) { && this.serial[this.alias[device]].fake) {
return this.serial[this.alias[device]].string(str) return this.serial[this.alias[device]].string(str)
@ -205,7 +206,7 @@ export class Arduino {
* *
**/ **/
private async stateAsync (device : string, confirm : boolean = false) : Promise<string> { private async stateAsync (device : string, confirm : boolean = false) : Promise<string> {
const cmd : string = cfg.arduino.cmd.state const cmd : string = this.cfg.arduino.cmd.state
const serial : string = confirm ? this.alias['connect'] : this.alias[device] const serial : string = confirm ? this.alias['connect'] : this.alias[device]
return new Promise ((resolve, reject) => { return new Promise ((resolve, reject) => {
this.queue[cmd] = (state : string) => { this.queue[cmd] = (state : string) => {
@ -250,7 +251,7 @@ export class Arduino {
this.timer = new Date().getTime() this.timer = new Date().getTime()
this.lock(serial) this.lock(serial)
await delay(cfg.arduino.serialDelay) await delay(this.cfg.arduino.serialDelay)
try { try {
results = await this.stateAsync(device, confirm) results = await this.stateAsync(device, confirm)
@ -260,7 +261,7 @@ export class Arduino {
} }
this.unlock(serial) this.unlock(serial)
await eventEmitter.emit('arduino_state', cfg.arduino.cmd.state) await this.eventEmitter.emit('arduino_state', this.cfg.arduino.cmd.state)
return results return results
} }
@ -300,16 +301,16 @@ export class Arduino {
if (this.queue[data] !== undefined) { if (this.queue[data] !== undefined) {
this.unlock(serial) this.unlock(serial)
complete = this.queue[data](ms) //execute callback complete = this.queue[data](ms) //execute callback
eventEmitter.emit('arduino_end', data) this.eventEmitter.emit('arduino_end', data)
delete this.queue[data] delete this.queue[data]
} else if (data[0] === cfg.arduino.cmd.state) { } else if (data[0] === this.cfg.arduino.cmd.state) {
//this.log.info(`end serial -> ${serial}`) //this.log.info(`end serial -> ${serial}`)
this.unlock(serial) this.unlock(serial)
complete = this.queue[cfg.arduino.cmd.state](data) complete = this.queue[this.cfg.arduino.cmd.state](data)
eventEmitter.emit('arduino_end', data) this.eventEmitter.emit('arduino_end', data)
delete this.queue[cfg.arduino.cmd.state] delete this.queue[this.cfg.arduino.cmd.state]
return data return data
} else if (data[0] === cfg.arduino.cmd.error) { } else if (data[0] === this.cfg.arduino.cmd.error) {
this.log.error(`Received error from device ${serial}`) this.log.error(`Received error from device ${serial}`)
this.unlock(serial) this.unlock(serial)
this.error(serial, data) this.error(serial, data)
@ -358,7 +359,7 @@ export class Arduino {
this.serial[serial] = new SerialPort({ this.serial[serial] = new SerialPort({
path : serial, path : serial,
autoOpen : false, autoOpen : false,
baudRate: cfg.arduino.baud, baudRate: this.cfg.arduino.baud,
parser parser
}) })
this.unlock(serial) this.unlock(serial)
@ -397,9 +398,9 @@ export class Arduino {
this.confirmExec(null, data) this.confirmExec(null, data)
this.confirmExec = null this.confirmExec = null
this.unlock(this.alias['connect']) this.unlock(this.alias['connect'])
} else if (data[0] === cfg.arduino.cmd.state) { } else if (data[0] === this.cfg.arduino.cmd.state) {
this.queue[cfg.arduino.cmd.state](data) this.queue[this.cfg.arduino.cmd.state](data)
delete this.queue[cfg.arduino.cmd.state] delete this.queue[this.cfg.arduino.cmd.state]
this.unlock(this.alias['connect']) this.unlock(this.alias['connect'])
} }
} }
@ -416,17 +417,17 @@ export class Arduino {
const device : string = 'connect' const device : string = 'connect'
let writeSuccess : any let writeSuccess : any
this.confirmExec = function (err : Error, data : string) { this.confirmExec = function (err : Error, data : string) {
if (data === cfg.arduino.cmd.connect) { if (data === this.cfg.arduino.cmd.connect) {
return resolve(true) return resolve(true)
} else { } else {
return reject('Wrong data returned') return reject('Wrong data returned')
} }
} }
await delay(cfg.arduino.serialDelay) await delay(this.cfg.arduino.serialDelay)
try { try {
writeSuccess = await this.sendAsync(device, cfg.arduino.cmd.connect) writeSuccess = await this.sendAsync(device, this.cfg.arduino.cmd.connect)
} catch (e) { } catch (e) {
return reject(e) return reject(e)
} }
@ -447,48 +448,48 @@ export class Arduino {
let writeSuccess : any let writeSuccess : any
let type : string let type : string
this.confirmExec = function (err : Error, data : string) { this.confirmExec = function (err : Error, data : string) {
if (data === cfg.arduino.cmd.projector_identifier) { if (data === this.cfg.arduino.cmd.projector_identifier) {
type = 'projector' type = 'projector'
} else if (data === cfg.arduino.cmd.camera_identifier) { } else if (data === this.cfg.arduino.cmd.camera_identifier) {
type = 'camera' type = 'camera'
} else if (data === cfg.arduino.cmd.light_identifier) { } else if (data === this.cfg.arduino.cmd.light_identifier) {
type = 'light' type = 'light'
} else if (data === cfg.arduino.cmd.projector_light_identifier) { } else if (data === this.cfg.arduino.cmd.projector_light_identifier) {
type = 'projector,light' type = 'projector,light'
} else if (data === cfg.arduino.cmd.projector_camera_light_identifier) { } else if (data === this.cfg.arduino.cmd.projector_camera_light_identifier) {
type = 'projector,camera,light' type = 'projector,camera,light'
} else if (data === cfg.arduino.cmd.projector_camera_identifier) { } else if (data === this.cfg.arduino.cmd.projector_camera_identifier) {
type = 'projector,camera' type = 'projector,camera'
} else if (data === cfg.arduino.cmd.projector_second_identifier) { } else if (data === this.cfg.arduino.cmd.projector_second_identifier) {
type = 'projector_second' type = 'projector_second'
} else if (data === cfg.arduino.cmd.projectors_identifier) { } else if (data === this.cfg.arduino.cmd.projectors_identifier) {
type = 'projector,projector_second' type = 'projector,projector_second'
} else if (data === cfg.arduino.cmd.camera_second_identifier) { } else if (data === this.cfg.arduino.cmd.camera_second_identifier) {
type = 'camera_second' type = 'camera_second'
} else if (data === cfg.arduino.cmd.cameras_identifier) { } else if (data === this.cfg.arduino.cmd.cameras_identifier) {
type = 'camera,camera_second' type = 'camera,camera_second'
} else if (data === cfg.arduino.cmd.camera_projectors_identifier) { } else if (data === this.cfg.arduino.cmd.camera_projectors_identifier) {
type = 'camera,projector,projector_second' type = 'camera,projector,projector_second'
} else if (data === cfg.arduino.cmd.cameras_projector_identifier) { } else if (data === this.cfg.arduino.cmd.cameras_projector_identifier) {
type = 'camera,camera_second,projector' type = 'camera,camera_second,projector'
} else if (data === cfg.arduino.cmd.cameras_projectors_identifier) { } else if (data === this.cfg.arduino.cmd.cameras_projectors_identifier) {
type = 'camera,camera_second,projector,projector_second' type = 'camera,camera_second,projector,projector_second'
} else if (data === cfg.arduino.cmd.capper_identifier) { } else if (data === this.cfg.arduino.cmd.capper_identifier) {
type = 'capper' type = 'capper'
} else if (data === cfg.arduino.cmd.camera_capper_identifier) { } else if (data === this.cfg.arduino.cmd.camera_capper_identifier) {
type = 'camera,capper' type = 'camera,capper'
} else if (data === cfg.arduino.cmd.camera_capper_projector_identifier) { } else if (data === this.cfg.arduino.cmd.camera_capper_projector_identifier) {
type = 'camera,capper,projector' type = 'camera,capper,projector'
} else if (data === cfg.arduino.cmd.camera_capper_projectors_identifier) { } else if (data === this.cfg.arduino.cmd.camera_capper_projectors_identifier) {
type = 'camera,capper,projector,projector_second' type = 'camera,capper,projector,projector_second'
} }
return resolve(type) return resolve(type)
} }
await delay(cfg.arduino.serialDelay) await delay(this.cfg.arduino.serialDelay)
try { try {
writeSuccess = await this.sendAsync(device, cfg.arduino.cmd.mcopy_identifier) writeSuccess = await this.sendAsync(device, this.cfg.arduino.cmd.mcopy_identifier)
this.log.info(writeSuccess) this.log.info(writeSuccess)
} catch (e) { } catch (e) {
return reject(e) return reject(e)
@ -526,21 +527,21 @@ export class Arduino {
this.serial[serial] = { this.serial[serial] = {
write : async function (cmd : string, cb : any) { write : async function (cmd : string, cb : any) {
const t : any = { const t : any = {
c : cfg.arduino.cam.time + cfg.arduino.cam.delay, c : this.cfg.arduino.cam.time + this.cfg.arduino.cam.delay,
p : cfg.arduino.proj.time + cfg.arduino.proj.delay, p : this.cfg.arduino.proj.time + this.cfg.arduino.proj.delay,
A : 180, A : 180,
B : 180 B : 180
} }
let timeout : number = t[cmd] let timeout : number = t[cmd]
if (typeof timeout === 'undefined') timeout = 10 if (typeof timeout === 'undefined') timeout = 10
arduino.timer = +new Date() this.timer = +new Date()
await delay(timeout) await delay(timeout)
arduino.end(serial, cmd) this.end(serial, cmd)
return cb() return cb()
}, }.bind(this),
string : async function (str : string) { string : async function (str : string) {
//do nothing //do nothing
return true return true
@ -602,11 +603,4 @@ export class Arduino {
} }
} }
if (typeof module !== 'undefined' && module.parent) { module.exports = { Arduino }
module.exports = function (c : any, ee : any, errorState : Function) {
eventEmitter = ee
cfg = c
arduino = new Arduino(errorState)
return arduino
}
}

View File

@ -1,5 +1,6 @@
'use strict'; 'use strict';
import { ipcMain } from 'electron';
import { Intval } from 'intval'; import { Intval } from 'intval';
import { Processing } from 'processing'; import { Processing } from 'processing';
import { delay } from 'delay'; import { delay } from 'delay';
@ -29,7 +30,7 @@ export class Camera {
private cfg : any; private cfg : any;
private filmout : FilmOut; private filmout : FilmOut;
private ui : WebContents; private ui : WebContents;
private ipc : any; private ipc : typeof ipcMain = ipcMain;
private id : string = 'camera'; private id : string = 'camera';
/** /**
* *
@ -48,7 +49,6 @@ export class Camera {
**/ **/
private async init () { private async init () {
this.log = await Log({ label : this.id }); this.log = await Log({ label : this.id });
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
@ -336,6 +336,4 @@ export class Camera {
} }
} }
module.exports = function (arduino : Arduino, cfg : any, ui : WebContents, filmout : FilmOut, second : boolean) { module.exports = { Camera };
return new Camera(arduino, cfg, ui, filmout, second);
}

View File

@ -1,5 +1,6 @@
'use strict'; 'use strict';
import { ipcMain } from 'electron';
import { Intval } from 'intval'; import { Intval } from 'intval';
import { Processing } from 'processing'; import { Processing } from 'processing';
import { delay } from 'delay'; import { delay } from 'delay';
@ -20,7 +21,7 @@ export class Capper {
private cfg : any; private cfg : any;
private filmout : FilmOut; private filmout : FilmOut;
private ui : WebContents; private ui : WebContents;
private ipc : any; private ipc : typeof ipcMain = ipcMain;
private id : string = 'capper'; private id : string = 'capper';
/** /**
* *
@ -38,7 +39,6 @@ export class Capper {
**/ **/
private async init () { private async init () {
this.log = await Log({ label : this.id }); this.log = await Log({ label : this.id });
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
@ -107,6 +107,4 @@ export class Capper {
} }
} }
module.exports = function (arduino : Arduino, cfg : any, ui : WebContents, filmout: FilmOut) { module.exports = { Capper }
return new Capper(arduino, cfg, ui, filmout);
}

View File

@ -1,5 +1,6 @@
'use strict'; 'use strict';
import { ipcMain } from 'electron';
import { v4 as uuid } from 'uuid'; import { v4 as uuid } from 'uuid';
import { delay } from 'delay'; import { delay } from 'delay';
import type { Projector } from 'proj'; import type { Projector } from 'proj';
@ -21,7 +22,7 @@ export class Commands {
public alertObj : Alert; public alertObj : Alert;
private cfg : any; private cfg : any;
private ipc : any; private ipc : typeof ipcMain = ipcMain;
/** /**
* @constructor * @constructor
@ -49,7 +50,6 @@ export class Commands {
if (proj2 !== null) this.proj2 = proj2; if (proj2 !== null) this.proj2 = proj2;
if (capper !== null) this.capper = capper; if (capper !== null) this.capper = capper;
this.ipc = require('electron').ipcMain;
} }
/** /**
@ -649,6 +649,4 @@ export class Commands {
} }
} }
module.exports = function (cfg : any, proj : any, cam : any, light : any, alert : any, cam2 : any, proj2 : any, capper : any) { module.exports = { Commands };
return new Commands(cfg, proj, cam, light, alert, cam2, proj2, capper);
}

View File

@ -1,5 +1,6 @@
'use strict'; 'use strict';
import { ipcMain } from 'electron';
import { delay } from 'delay'; import { delay } from 'delay';
import { Log } from 'log'; import { Log } from 'log';
import type { Logger } from 'winston'; import type { Logger } from 'winston';
@ -26,7 +27,7 @@ export class Devices {
private arduino : Arduino; private arduino : Arduino;
private log : Logger; private log : Logger;
private ui : WebContents; private ui : WebContents;
private ipc : any; private ipc : typeof ipcMain = ipcMain;
private mainWindow : any private mainWindow : any
/** /**
* Constructor assigns arduino, settings, UI browser window and cam objects * Constructor assigns arduino, settings, UI browser window and cam objects
@ -45,7 +46,6 @@ export class Devices {
**/ **/
private async init () { private async init () {
this.log = await Log({ label : 'devices' }) this.log = await Log({ label : 'devices' })
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
/** /**
@ -591,8 +591,5 @@ export class Devices {
} }
module.exports = function (arduino : Arduino, settings : any, mainWindow : BrowserWindow) { module.exports = { Devices }
return new Devices(arduino, settings, mainWindow)
}
export type { Device } export type { Device }

View File

@ -5,12 +5,13 @@
* Provides features for displaying a full screen display of images for the digital module. * Provides features for displaying a full screen display of images for the digital module.
**/ **/
import { ipcMain, BrowserWindow } from 'electron';
import { join as pathJoin, normalize as pathNormalize } from 'path'; import { join as pathJoin, normalize as pathNormalize } from 'path';
import { format as urlFormat } from 'url'; import { format as urlFormat } from 'url';
import { delay } from 'delay'; import { delay } from 'delay';
import { Log } from 'log'; import { Log } from 'log';
import type { BrowserWindowConstructorOptions } from 'electron';
import type { Logger } from 'winston'; import type { Logger } from 'winston';
import { BrowserWindow } from 'electron';
import type { System, Display as SystemDisplay } from 'system'; import type { System, Display as SystemDisplay } from 'system';
class WebView { class WebView {
@ -20,15 +21,15 @@ class WebView {
private platform : string; private platform : string;
public display : any; //needs type public display : any; //needs type
private loadWait : any = {}; private loadWait : any = {};
private ipc : any; private ipc : typeof ipcMain = ipcMain;
private log : Logger; private log : Logger;
constructor (platform : string, display : any) { constructor (platform : string, display : any) {
const prefs : any = { const prefs : BrowserWindowConstructorOptions = {
webPreferences: { webPreferences: {
nodeIntegration: true, nodeIntegration: true,
allowRunningInsecureContent: false, allowRunningInsecureContent: false,
enableRemoteModule: true, //enableRemoteModule: true,
contextIsolation: false contextIsolation: false
}, },
width: 800, width: 800,
@ -62,8 +63,6 @@ class WebView {
this.platform = platform; this.platform = platform;
this.display = display; this.display = display;
this.ipc = require('electron').ipcMain;
this.ipc.on('display_load', this.onLoad.bind(this)); this.ipc.on('display_load', this.onLoad.bind(this));
} }
async init () { async init () {
@ -210,6 +209,4 @@ export class Display {
} }
} }
module.exports = function (sys : any) { module.exports = { Display }
return new Display(sys)
}

View File

@ -406,8 +406,6 @@ export class FFMPEG {
} }
module.exports = (sys : System) => { module.exports = { FFMPEG };
return new FFMPEG(sys);
}
export type { StdErr }; export type { StdErr };

View File

@ -156,6 +156,4 @@ function map (obj : any) {
} }
*/ */
module.exports = (sys : System) => { module.exports = { FFPROBE };
return new FFPROBE(sys);
}

View File

@ -1,5 +1,6 @@
'use strict'; 'use strict';
import { ipcMain } from 'electron';
import { default as animated } from 'animated-gif-detector'; import { default as animated } from 'animated-gif-detector';
import { extname, join } from 'path'; import { extname, join } from 'path';
import { readFile, lstat, readdir } from 'fs-extra'; import { readFile, lstat, readdir } from 'fs-extra';
@ -59,7 +60,7 @@ export class FilmOut {
private ffmpeg : FFMPEG; private ffmpeg : FFMPEG;
private ffprobe : FFPROBE; private ffprobe : FFPROBE;
private light : Light; private light : Light;
private ipc : any; private ipc : typeof ipcMain = ipcMain;
private ui : WebContents; private ui : WebContents;
private log : Logger; private log : Logger;
@ -89,7 +90,6 @@ export class FilmOut {
**/ **/
private async init () { private async init () {
this.log = await Log({ label : this.id }); this.log = await Log({ label : this.id });
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
/** /**
@ -543,8 +543,6 @@ export class FilmOut {
} }
} }
module.exports = (display : Display, server : Server, ffmpeg : FFMPEG, ffprobe : FFPROBE, ui : WebContents, light : Light) => { module.exports = { FilmOut };
return new FilmOut(display, server, ffmpeg, ffprobe, ui, light);
}
export type { FilmOutState }; export type { FilmOutState };

View File

@ -1,5 +1,6 @@
'use strict'; 'use strict';
import { ipcMain } from 'electron';
import { delay } from 'delay'; import { delay } from 'delay';
import { Log } from 'log'; import { Log } from 'log';
import type { Logger } from 'winston'; import type { Logger } from 'winston';
@ -13,7 +14,7 @@ export class Light {
private cfg : any; private cfg : any;
private ui : WebContents; private ui : WebContents;
private log : Logger; private log : Logger;
private ipc : any; private ipc : typeof ipcMain = ipcMain;
private enabled : boolean = true; private enabled : boolean = true;
private id : string = 'light'; private id : string = 'light';
@ -33,7 +34,6 @@ export class Light {
**/ **/
private async init () { private async init () {
this.log = await Log({ label : this.id }); this.log = await Log({ label : this.id });
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
@ -105,6 +105,4 @@ export class Light {
} }
} }
module.exports = function (arduino : Arduino, cfg : any, ui : WebContents) { module.exports = { Light };
return new Light(arduino, cfg, ui);
}

164
src/main.ts Normal file
View File

@ -0,0 +1,164 @@
import { Menu, BrowserWindow, BrowserWindowConstructorOptions, app } from 'electron'
import { EventEmitter } from 'events'
import { join } from 'path'
import { Settings } from 'settings'
import { system } from 'system'
import type { System } from 'system'
import { delay } from 'delay'
import { Log } from 'log'
import type { Logger } from 'winston'
import { Arduino } from 'arduino'
import { Camera } from 'cam'
import { Projector } from 'proj'
import { Light } from 'light'
import { Capper } from 'capper'
import { Alert } from 'alert'
import { Display } from 'display'
import { FilmOut } from 'filmout'
import { FFMPEG } from 'ffmpeg'
import { FFPROBE } from 'ffprobe'
import { Devices } from 'devices'
import { Commands } from 'cmd'
import { Sequencer } from 'sequencer'
import { Server } from 'server'
require('@electron/remote/main').initialize()
const ee : EventEmitter = new EventEmitter()
//Objects
const mcopy : any = {}
let SYSTEM : System
let settings : Settings
let log : Logger
let mainWindow : BrowserWindow
let arduino : Arduino
let menu
let display : Display
let ffmpeg : FFMPEG
let ffprobe : FFPROBE
let cam : Camera
let cam2 : Camera
let proj : Projector
let proj2 : Projector
let light : Light
let filmout : FilmOut
let dev : Devices
let cmd : Commands
let seq : Sequencer
let capper : Capper
let alert : Alert
let server : Server
const cfg : any = require('./data/cfg.json')
var createMenu = function () {
const template = require('./data/menu.json')
menu = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(menu)
}
var createWindow = function () {
const windowOptions : BrowserWindowConstructorOptions = {
width: 800,
height: 600,
minWidth : 800,
minHeight : 600,
icon: join(__dirname, 'assets/icons/icon.png'),
skipTaskbar: true,
//toolbar: false,
webPreferences : {
nodeIntegration : true,
//enableRemoteModule: true,
contextIsolation : false
}
};
mainWindow = new BrowserWindow(windowOptions)
mainWindow.loadURL('file://' + __dirname + '/index.html')
if (process.argv.indexOf('-d') !== -1 || process.argv.indexOf('--dev') !== -1) {
mainWindow.webContents.openDevTools()
} else {
mainWindow.setMenu(null)
mainWindow.setAutoHideMenuBar(true)
}
mainWindow.on('closed', () => {
mainWindow = null
})
require('@electron/remote/main').enable(mainWindow.webContents)
}
var errorState = function () {
if (seq && seq.isRunning()) {
//pause sequence if running
seq.pause();
}
mainWindow.webContents.send('error_state', { stop : true });
}
var init = async function () {
log = await Log({ label : 'mcopy' })
createWindow()
createMenu()
try {
SYSTEM = await system(mainWindow.webContents)
} catch (err) {
console.error(err)
}
settings = new Settings()
await settings.restore()
display = new Display(SYSTEM)
ffmpeg = new FFMPEG(SYSTEM)
ffprobe = new FFPROBE(SYSTEM)
arduino = new Arduino(cfg, ee, errorState)
dev = new Devices(arduino, settings, mainWindow)
server = new Server(mainWindow.webContents)
light = new Light(arduino, cfg, mainWindow.webContents)
filmout = new FilmOut(display, server, ffmpeg, ffprobe, mainWindow.webContents, light)
cam = new Camera(arduino, cfg, mainWindow.webContents, filmout)
proj = new Projector(arduino, cfg, mainWindow.webContents, filmout)
alert = new Alert(mainWindow.webContents)
try {
await dev.enumerate()
} catch (err) {
log.error('Error enumerating connected devices', err)
}
if (dev && dev.connected && dev.connected.camera_second) {
cam2 = new Camera(arduino, cfg, mainWindow.webContents, filmout, true)
}
if (dev && dev.connected && dev.connected.projector_second) {
proj2 = new Projector(arduino, cfg, mainWindow.webContents, filmout, true)
}
if (dev && dev.connected && dev.connected.capper) {
capper = new Capper(arduino, cfg, mainWindow.webContents, filmout)
}
cmd = new Commands(cfg, proj, cam, light, alert, cam2, proj2, capper)
seq = new Sequencer(cfg, cmd, mainWindow.webContents)
}
app.on('ready', init)
app.on('window-all-closed', () => {
app.quit()
});
app.on('activate', () => {
if (mainWindow === null) {
createWindow()
}
});
mcopy.relaunch = function () {
app.relaunch({args: process.argv.slice(1).concat(['--relaunch'])})
app.exit(0)
}

View File

@ -1,5 +1,6 @@
/** class representing the Projector features **/ /** class representing the Projector features **/
import { ipcMain } from 'electron';
import { Log } from 'log'; import { Log } from 'log';
import type { Logger } from 'winston'; import type { Logger } from 'winston';
import type { Arduino } from 'arduino'; import type { Arduino } from 'arduino';
@ -20,7 +21,7 @@ export class Projector {
private log : Logger; private log : Logger;
private cfg : any; private cfg : any;
private ui : WebContents; private ui : WebContents;
private ipc : any; private ipc : typeof ipcMain = ipcMain;
public filmout : FilmOut; public filmout : FilmOut;
private id : string = 'projector'; private id : string = 'projector';
@ -41,7 +42,6 @@ export class Projector {
**/ **/
private async init () { private async init () {
this.log = await Log({ label : this.id }) this.log = await Log({ label : this.id })
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
@ -173,8 +173,6 @@ export class Projector {
} }
} }
module.exports = function (arduino : Arduino, cfg : any, ui : WebContents, filmout : FilmOut, second : boolean) { module.exports = { Projector }
return new Projector(arduino, cfg, ui, filmout, second)
}
export type { ProjectorState } export type { ProjectorState }

View File

@ -1,9 +1,9 @@
'use strict'; 'use strict';
import { ipcMain, powerSaveBlocker } from 'electron';
import { v4 as uuid } from 'uuid'; import { v4 as uuid } from 'uuid';
import { Log } from 'log'; import { Log } from 'log';
import type { Logger } from 'winston'; import type { Logger } from 'winston';
import { powerSaveBlocker } from 'electron'
import { delay } from 'delay'; import { delay } from 'delay';
import { Commands } from 'cmd'; import { Commands } from 'cmd';
import type { WebContents } from 'electron'; import type { WebContents } from 'electron';
@ -25,7 +25,7 @@ export class Sequencer {
private cfg : any; private cfg : any;
private cmd : Commands; private cmd : Commands;
private CMDS : any = {}; private CMDS : any = {};
private ipc : any; private ipc : typeof ipcMain = ipcMain;
private ui : WebContents; private ui : WebContents;
private log : Logger; private log : Logger;
private id : string = 'sequence'; private id : string = 'sequence';
@ -69,7 +69,6 @@ export class Sequencer {
**/ **/
private async init () { private async init () {
this.log = await Log({ label : this.id }) this.log = await Log({ label : this.id })
this.ipc = require('electron').ipcMain;
this.listen(); this.listen();
} }
@ -270,8 +269,10 @@ export class Sequencer {
//@ts-ignore //@ts-ignore
return await this.cmd[cmd](this.arr[x]); return await this.cmd[cmd](this.arr[x]);
} }
public isRunning () : boolean {
return this.running;
}
} }
module.exports = function (cfg : any, cmd : Commands, ui : WebContents) { module.exports = { Sequencer };
return new Sequencer(cfg, cmd, ui);
}

View File

@ -252,8 +252,6 @@ export class Server {
} }
} }
module.exports = function (ui : WebContents) { module.exports = { Server }
return new Server(ui)
}
export type { ServerData, ServerTemplate, ServerProxy, ServerProxyList, ServerQueue }; export type { ServerData, ServerTemplate, ServerProxy, ServerProxyList, ServerQueue };

View File

@ -121,4 +121,4 @@ export class Settings {
}; };
} }
module.exports = new Settings(); module.exports = { Settings }

View File

@ -124,7 +124,7 @@ async function displays () : Promise<Display[]> {
* *
* @returns {object} Object containing system information * @returns {object} Object containing system information
*/ */
async function system (ui : any) : Promise<System> { export async function system (ui : any) : Promise<System> {
const obj : System = { const obj : System = {
deps : null, deps : null,
displays : null, displays : null,
@ -159,6 +159,6 @@ async function system (ui : any) : Promise<System> {
return obj; return obj;
} }
module.exports = system; module.exports = { system };
export type { System, Display, Dependencies }; export type { System, Display, Dependencies };