From 687e1887eed8ddd7b3dbfc2b21e1d594890abe16 Mon Sep 17 00:00:00 2001 From: mmcwilliams Date: Fri, 19 Apr 2019 22:55:57 -0400 Subject: [PATCH] Grid is reasonably functional with dual projectors. --- app/lib/ui/grid.js | 91 +++++++++++++++++++++++++++++++++++------- app/src/lib/ui/grid.ts | 90 +++++++++++++++++++++++++++++++---------- 2 files changed, 144 insertions(+), 37 deletions(-) diff --git a/app/lib/ui/grid.js b/app/lib/ui/grid.js index c63a527..c392012 100644 --- a/app/lib/ui/grid.js +++ b/app/lib/ui/grid.js @@ -50,11 +50,11 @@ class Grid { className = cfg.cmd.projector_backward; className2 = cfg.cmd.projector_second_backward; } - else if (step.cmd === cfg.cmd.camera_forward_camera_second_backward) { + else if (step.cmd === cfg.cmd.projector_forward_projector_second_backward) { className = cfg.cmd.projector_forward; className2 = cfg.cmd.projector_second_backward; } - else if (step.cmd === cfg.cmd.camera_backward_camera_second_forward) { + else if (step.cmd === cfg.cmd.projector_backward_projector_second_forward) { className = cfg.cmd.projector_backward; className2 = cfg.cmd.projector_second_forward; } @@ -90,6 +90,7 @@ class Grid { $.each(step, function (index, value) { elem = $(this); cmdStr = elem.attr('class').replace('.', ''); + //console.log(cmdStr) if (elem.prop('checked') && cmdStr !== c) { selected = cmdStr; return false; @@ -148,14 +149,15 @@ class Grid { const x = parseInt($(elem).attr('x')); let checked = $(elem).prop('checked'); let c = ''; + let current = ''; let other; // if input was not checked, but now is // event occurs after user action + c = $(elem).attr('class').replace('.', ''); if (checked) { - c = $(elem).attr('class').replace('.', ''); if (cam.second.enabled) { + other = this.otherCmd(x, c); if (c === cfg.cmd.camera_forward) { - other = this.otherCmd(x, c); if (other === '') { //skip modification } @@ -167,7 +169,6 @@ class Grid { } } else if (c === cfg.cmd.camera_backward) { - other = this.otherCmd(x, c); if (other === '') { //skip modification } @@ -179,7 +180,6 @@ class Grid { } } else if (c === cfg.cmd.camera_second_forward) { - other = this.otherCmd(x, c); if (other === '') { //skip modification } @@ -191,7 +191,6 @@ class Grid { } } else if (c === cfg.cmd.camera_second_backward) { - other = this.otherCmd(x, c); if (other === '') { //skip modification } @@ -204,20 +203,19 @@ class Grid { } } if (proj.second.enabled) { + other = this.otherCmd(x, c); 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; + c = cfg.cmd.projectors_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 } @@ -229,7 +227,6 @@ class Grid { } } else if (c === cfg.cmd.projector_second_forward) { - other = this.otherCmd(x, c); if (other === '') { //skip modification } @@ -241,29 +238,93 @@ class Grid { } } 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; + c = cfg.cmd.projector_forward_projector_second_backward; } else if (other === cfg.cmd.projector_backward) { c = cfg.cmd.projectors_backward; } } } + console.log(c); seq.set(x, c); } else { if (seq.grid[x]) { - c = seq.grid[x].cmd + ''; // cast to string, bad hack + current = seq.grid[x].cmd + ''; // cast to string, bad hack } if (cam.second.enabled) { + other = this.otherCmd(x, c); + if (c === cfg.cmd.camera_forward + || c === cfg.cmd.camera_backward) { + if (other === '') { + c = ''; + } + else if (other === cfg.cmd.camera_second_forward) { + c = cfg.cmd.camera_second_forward; + } + else if (other === cfg.cmd.camera_second_backward) { + c = cfg.cmd.camera_second_backward; + } + } + else if (c === cfg.cmd.camera_second_forward + || c === cfg.cmd.camera_second_backward) { + if (other === '') { + c = ''; + } + else if (other === cfg.cmd.camera_forward) { + c = cfg.cmd.camera_forward; + } + else if (other === cfg.cmd.camera_backward) { + c = cfg.cmd.camera_backward; + } + } } if (proj.second.enabled) { + other = this.otherCmd(x, c); + if (current === cfg.cmd.projectors_forward) { + if (other === cfg.cmd.projector_second_forward) { + c = cfg.cmd.projector_second_forward; + } + else if (other === cfg.cmd.projector_forward) { + c = cfg.cmd.projector_forward; + } + } + else if (current === cfg.cmd.projectors_backward) { + if (other === cfg.cmd.projector_second_backward) { + c = cfg.cmd.projector_second_backward; + } + else if (other === cfg.cmd.projector_backward) { + c = cfg.cmd.projector_backward; + } + } + else if (current === cfg.cmd.projector_forward_projector_second_backward) { + if (other === cfg.cmd.projector_second_backward) { + c = cfg.cmd.projector_second_backward; + } + else if (other === cfg.cmd.projector_forward) { + c = cfg.cmd.projector_forward; + } + } + else if (current === cfg.cmd.projector_backward_projector_second_forward) { + if (other === cfg.cmd.projector_second_forward) { + c = cfg.cmd.projector_second_forward; + } + else if (other === cfg.cmd.projector_backward) { + c = cfg.cmd.projector_backward; + } + } + } + if (c === '') { + seq.unset(x); + } + else { + console.log(c); + seq.set(x, c); } - seq.unset(x); } this.state(x); seq.stats(); diff --git a/app/src/lib/ui/grid.ts b/app/src/lib/ui/grid.ts index 719dadf..e51712e 100644 --- a/app/src/lib/ui/grid.ts +++ b/app/src/lib/ui/grid.ts @@ -59,16 +59,17 @@ class Grid { } 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) { + } else if (step.cmd === cfg.cmd.projector_forward_projector_second_backward) { className = cfg.cmd.projector_forward; className2 = cfg.cmd.projector_second_backward; - } else if (step.cmd === cfg.cmd.camera_backward_camera_second_forward) { + } else if (step.cmd === cfg.cmd.projector_backward_projector_second_forward) { className = cfg.cmd.projector_backward; className2 = cfg.cmd.projector_second_forward; } else { @@ -104,6 +105,7 @@ class Grid { $.each(step, function (index : number, value : any) { elem = $(this); cmdStr = elem.attr('class').replace('.', ''); + //console.log(cmdStr) if (elem.prop('checked') && cmdStr !== c) { selected = cmdStr; return false; @@ -161,16 +163,16 @@ class Grid { const x : number = parseInt($(elem).attr('x')); let checked : boolean = $(elem).prop('checked'); let c : string = ''; + let current : string = ''; let other : string; // if input was not checked, but now is // event occurs after user action + c = $(elem).attr('class').replace('.', ''); if (checked) { - c = $(elem).attr('class').replace('.', ''); - if (cam.second.enabled) { + other = this.otherCmd(x, c); if (c === cfg.cmd.camera_forward) { - other = this.otherCmd(x, c); if (other === '') { //skip modification } else if (other === cfg.cmd.camera_second_forward) { @@ -179,7 +181,6 @@ class Grid { 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) { @@ -188,7 +189,6 @@ class Grid { 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) { @@ -197,7 +197,6 @@ class Grid { 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) { @@ -209,17 +208,16 @@ class Grid { } if (proj.second.enabled) { + other = this.otherCmd(x, c); 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; + c = cfg.cmd.projectors_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) { @@ -228,7 +226,6 @@ class Grid { 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) { @@ -237,33 +234,82 @@ class Grid { 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; + c = cfg.cmd.projector_forward_projector_second_backward; } else if (other === cfg.cmd.projector_backward) { c = cfg.cmd.projectors_backward; } } } - seq.set(x, c); - } else { - if (seq.grid[x]) { - c = seq.grid[x].cmd + '' // cast to string, bad hack + current = seq.grid[x].cmd + '' // cast to string, bad hack } if (cam.second.enabled) { - + other = this.otherCmd(x, c); + if (current === cfg.cmd.cameras_forward) { + if (other === cfg.cmd.camera_second_forward) { + c = cfg.cmd.camera_second_forward; + } else if (other === cfg.cmd.camera_forward) { + c = cfg.cmd.camera_forward; + } + } else if (current === cfg.cmd.cameras_backward) { + if (other === cfg.cmd.camera_second_backward) { + c = cfg.cmd.camera_second_backward; + } else if (other === cfg.cmd.camera_backward) { + c = cfg.cmd.camera_backward; + } + } else if (current === cfg.cmd.camera_forward_projector_second_backward) { + if (other === cfg.cmd.camera_second_backward) { + c = cfg.cmd.camera_second_backward; + } else if (other === cfg.cmd.camera_forward) { + c = cfg.cmd.camera_forward; + } + } else if (current === cfg.cmd.camera_backward_projector_second_forward) { + if (other === cfg.cmd.camera_second_forward) { + c = cfg.cmd.camera_second_forward; + } else if (other === cfg.cmd.camera_backward) { + c = cfg.cmd.camera_backward; + } + } } if (proj.second.enabled) { - + other = this.otherCmd(x, c); + if (current === cfg.cmd.projectors_forward) { + if (other === cfg.cmd.projector_second_forward) { + c = cfg.cmd.projector_second_forward; + } else if (other === cfg.cmd.projector_forward) { + c = cfg.cmd.projector_forward; + } + } else if (current === cfg.cmd.projectors_backward) { + if (other === cfg.cmd.projector_second_backward) { + c = cfg.cmd.projector_second_backward; + } else if (other === cfg.cmd.projector_backward) { + c = cfg.cmd.projector_backward; + } + } else if (current === cfg.cmd.projector_forward_projector_second_backward) { + if (other === cfg.cmd.projector_second_backward) { + c = cfg.cmd.projector_second_backward; + } else if (other === cfg.cmd.projector_forward) { + c = cfg.cmd.projector_forward; + } + } else if (current === cfg.cmd.projector_backward_projector_second_forward) { + if (other === cfg.cmd.projector_second_forward) { + c = cfg.cmd.projector_second_forward; + } else if (other === cfg.cmd.projector_backward) { + c = cfg.cmd.projector_backward; + } + } + } + if (c === '') { + seq.unset(x); + } else { + seq.set(x, c); } - - seq.unset(x); } this.state(x);