As much as I could do. Still doesn't work. Last commit.
This commit is contained in:
parent
1fe71cefca
commit
5e0947d343
|
@ -18,7 +18,7 @@
|
||||||
<div id="counters">
|
<div id="counters">
|
||||||
<div class="cam">
|
<div class="cam">
|
||||||
<label>CAMERA</label>
|
<label>CAMERA</label>
|
||||||
<input type="number" id="seq_cam_count" class="count" value="00000" onchange="gui.counterFormat(this, cam.pos);" onblur="gui.updateCam(this);" />
|
<input type="number" id="seq_cam_count" class="count" value="00000" onchange="gui.counterFormat(this, cam.pos);" onblur="gui.updateCam2(this);" />
|
||||||
</div>
|
</div>
|
||||||
<div class="cam2">
|
<div class="cam2">
|
||||||
<label>CAMERA</label>
|
<label>CAMERA</label>
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="proj2">
|
<div class="proj2">
|
||||||
<label>PROJECTOR 2</label>
|
<label>PROJECTOR 2</label>
|
||||||
<input type="number" id="seq_proj_count_2" class="count" value="00000" onchange="gui.counterFormat(this, proj.pos);" onblur="gui.updateProj(this);" />
|
<input type="number" id="seq_proj_count_2" class="count" value="00000" onchange="gui.counterFormat(this, proj.pos);" onblur="gui.updateProj2(this);" />
|
||||||
</div>
|
</div>
|
||||||
<div class="proj">
|
<div class="proj">
|
||||||
<label>PROJECTOR</label>
|
<label>PROJECTOR</label>
|
||||||
|
|
|
@ -2496,7 +2496,6 @@ const mse = require('./lib/ui/mscript.js');
|
||||||
const Mscript = require('./lib/mscript');
|
const Mscript = require('./lib/mscript');
|
||||||
let log;
|
let log;
|
||||||
|
|
||||||
|
|
||||||
/******
|
/******
|
||||||
State shared by ALL interfaces
|
State shared by ALL interfaces
|
||||||
*******/
|
*******/
|
||||||
|
|
|
@ -98,6 +98,7 @@ cam.second.enable = function () {
|
||||||
//ui actions
|
//ui actions
|
||||||
$('.cam2').addClass('on');
|
$('.cam2').addClass('on');
|
||||||
$('#counters').addClass('cameras');
|
$('#counters').addClass('cameras');
|
||||||
|
cam.second.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
cam.second.disable = function () {
|
cam.second.disable = function () {
|
||||||
|
@ -107,4 +108,83 @@ cam.second.disable = function () {
|
||||||
$('#counters').removeClass('cameras');
|
$('#counters').removeClass('cameras');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cam.second.init = function () {
|
||||||
|
'use strict';
|
||||||
|
cam.second.listen();
|
||||||
|
};
|
||||||
|
cam.second.set = function (dir, callback) {
|
||||||
|
'use strict';
|
||||||
|
var obj;
|
||||||
|
if (cam.second.lock) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
obj = {
|
||||||
|
dir : dir,
|
||||||
|
id : uuid.v4()
|
||||||
|
};
|
||||||
|
ipcRenderer.sendSync(cam.second.id, obj);
|
||||||
|
|
||||||
|
if (typeof callback !== 'undefined') {
|
||||||
|
obj.callback = callback;
|
||||||
|
}
|
||||||
|
cam.second.queue[obj.id] = obj;
|
||||||
|
cam.second.lock = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
cam.second.setValue = function (val) {
|
||||||
|
'use strict';
|
||||||
|
var obj = {
|
||||||
|
val: val,
|
||||||
|
id : uuid.v4()
|
||||||
|
};
|
||||||
|
ipcRenderer.sendSync(cam.second.id, obj);
|
||||||
|
};
|
||||||
|
cam.second.move = function (callback) {
|
||||||
|
'use strict';
|
||||||
|
var obj;
|
||||||
|
if (cam.second.lock) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
obj = {
|
||||||
|
frame : true,
|
||||||
|
id : uuid.v4()
|
||||||
|
};
|
||||||
|
ipcRenderer.sendSync(cam.second.id, obj);
|
||||||
|
|
||||||
|
if (typeof callback !== 'undefined') {
|
||||||
|
obj.callback = callback;
|
||||||
|
}
|
||||||
|
cam.second.queue[obj.id] = obj;
|
||||||
|
cam.second.lock = true;
|
||||||
|
};
|
||||||
|
cam.second.end = function (c, id, ms) {
|
||||||
|
'use strict';
|
||||||
|
if (c === cfg.arduino.cmd.camera_second_forward) {
|
||||||
|
cam.second.dir = true;
|
||||||
|
} else if (c === cfg.arduino.cmd.camera_second_backward) {
|
||||||
|
cam.second.dir = false;
|
||||||
|
} else if (c === cfg.arduino.cmd.camera_second) {
|
||||||
|
if (cam.dir) {
|
||||||
|
cam.second.pos += 1;
|
||||||
|
} else {
|
||||||
|
cam.second.pos -= 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gui.counterUpdate('cam', cam.second.pos)
|
||||||
|
if (typeof cam.second.queue[id] !== 'undefined') {
|
||||||
|
if (typeof cam.queue[id].callback !== 'undefined') {
|
||||||
|
cam.second.queue[id].callback(ms);
|
||||||
|
}
|
||||||
|
delete cam.second.queue[id];
|
||||||
|
cam.second.lock = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
cam.listen = function () {
|
||||||
|
'use strict';
|
||||||
|
ipcRenderer.on(cam.second.id, function (event, arg) {
|
||||||
|
cam.second.end(arg.cmd, arg.id, arg.ms);
|
||||||
|
return event.returnValue = true;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
module.exports = cam;
|
module.exports = cam;
|
|
@ -9,8 +9,8 @@ class Grid {
|
||||||
}
|
}
|
||||||
init() {
|
init() {
|
||||||
this.refresh();
|
this.refresh();
|
||||||
seq.stats();
|
|
||||||
this.events();
|
this.events();
|
||||||
|
seq.stats();
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Set a specific grid pad to the state stored in the sequence
|
* Set a specific grid pad to the state stored in the sequence
|
||||||
|
@ -22,9 +22,49 @@ class Grid {
|
||||||
const elem = $(`input[x=${x}]`);
|
const elem = $(`input[x=${x}]`);
|
||||||
const lightElem = $(`.L[x=${x}]`);
|
const lightElem = $(`.L[x=${x}]`);
|
||||||
const step = seq.grid[x];
|
const step = seq.grid[x];
|
||||||
|
let className;
|
||||||
|
let className2;
|
||||||
if (typeof step !== 'undefined') {
|
if (typeof step !== 'undefined') {
|
||||||
elem.prop('checked', false);
|
elem.prop('checked', false);
|
||||||
$(`.${step.cmd}[x=${x}]`).prop('checked', true);
|
if (step.cmd === cfg.cmd.cameras_forward) {
|
||||||
|
className = cfg.cmd.camera_forward;
|
||||||
|
className2 = cfg.cmd.camera_second_forward;
|
||||||
|
}
|
||||||
|
else if (step.cmd === cfg.cmd.cameras_backward) {
|
||||||
|
className = cfg.cmd.camera_backward;
|
||||||
|
className2 = cfg.cmd.camera_second_backward;
|
||||||
|
}
|
||||||
|
else if (step.cmd === cfg.cmd.camera_forward_camera_second_backward) {
|
||||||
|
className = cfg.cmd.camera_forward;
|
||||||
|
className2 = cfg.cmd.camera_second_backward;
|
||||||
|
}
|
||||||
|
else if (step.cmd === cfg.cmd.camera_backward_camera_second_forward) {
|
||||||
|
className = cfg.cmd.camera_backward;
|
||||||
|
className2 = cfg.cmd.camera_second_forward;
|
||||||
|
}
|
||||||
|
else if (step.cmd === cfg.cmd.projectors_forward) {
|
||||||
|
className = cfg.cmd.projector_forward;
|
||||||
|
className2 = cfg.cmd.projector_second_forward;
|
||||||
|
}
|
||||||
|
else if (step.cmd === cfg.cmd.projectors_backward) {
|
||||||
|
className = cfg.cmd.projector_backward;
|
||||||
|
className2 = cfg.cmd.projector_second_backward;
|
||||||
|
}
|
||||||
|
else if (step.cmd === cfg.cmd.camera_forward_camera_second_backward) {
|
||||||
|
className = cfg.cmd.projector_forward;
|
||||||
|
className2 = cfg.cmd.projector_second_backward;
|
||||||
|
}
|
||||||
|
else if (step.cmd === cfg.cmd.camera_backward_camera_second_forward) {
|
||||||
|
className = cfg.cmd.projector_backward;
|
||||||
|
className2 = cfg.cmd.projector_second_forward;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
className = step.cmd;
|
||||||
|
}
|
||||||
|
$(`.${className}[x=${x}]`).prop('checked', true);
|
||||||
|
if (className2) {
|
||||||
|
$(`.${className2}[x=${x}]`).prop('checked', true);
|
||||||
|
}
|
||||||
if (step.cmd === 'CF' || step.cmd === 'CB') {
|
if (step.cmd === 'CF' || step.cmd === 'CB') {
|
||||||
lightElem.css('background', `rgb(${step.light})`)
|
lightElem.css('background', `rgb(${step.light})`)
|
||||||
.addClass('a')
|
.addClass('a')
|
||||||
|
@ -42,6 +82,21 @@ class Grid {
|
||||||
.prop('title', '');
|
.prop('title', '');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
otherCmd(x, c) {
|
||||||
|
const step = $(`input[x=${x}]`);
|
||||||
|
let elem;
|
||||||
|
let selected = '';
|
||||||
|
let cmdStr;
|
||||||
|
$.each(step, function (index, value) {
|
||||||
|
elem = $(this);
|
||||||
|
cmdStr = elem.attr('class').replace('.', '');
|
||||||
|
if (elem.prop('checked') && cmdStr !== c) {
|
||||||
|
selected = cmdStr;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return selected;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Clears the UI of the grid and restores it to the
|
* Clears the UI of the grid and restores it to the
|
||||||
* state of the sequence.
|
* state of the sequence.
|
||||||
|
@ -87,18 +142,127 @@ class Grid {
|
||||||
/**
|
/**
|
||||||
* Function bound to click on grid pad elements
|
* Function bound to click on grid pad elements
|
||||||
*
|
*
|
||||||
* @param {object} t This, passed from clicked element
|
* @param {object} elem This, passed from clicked element
|
||||||
**/
|
**/
|
||||||
click(t) {
|
click(elem) {
|
||||||
const x = parseInt($(t).attr('x'));
|
const x = parseInt($(elem).attr('x'));
|
||||||
let c;
|
let checked = $(elem).prop('checked');
|
||||||
if ($(t).prop('checked')) {
|
let c = '';
|
||||||
c = $(t).attr('class').replace('.', '');
|
let other;
|
||||||
|
// if input was not checked, but now is
|
||||||
|
// event occurs after user action
|
||||||
|
if (checked) {
|
||||||
|
c = $(elem).attr('class').replace('.', '');
|
||||||
|
if (cam.second.enabled) {
|
||||||
|
if (c === cfg.cmd.camera_forward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.camera_second_forward) {
|
||||||
|
c = cfg.cmd.cameras_forward;
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.camera_second_backward) {
|
||||||
|
c = cfg.cmd.camera_forward_camera_second_backward;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (c === cfg.cmd.camera_backward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.camera_second_forward) {
|
||||||
|
c = cfg.cmd.camera_backward_camera_second_forward;
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.camera_second_backward) {
|
||||||
|
c = cfg.cmd.cameras_backward;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (c === cfg.cmd.camera_second_forward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.camera_forward) {
|
||||||
|
c = cfg.cmd.cameras_forward;
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.camera_second_backward) {
|
||||||
|
c = cfg.cmd.camera_forward_camera_second_backward;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (c === cfg.cmd.camera_second_backward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.camera_second_forward) {
|
||||||
|
c = cfg.cmd.camera_backward_camera_second_forward;
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.camera_second_backward) {
|
||||||
|
c = cfg.cmd.cameras_backward;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (proj.second.enabled) {
|
||||||
|
if (c === cfg.cmd.projector_forward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.projector_second_forward) {
|
||||||
|
c = cfg.cmd.projectorss_forward;
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.projector_second_backward) {
|
||||||
|
c = cfg.cmd.projector_forward_projector_second_backward;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (c === cfg.cmd.projector_backward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.projector_second_forward) {
|
||||||
|
c = cfg.cmd.projector_backward_projector_second_forward;
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.projector_second_backward) {
|
||||||
|
c = cfg.cmd.projectors_backward;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (c === cfg.cmd.projector_second_forward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.projector_forward) {
|
||||||
|
c = cfg.cmd.projectors_forward;
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.projector_backward) {
|
||||||
|
c = cfg.cmd.projector_backward_projector_second_forward;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (c === cfg.cmd.projector_second_backward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.projector_forward) {
|
||||||
|
c = cfg.cmd.projectors_forward_projector_second_backward;
|
||||||
|
}
|
||||||
|
else if (other === cfg.cmd.projector_backward) {
|
||||||
|
c = cfg.cmd.projectors_backward;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
seq.set(x, c);
|
seq.set(x, c);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
seq.grid[x] = undefined;
|
if (seq.grid[x]) {
|
||||||
delete seq.grid[x];
|
c = seq.grid[x].cmd + ''; // cast to string, bad hack
|
||||||
|
}
|
||||||
|
if (cam.second.enabled) {
|
||||||
|
}
|
||||||
|
if (proj.second.enabled) {
|
||||||
|
}
|
||||||
seq.unset(x);
|
seq.unset(x);
|
||||||
}
|
}
|
||||||
this.state(x);
|
this.state(x);
|
||||||
|
@ -136,7 +300,7 @@ class Grid {
|
||||||
if (typeof seq.grid[x].light === 'undefined') {
|
if (typeof seq.grid[x].light === 'undefined') {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
console.log(x);
|
//console.log(x)
|
||||||
if (seq.grid[x].light === '0,0,0') {
|
if (seq.grid[x].light === '0,0,0') {
|
||||||
seq.setLight(x, light.color);
|
seq.setLight(x, light.color);
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,11 +65,29 @@ gui.updateCam = function (t) {
|
||||||
gui.counterFormat(t);
|
gui.counterFormat(t);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
gui.updateCam2 = function (t) {
|
||||||
|
'use strict';
|
||||||
|
const val = t.value;
|
||||||
|
let change;
|
||||||
|
|
||||||
|
if (parseInt(val) === cam.pos) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
change = confirm(`Are you sure you want to set second camera counter to ${val}?`);
|
||||||
|
|
||||||
|
if (change) {
|
||||||
|
cam.second.pos = parseInt(val);
|
||||||
|
gui.updateState();
|
||||||
|
} else {
|
||||||
|
t.value = cam.second.pos;
|
||||||
|
gui.counterFormat(t);
|
||||||
|
}
|
||||||
|
};
|
||||||
gui.updateProj = function (t) {
|
gui.updateProj = function (t) {
|
||||||
'use strict';
|
'use strict';
|
||||||
const val = t.value;
|
const val = t.value;
|
||||||
let change;
|
let change;
|
||||||
if (parseInt(val) === cam.pos) {
|
if (parseInt(val) === proj.pos) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
change = confirm(`Are you sure you want to set projector counter to ${val}?`);
|
change = confirm(`Are you sure you want to set projector counter to ${val}?`);
|
||||||
|
@ -82,16 +100,36 @@ gui.updateProj = function (t) {
|
||||||
}
|
}
|
||||||
proj.setValue(t.value);
|
proj.setValue(t.value);
|
||||||
};
|
};
|
||||||
|
gui.updateProj2 = function (t) {
|
||||||
|
'use strict';
|
||||||
|
const val = t.value;
|
||||||
|
let change;
|
||||||
|
if (parseInt(val) === proj.second.pos) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
change = confirm(`Are you sure you want to set second projector counter to ${val}?`);
|
||||||
|
if (change) {
|
||||||
|
proj.second.pos = parseInt(val);
|
||||||
|
gui.updateState();
|
||||||
|
} else {
|
||||||
|
t.value = proj.second.pos;
|
||||||
|
gui.counterFormat(t);
|
||||||
|
}
|
||||||
|
proj.setValue(t.value);
|
||||||
|
};
|
||||||
|
|
||||||
gui.updateState = function () {
|
gui.updateState = function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
const cpos = cam.pos;
|
const cpos = cam.pos;
|
||||||
const ppos = proj.pos;
|
const ppos = proj.pos;
|
||||||
|
const p2pos = proj.second.pos;
|
||||||
|
const c2pos = cam.second.pos;
|
||||||
|
|
||||||
$('#seq_cam_count').val(cpos).change();
|
$('#seq_cam_count').val(cpos).change();
|
||||||
$('#seq_proj_count').val(ppos).change();
|
$('#seq_proj_count').val(ppos).change();
|
||||||
|
|
||||||
$('#seq_cam_count_2').val(cpos).change();
|
$('#seq_cam_count_2').val(c2pos).change();
|
||||||
$('#seq_proj_count_2').val(ppos).change();
|
$('#seq_proj_count_2').val(p2pos).change();
|
||||||
};
|
};
|
||||||
gui.spinnerCfg = {
|
gui.spinnerCfg = {
|
||||||
lines: 11, // The number of lines to draw
|
lines: 11, // The number of lines to draw
|
||||||
|
|
|
@ -93,12 +93,12 @@ proj.second.id = 'projector_second';
|
||||||
proj.second.dir = true;
|
proj.second.dir = true;
|
||||||
proj.second.pos = 0;
|
proj.second.pos = 0;
|
||||||
|
|
||||||
|
|
||||||
proj.second.enable = function () {
|
proj.second.enable = function () {
|
||||||
proj.second.enabled = true;
|
proj.second.enabled = true;
|
||||||
//ui actions
|
//ui actions
|
||||||
$('.proj2').addClass('on');
|
$('.proj2').addClass('on');
|
||||||
$('#counters').addClass('projectors');
|
$('#counters').addClass('projectors');
|
||||||
|
proj.second.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
proj.second.disable = function () {
|
proj.second.disable = function () {
|
||||||
|
@ -108,4 +108,83 @@ proj.second.disable = function () {
|
||||||
$('#counters').removeClass('projectors');
|
$('#counters').removeClass('projectors');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proj.second.init = function () {
|
||||||
|
'use strict';
|
||||||
|
proj.second.listen();
|
||||||
|
};
|
||||||
|
proj.second.set = function (dir, callback) {
|
||||||
|
'use strict';
|
||||||
|
var obj;
|
||||||
|
if (proj.second.lock) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
obj = {
|
||||||
|
dir : dir,
|
||||||
|
id : uuid.v4()
|
||||||
|
};
|
||||||
|
ipcRenderer.sendSync(proj.second.id, obj);
|
||||||
|
|
||||||
|
if (typeof callback !== 'undefined') {
|
||||||
|
obj.callback = callback;
|
||||||
|
}
|
||||||
|
proj.second.queue[obj.id] = obj;
|
||||||
|
proj.second.lock = true;
|
||||||
|
};
|
||||||
|
proj.second.move = function (callback) {
|
||||||
|
'use strict';
|
||||||
|
var obj;
|
||||||
|
if (proj.second.lock) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
obj = {
|
||||||
|
frame : true,
|
||||||
|
id : uuid.v4()
|
||||||
|
};
|
||||||
|
ipcRenderer.sendSync(proj.second.id, obj);
|
||||||
|
|
||||||
|
if (typeof callback !== 'undefined') {
|
||||||
|
obj.callback = callback;
|
||||||
|
}
|
||||||
|
proj.second.queue[obj.id] = obj;
|
||||||
|
proj.second.lock = true;
|
||||||
|
};
|
||||||
|
proj.second.end = function (c, id, ms) {
|
||||||
|
'use strict';
|
||||||
|
if (c === cfg.arduino.cmd.projector_second_forward) {
|
||||||
|
proj.second.dir = true;
|
||||||
|
} else if (c === cfg.arduino.cmd.projector_second_backward) {
|
||||||
|
proj.second.dir = false;
|
||||||
|
} else if (c === cfg.arduino.cmd.projector_second) {
|
||||||
|
if (proj.dir) {
|
||||||
|
proj.second.pos += 1;
|
||||||
|
} else {
|
||||||
|
proj.second.pos -= 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gui.counterUpdate('proj2', proj.second.pos);
|
||||||
|
if (typeof proj.second.queue[id] !== 'undefined') {
|
||||||
|
if (typeof proj.second.queue[id].callback !== 'undefined') {
|
||||||
|
proj.second.queue[id].callback(ms);
|
||||||
|
}
|
||||||
|
delete proj.second.queue[id];
|
||||||
|
proj.second.lock = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
proj.second.listen = function () {
|
||||||
|
'use strict';
|
||||||
|
ipcRenderer.on(proj.second.id, function (event, arg) {
|
||||||
|
proj.second.end(arg.cmd, arg.id, arg.ms);
|
||||||
|
return event.returnValue = true;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
proj.second.setValue = function (val) {
|
||||||
|
'use strict';
|
||||||
|
var obj = {
|
||||||
|
val: val,
|
||||||
|
id : uuid.v4()
|
||||||
|
};
|
||||||
|
ipcRenderer.sendSync(proj.second.id, obj);
|
||||||
|
};
|
||||||
|
|
||||||
module.exports = proj;
|
module.exports = proj;
|
|
@ -3,6 +3,8 @@
|
||||||
|
|
||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
|
process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true';
|
||||||
|
|
||||||
const electron = require('electron')
|
const electron = require('electron')
|
||||||
const { Menu, MenuItem, ipcMain, BrowserWindow, app } = electron
|
const { Menu, MenuItem, ipcMain, BrowserWindow, app } = electron
|
||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
|
@ -58,7 +60,10 @@ var createWindow = function () {
|
||||||
height: 600,
|
height: 600,
|
||||||
minWidth : 800,
|
minWidth : 800,
|
||||||
minHeight : 600,
|
minHeight : 600,
|
||||||
icon: path.join(__dirname, 'assets/icons/icon.png')
|
icon: path.join(__dirname, 'assets/icons/icon.png'),
|
||||||
|
webPreferences : {
|
||||||
|
nodeIntegration: true
|
||||||
|
}
|
||||||
})
|
})
|
||||||
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) {
|
||||||
|
|
|
@ -619,7 +619,7 @@
|
||||||
},
|
},
|
||||||
"readable-stream": {
|
"readable-stream": {
|
||||||
"version": "2.3.6",
|
"version": "2.3.6",
|
||||||
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"core-util-is": "~1.0.0",
|
"core-util-is": "~1.0.0",
|
||||||
|
@ -1648,7 +1648,7 @@
|
||||||
},
|
},
|
||||||
"minimist": {
|
"minimist": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
|
@ -1689,7 +1689,7 @@
|
||||||
},
|
},
|
||||||
"minimist": {
|
"minimist": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
@ -2737,7 +2737,7 @@
|
||||||
},
|
},
|
||||||
"pify": {
|
"pify": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.0",
|
||||||
"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
|
||||||
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
|
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
@ -4712,7 +4712,7 @@
|
||||||
},
|
},
|
||||||
"tar": {
|
"tar": {
|
||||||
"version": "2.2.1",
|
"version": "2.2.1",
|
||||||
"resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
|
||||||
"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
|
"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
|
@ -5352,7 +5352,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"minimist": {
|
"minimist": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
|
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6323,7 +6323,7 @@
|
||||||
},
|
},
|
||||||
"readable-stream": {
|
"readable-stream": {
|
||||||
"version": "2.3.6",
|
"version": "2.3.6",
|
||||||
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"core-util-is": "~1.0.0",
|
"core-util-is": "~1.0.0",
|
||||||
|
@ -6337,7 +6337,7 @@
|
||||||
},
|
},
|
||||||
"string_decoder": {
|
"string_decoder": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"safe-buffer": "~5.1.0"
|
"safe-buffer": "~5.1.0"
|
||||||
|
@ -6975,7 +6975,7 @@
|
||||||
},
|
},
|
||||||
"readable-stream": {
|
"readable-stream": {
|
||||||
"version": "2.3.6",
|
"version": "2.3.6",
|
||||||
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"core-util-is": "~1.0.0",
|
"core-util-is": "~1.0.0",
|
||||||
|
@ -7058,7 +7058,7 @@
|
||||||
},
|
},
|
||||||
"xmlbuilder": {
|
"xmlbuilder": {
|
||||||
"version": "9.0.7",
|
"version": "9.0.7",
|
||||||
"resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
|
||||||
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
|
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
|
|
@ -22,7 +22,6 @@ const mse = require('./lib/ui/mscript.js');
|
||||||
const Mscript = require('./lib/mscript');
|
const Mscript = require('./lib/mscript');
|
||||||
let log;
|
let log;
|
||||||
|
|
||||||
|
|
||||||
/******
|
/******
|
||||||
State shared by ALL interfaces
|
State shared by ALL interfaces
|
||||||
*******/
|
*******/
|
||||||
|
|
|
@ -8,6 +8,8 @@ declare var light : any;
|
||||||
declare var cfg : any;
|
declare var cfg : any;
|
||||||
declare var log : any;
|
declare var log : any;
|
||||||
declare var w2popup : any;
|
declare var w2popup : any;
|
||||||
|
declare var cam : any;
|
||||||
|
declare var proj : any;
|
||||||
|
|
||||||
interface Step {
|
interface Step {
|
||||||
cmd : string;
|
cmd : string;
|
||||||
|
@ -27,8 +29,8 @@ class Grid {
|
||||||
}
|
}
|
||||||
public init () {
|
public init () {
|
||||||
this.refresh();
|
this.refresh();
|
||||||
seq.stats();
|
|
||||||
this.events();
|
this.events();
|
||||||
|
seq.stats();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -41,9 +43,43 @@ class Grid {
|
||||||
const elem : any = $(`input[x=${x}]`);
|
const elem : any = $(`input[x=${x}]`);
|
||||||
const lightElem : any = $(`.L[x=${x}]`);
|
const lightElem : any = $(`.L[x=${x}]`);
|
||||||
const step : Step = seq.grid[x];
|
const step : Step = seq.grid[x];
|
||||||
|
let className : string;
|
||||||
|
let className2 : string;
|
||||||
if (typeof step !== 'undefined') {
|
if (typeof step !== 'undefined') {
|
||||||
elem.prop('checked', false);
|
elem.prop('checked', false);
|
||||||
$(`.${step.cmd}[x=${x}]`).prop('checked', true);
|
if (step.cmd === cfg.cmd.cameras_forward) {
|
||||||
|
className = cfg.cmd.camera_forward;
|
||||||
|
className2 = cfg.cmd.camera_second_forward;
|
||||||
|
} else if (step.cmd === cfg.cmd.cameras_backward) {
|
||||||
|
className = cfg.cmd.camera_backward;
|
||||||
|
className2 = cfg.cmd.camera_second_backward;
|
||||||
|
} else if (step.cmd === cfg.cmd.camera_forward_camera_second_backward) {
|
||||||
|
className = cfg.cmd.camera_forward;
|
||||||
|
className2 = cfg.cmd.camera_second_backward;
|
||||||
|
} else if (step.cmd === cfg.cmd.camera_backward_camera_second_forward) {
|
||||||
|
className = cfg.cmd.camera_backward;
|
||||||
|
className2 = cfg.cmd.camera_second_forward;
|
||||||
|
} else if (step.cmd === cfg.cmd.projectors_forward) {
|
||||||
|
className = cfg.cmd.projector_forward;
|
||||||
|
className2 = cfg.cmd.projector_second_forward;
|
||||||
|
} else if (step.cmd === cfg.cmd.projectors_backward) {
|
||||||
|
className = cfg.cmd.projector_backward;
|
||||||
|
className2 = cfg.cmd.projector_second_backward;
|
||||||
|
} else if (step.cmd === cfg.cmd.camera_forward_camera_second_backward) {
|
||||||
|
className = cfg.cmd.projector_forward;
|
||||||
|
className2 = cfg.cmd.projector_second_backward;
|
||||||
|
} else if (step.cmd === cfg.cmd.camera_backward_camera_second_forward) {
|
||||||
|
className = cfg.cmd.projector_backward;
|
||||||
|
className2 = cfg.cmd.projector_second_forward;
|
||||||
|
} else {
|
||||||
|
className = step.cmd;
|
||||||
|
}
|
||||||
|
|
||||||
|
$(`.${className}[x=${x}]`).prop('checked', true);
|
||||||
|
if (className2) {
|
||||||
|
$(`.${className2}[x=${x}]`).prop('checked', true);
|
||||||
|
}
|
||||||
|
|
||||||
if (step.cmd === 'CF' || step.cmd === 'CB') {
|
if (step.cmd === 'CF' || step.cmd === 'CB') {
|
||||||
lightElem.css('background', `rgb(${step.light})`)
|
lightElem.css('background', `rgb(${step.light})`)
|
||||||
.addClass('a')
|
.addClass('a')
|
||||||
|
@ -60,6 +96,21 @@ class Grid {
|
||||||
.prop('title', '');
|
.prop('title', '');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private otherCmd (x : number, c : string) {
|
||||||
|
const step : any = $(`input[x=${x}]`);
|
||||||
|
let elem : any;
|
||||||
|
let selected : string = '';
|
||||||
|
let cmdStr : string;
|
||||||
|
$.each(step, function (index : number, value : any) {
|
||||||
|
elem = $(this);
|
||||||
|
cmdStr = elem.attr('class').replace('.', '');
|
||||||
|
if (elem.prop('checked') && cmdStr !== c) {
|
||||||
|
selected = cmdStr;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return selected;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Clears the UI of the grid and restores it to the
|
* Clears the UI of the grid and restores it to the
|
||||||
* state of the sequence.
|
* state of the sequence.
|
||||||
|
@ -86,7 +137,7 @@ class Grid {
|
||||||
for (let i : number = 0; i < cmds.length; i++) {
|
for (let i : number = 0; i < cmds.length; i++) {
|
||||||
cmd = `#${cmds[i]}`;
|
cmd = `#${cmds[i]}`;
|
||||||
$(cmd).empty();
|
$(cmd).empty();
|
||||||
for (let x = 0; x < seq.size; x++) {
|
for (let x : number = 0; x < seq.size; x++) {
|
||||||
if (cmds[i] === 'numbers') {
|
if (cmds[i] === 'numbers') {
|
||||||
elem = `<div x="${x}">${x}</div>`
|
elem = `<div x="${x}">${x}</div>`
|
||||||
$(cmd).append($(elem));
|
$(cmd).append($(elem));
|
||||||
|
@ -104,36 +155,114 @@ class Grid {
|
||||||
/**
|
/**
|
||||||
* Function bound to click on grid pad elements
|
* Function bound to click on grid pad elements
|
||||||
*
|
*
|
||||||
* @param {object} t This, passed from clicked element
|
* @param {object} elem This, passed from clicked element
|
||||||
**/
|
**/
|
||||||
public click (t : any) {
|
public click (elem : any) {
|
||||||
const x : number = parseInt($(t).attr('x'));
|
const x : number = parseInt($(elem).attr('x'));
|
||||||
let c : string;
|
let checked : boolean = $(elem).prop('checked');
|
||||||
let checked : boolean = $(t).prop('checked');
|
let c : string = '';
|
||||||
|
let other : string;
|
||||||
|
|
||||||
// if input was not checked, but now is
|
// if input was not checked, but now is
|
||||||
// event occurs after user action
|
// event occurs after user action
|
||||||
if (checked) {
|
if (checked) {
|
||||||
|
c = $(elem).attr('class').replace('.', '');
|
||||||
|
|
||||||
|
if (cam.second.enabled) {
|
||||||
|
if (c === cfg.cmd.camera_forward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
} else if (other === cfg.cmd.camera_second_forward) {
|
||||||
|
c = cfg.cmd.cameras_forward;
|
||||||
|
} else if (other === cfg.cmd.camera_second_backward) {
|
||||||
|
c = cfg.cmd.camera_forward_camera_second_backward;
|
||||||
|
}
|
||||||
|
} else if (c === cfg.cmd.camera_backward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
} else if (other === cfg.cmd.camera_second_forward) {
|
||||||
|
c = cfg.cmd.camera_backward_camera_second_forward;
|
||||||
|
} else if (other === cfg.cmd.camera_second_backward) {
|
||||||
|
c = cfg.cmd.cameras_backward;
|
||||||
|
}
|
||||||
|
} else if (c === cfg.cmd.camera_second_forward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
} else if (other === cfg.cmd.camera_forward) {
|
||||||
|
c = cfg.cmd.cameras_forward;
|
||||||
|
} else if (other === cfg.cmd.camera_second_backward) {
|
||||||
|
c = cfg.cmd.camera_forward_camera_second_backward;
|
||||||
|
}
|
||||||
|
} else if (c === cfg.cmd.camera_second_backward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
} else if (other === cfg.cmd.camera_second_forward) {
|
||||||
|
c = cfg.cmd.camera_backward_camera_second_forward;
|
||||||
|
} else if (other === cfg.cmd.camera_second_backward) {
|
||||||
|
c = cfg.cmd.cameras_backward;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (proj.second.enabled) {
|
||||||
|
if (c === cfg.cmd.projector_forward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
} else if (other === cfg.cmd.projector_second_forward) {
|
||||||
|
c = cfg.cmd.projectorss_forward;
|
||||||
|
} else if (other === cfg.cmd.projector_second_backward) {
|
||||||
|
c = cfg.cmd.projector_forward_projector_second_backward;
|
||||||
|
}
|
||||||
|
} else if (c === cfg.cmd.projector_backward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
} else if (other === cfg.cmd.projector_second_forward) {
|
||||||
|
c = cfg.cmd.projector_backward_projector_second_forward;
|
||||||
|
} else if (other === cfg.cmd.projector_second_backward) {
|
||||||
|
c = cfg.cmd.projectors_backward;
|
||||||
|
}
|
||||||
|
} else if (c === cfg.cmd.projector_second_forward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
} else if (other === cfg.cmd.projector_forward) {
|
||||||
|
c = cfg.cmd.projectors_forward;
|
||||||
|
} else if (other === cfg.cmd.projector_backward) {
|
||||||
|
c = cfg.cmd.projector_backward_projector_second_forward;
|
||||||
|
}
|
||||||
|
} else if (c === cfg.cmd.projector_second_backward) {
|
||||||
|
other = this.otherCmd(x, c);
|
||||||
|
if (other === '') {
|
||||||
|
//skip modification
|
||||||
|
} else if (other === cfg.cmd.projector_forward) {
|
||||||
|
c = cfg.cmd.projectors_forward_projector_second_backward;
|
||||||
|
} else if (other === cfg.cmd.projector_backward) {
|
||||||
|
c = cfg.cmd.projectors_backward;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
c = $(t).attr('class').replace('.', '');
|
|
||||||
seq.set(x, c);
|
seq.set(x, c);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
if (seq.grid[x]) {
|
||||||
|
c = seq.grid[x].cmd + '' // cast to string, bad hack
|
||||||
|
}
|
||||||
|
if (cam.second.enabled) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (proj.second.enabled) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
seq.grid[x] = undefined;
|
|
||||||
delete seq.grid[x];
|
|
||||||
seq.unset(x);
|
seq.unset(x);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +285,7 @@ class Grid {
|
||||||
/**
|
/**
|
||||||
* Add 24 frames to the sequence in the GUI
|
* Add 24 frames to the sequence in the GUI
|
||||||
**/
|
**/
|
||||||
plus_24 () {
|
public plus_24 () {
|
||||||
seq.size += 24;
|
seq.size += 24;
|
||||||
this.refresh();
|
this.refresh();
|
||||||
log.info(`Sequencer expanded to ${seq.size} steps`);
|
log.info(`Sequencer expanded to ${seq.size} steps`);
|
||||||
|
@ -172,7 +301,7 @@ class Grid {
|
||||||
if (typeof seq.grid[x].light === 'undefined') {
|
if (typeof seq.grid[x].light === 'undefined') {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
console.log(x)
|
//console.log(x)
|
||||||
if (seq.grid[x].light === '0,0,0') {
|
if (seq.grid[x].light === '0,0,0') {
|
||||||
seq.setLight(x, light.color);
|
seq.setLight(x, light.color);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -87,7 +87,8 @@
|
||||||
"black_backward": "BB",
|
"black_backward": "BB",
|
||||||
"camera_second_forward": "C2F",
|
"camera_second_forward": "C2F",
|
||||||
"camera_second_backward": "C2B",
|
"camera_second_backward": "C2B",
|
||||||
"cameras_forward": "CCB",
|
"cameras_forward": "CCF",
|
||||||
|
"cameras_backward" : "CCB",
|
||||||
"camera_forward_camera_second_backward": "CFCB",
|
"camera_forward_camera_second_backward": "CFCB",
|
||||||
"camera_backward_camera_second_forward": "CBCF",
|
"camera_backward_camera_second_forward": "CBCF",
|
||||||
"projector_second_forward": "P2F",
|
"projector_second_forward": "P2F",
|
||||||
|
|
Loading…
Reference in New Issue