Implmeented some stuiff
This commit is contained in:
6
dist/Main.js
vendored
6
dist/Main.js
vendored
@@ -45,6 +45,7 @@ var CameraRunner_1 = require("./CameraRunner");
|
|||||||
var UnityRunner_1 = require("./Unity/UnityRunner");
|
var UnityRunner_1 = require("./Unity/UnityRunner");
|
||||||
var UnityWebSocket_1 = require("./Unity/UnityWebSocket");
|
var UnityWebSocket_1 = require("./Unity/UnityWebSocket");
|
||||||
var Twilio_1 = require("./Twilio");
|
var Twilio_1 = require("./Twilio");
|
||||||
|
var Utils_1 = require("./Utils");
|
||||||
var Main = /** @class */ (function () {
|
var Main = /** @class */ (function () {
|
||||||
function Main() {
|
function Main() {
|
||||||
this.dataPath = (0, path_1.join)((0, os_1.homedir)(), 'MorphixProductions', 'NTSHControl');
|
this.dataPath = (0, path_1.join)((0, os_1.homedir)(), 'MorphixProductions', 'NTSHControl');
|
||||||
@@ -112,9 +113,12 @@ var Main = /** @class */ (function () {
|
|||||||
succeed = _a.sent();
|
succeed = _a.sent();
|
||||||
if (!succeed)
|
if (!succeed)
|
||||||
return [2 /*return*/];
|
return [2 /*return*/];
|
||||||
|
return [4 /*yield*/, (0, Utils_1.delay)(5000)];
|
||||||
|
case 3:
|
||||||
|
_a.sent();
|
||||||
console.log('Starting UnityRunner...');
|
console.log('Starting UnityRunner...');
|
||||||
return [4 /*yield*/, this.UnityRunner.start()];
|
return [4 /*yield*/, this.UnityRunner.start()];
|
||||||
case 3:
|
case 4:
|
||||||
_a.sent();
|
_a.sent();
|
||||||
console.log('Restart complete.');
|
console.log('Restart complete.');
|
||||||
return [2 /*return*/];
|
return [2 /*return*/];
|
||||||
|
|||||||
2
dist/Main.js.map
vendored
2
dist/Main.js.map
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"Main.js","sourceRoot":"","sources":["../src/Main.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"Main.js","sourceRoot":"","sources":["../src/Main.ts"],"names":[],"mappings":"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"}
|
||||||
23
dist/Unity/UnityWebSocket.js
vendored
23
dist/Unity/UnityWebSocket.js
vendored
@@ -65,6 +65,7 @@ var UnityWebSocket = /** @class */ (function () {
|
|||||||
zedFPS: '-',
|
zedFPS: '-',
|
||||||
outOfService: null,
|
outOfService: null,
|
||||||
sliders: [],
|
sliders: [],
|
||||||
|
advancedSliders: [],
|
||||||
sensors: [],
|
sensors: [],
|
||||||
};
|
};
|
||||||
this.disconnected = false;
|
this.disconnected = false;
|
||||||
@@ -82,6 +83,11 @@ var UnityWebSocket = /** @class */ (function () {
|
|||||||
var percentage = args[1];
|
var percentage = args[1];
|
||||||
this.setSliderValue(sliderIndex, percentage);
|
this.setSliderValue(sliderIndex, percentage);
|
||||||
break;
|
break;
|
||||||
|
case 'advancedParameterValue':
|
||||||
|
var advSliderIndex = args[0];
|
||||||
|
var advPercentage = args[1];
|
||||||
|
this.setAdvancedSliderValue(advSliderIndex, advPercentage);
|
||||||
|
break;
|
||||||
case 'enableOutOfService':
|
case 'enableOutOfService':
|
||||||
var enableCallback = args[0];
|
var enableCallback = args[0];
|
||||||
if (typeof enableCallback !== 'function')
|
if (typeof enableCallback !== 'function')
|
||||||
@@ -118,6 +124,19 @@ var UnityWebSocket = /** @class */ (function () {
|
|||||||
this.parameters.sliders[sliderIndex].outputValue = sliderValue;
|
this.parameters.sliders[sliderIndex].outputValue = sliderValue;
|
||||||
this.broadcastState();
|
this.broadcastState();
|
||||||
};
|
};
|
||||||
|
UnityWebSocket.prototype.setAdvancedSliderValue = function (sliderIndex, sliderValue) {
|
||||||
|
if (this.socket == null || this.socket.readyState !== ws_1.WebSocket.OPEN)
|
||||||
|
return;
|
||||||
|
this.socket.send(JSON.stringify({
|
||||||
|
type: 'set_advanced_slider_value',
|
||||||
|
sliderIndex: sliderIndex,
|
||||||
|
sliderValue: sliderValue,
|
||||||
|
}));
|
||||||
|
if (this.parameters.advancedSliders[sliderIndex] == undefined)
|
||||||
|
return;
|
||||||
|
this.parameters.advancedSliders[sliderIndex].outputValue = sliderValue;
|
||||||
|
this.broadcastState();
|
||||||
|
};
|
||||||
UnityWebSocket.prototype.setOutOfService = function (state) {
|
UnityWebSocket.prototype.setOutOfService = function (state) {
|
||||||
if (this.socket == null || this.socket.readyState !== ws_1.WebSocket.OPEN)
|
if (this.socket == null || this.socket.readyState !== ws_1.WebSocket.OPEN)
|
||||||
return;
|
return;
|
||||||
@@ -175,6 +194,10 @@ var UnityWebSocket = /** @class */ (function () {
|
|||||||
this.parameters.sliders = message.heartbeat.dataSliders.map(function (slider) {
|
this.parameters.sliders = message.heartbeat.dataSliders.map(function (slider) {
|
||||||
return __assign(__assign({}, slider), { decimalPlaces: slider.min == 0 && slider.max == 1 ? 2 : null });
|
return __assign(__assign({}, slider), { decimalPlaces: slider.min == 0 && slider.max == 1 ? 2 : null });
|
||||||
});
|
});
|
||||||
|
this.parameters.advancedSliders =
|
||||||
|
message.heartbeat.dataAdvancedSliders.map(function (slider) {
|
||||||
|
return __assign(__assign({}, slider), { decimalPlaces: slider.min == 0 && slider.max == 1 ? 2 : null });
|
||||||
|
});
|
||||||
this.broadcastState();
|
this.broadcastState();
|
||||||
break;
|
break;
|
||||||
case 'response_camera_frame':
|
case 'response_camera_frame':
|
||||||
|
|||||||
2
dist/Unity/UnityWebSocket.js.map
vendored
2
dist/Unity/UnityWebSocket.js.map
vendored
File diff suppressed because one or more lines are too long
74
frontend/views/dashboard/dist/dashboard.unity.js
vendored
74
frontend/views/dashboard/dist/dashboard.unity.js
vendored
@@ -60,6 +60,7 @@ var DashboardUnity = /** @class */ (function () {
|
|||||||
this.timelineStanding = document.querySelector('.ntsh_dashboard-unity-timeline-standing');
|
this.timelineStanding = document.querySelector('.ntsh_dashboard-unity-timeline-standing');
|
||||||
this.timelineProgress = document.querySelector('.ntsh_dashboard-unity-timeline-progress');
|
this.timelineProgress = document.querySelector('.ntsh_dashboard-unity-timeline-progress');
|
||||||
this.parametersTable = document.querySelector('.ntsh_dashboard-unity-parameters');
|
this.parametersTable = document.querySelector('.ntsh_dashboard-unity-parameters');
|
||||||
|
this.advancedParametersTable = document.querySelector('.ntsh_dashboard-unity-advancedparameters');
|
||||||
this.sensorsTable = document.querySelector('.ntsh_dashboard-unity-sensors');
|
this.sensorsTable = document.querySelector('.ntsh_dashboard-unity-sensors');
|
||||||
this.errorContainer = document.querySelector('.ntsh_dashboard-unity-error');
|
this.errorContainer = document.querySelector('.ntsh_dashboard-unity-error');
|
||||||
this.errorText = document.querySelector('.ntsh_dashboard-unity-errortext');
|
this.errorText = document.querySelector('.ntsh_dashboard-unity-errortext');
|
||||||
@@ -143,6 +144,7 @@ var DashboardUnity = /** @class */ (function () {
|
|||||||
(0, utils_1.setProgressState)(this.timelineProgress, Math.round(state.parameters.timelineProgress * 100), 0, 100, '%');
|
(0, utils_1.setProgressState)(this.timelineProgress, Math.round(state.parameters.timelineProgress * 100), 0, 100, '%');
|
||||||
// ----------- Parameters -----------
|
// ----------- Parameters -----------
|
||||||
this.renderParameterSliders(state.state == 'CONNECTED' ? state.parameters.sliders : []);
|
this.renderParameterSliders(state.state == 'CONNECTED' ? state.parameters.sliders : []);
|
||||||
|
this.renderAdvancedParameterSliders(state.state == 'CONNECTED' ? state.parameters.advancedSliders : []);
|
||||||
this.renderParameterSensors(state.state == 'CONNECTED' ? state.parameters.sensors : []);
|
this.renderParameterSensors(state.state == 'CONNECTED' ? state.parameters.sensors : []);
|
||||||
// ----------- Error -----------
|
// ----------- Error -----------
|
||||||
if (((_b = state === null || state === void 0 ? void 0 : state.error) !== null && _b !== void 0 ? _b : '').trim().length > 0)
|
if (((_b = state === null || state === void 0 ? void 0 : state.error) !== null && _b !== void 0 ? _b : '').trim().length > 0)
|
||||||
@@ -223,6 +225,78 @@ var DashboardUnity = /** @class */ (function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
DashboardUnity.prototype.renderAdvancedParameterSliders = function (sliders) {
|
||||||
|
var _this = this;
|
||||||
|
var existingSliders = this.advancedParametersTable.querySelectorAll('.ntsh_dashboard-unity-parameter-row');
|
||||||
|
if (existingSliders.length !== sliders.length) {
|
||||||
|
this.advancedParametersTable.innerHTML = '';
|
||||||
|
if (sliders.length === 0) {
|
||||||
|
var row = (0, morphux_1.ce)('tr');
|
||||||
|
var cell = (0, morphux_1.ce)('td');
|
||||||
|
cell.appendChild((0, morphux_1.ce)('div', ['mux_text', 'ntsh_dashboard-unity-parameters-loading'], null, 'Waiting for Unity...'));
|
||||||
|
row.appendChild(cell);
|
||||||
|
this.advancedParametersTable.appendChild(row);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
sliders.forEach(function (slider) {
|
||||||
|
var _a, _b;
|
||||||
|
var multiplierFactor = (_a = slider.visualMultiplier) !== null && _a !== void 0 ? _a : 1;
|
||||||
|
var decimalPlacesFactor = Math.pow(10, ((_b = slider.decimalPlaces) !== null && _b !== void 0 ? _b : 0));
|
||||||
|
var value = Math.round(slider.outputValue *
|
||||||
|
multiplierFactor *
|
||||||
|
decimalPlacesFactor) / decimalPlacesFactor;
|
||||||
|
var row = (0, morphux_1.ce)('tr', 'ntsh_dashboard-unity-parameter-row');
|
||||||
|
var nameCell = (0, morphux_1.ce)('td');
|
||||||
|
nameCell.appendChild((0, morphux_1.ce)('div', 'mux_text', null, slider.sliderName));
|
||||||
|
row.appendChild(nameCell);
|
||||||
|
var progressCell = (0, morphux_1.ce)('td', 'no-service');
|
||||||
|
progressCell.appendChild((0, utils_1.createProgress)(value, slider.min * multiplierFactor, slider.max * multiplierFactor, slider.unit));
|
||||||
|
row.appendChild(progressCell);
|
||||||
|
var sliderCell = (0, morphux_1.ce)('td', 'only-service');
|
||||||
|
var sliderProgress = (0, utils_1.createProgress)(value, slider.min * multiplierFactor, slider.max * multiplierFactor, slider.unit);
|
||||||
|
var sliderValue = sliderProgress.querySelector('.ntsh_progress-value');
|
||||||
|
sliderValue.classList.add('mux_resizer');
|
||||||
|
sliderCell.appendChild(sliderProgress);
|
||||||
|
var resizer = new morphux_1.MorphComponent.Resizer({
|
||||||
|
existingContainer: sliderValue,
|
||||||
|
direction: 'right',
|
||||||
|
relative: true,
|
||||||
|
min: 0,
|
||||||
|
max: function () { return sliderProgress.clientWidth; },
|
||||||
|
});
|
||||||
|
var lastValue = -1;
|
||||||
|
resizer.on('resized', function (size) {
|
||||||
|
var percentage = Math.round((size / sliderProgress.clientWidth) * 100) / 100;
|
||||||
|
var actualValue = slider.min + percentage * (slider.max - slider.min);
|
||||||
|
if (actualValue === lastValue)
|
||||||
|
return;
|
||||||
|
lastValue = actualValue;
|
||||||
|
_this._Main.socket.emit('unityWebSocket', 'advancedParameterValue', slider.sliderIndex, actualValue);
|
||||||
|
(0, utils_1.setProgressState)(sliderProgress, Math.round(actualValue *
|
||||||
|
multiplierFactor *
|
||||||
|
decimalPlacesFactor) / decimalPlacesFactor, slider.min * multiplierFactor, slider.max * multiplierFactor, slider.unit);
|
||||||
|
});
|
||||||
|
row.appendChild(sliderCell);
|
||||||
|
_this.advancedParametersTable.appendChild(row);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
existingSliders.forEach(function (row, index) {
|
||||||
|
var _a, _b;
|
||||||
|
var slider = sliders[index];
|
||||||
|
var multiplierFactor = (_a = slider.visualMultiplier) !== null && _a !== void 0 ? _a : 1;
|
||||||
|
var decimalPlacesFactor = Math.pow(10, ((_b = slider.decimalPlaces) !== null && _b !== void 0 ? _b : 0));
|
||||||
|
var value = Math.round(slider.outputValue *
|
||||||
|
multiplierFactor *
|
||||||
|
decimalPlacesFactor) / decimalPlacesFactor;
|
||||||
|
var progressElement = row.querySelector('.no-service .ntsh_progress');
|
||||||
|
(0, utils_1.setProgressState)(progressElement, value, slider.min * multiplierFactor, slider.max * multiplierFactor, slider.unit);
|
||||||
|
var sliderElement = row.querySelector('.only-service .ntsh_progress');
|
||||||
|
if (sliderElement.querySelector('.mux_resizer-moving') == null)
|
||||||
|
(0, utils_1.setProgressState)(sliderElement, value, slider.min * multiplierFactor, slider.max * multiplierFactor, slider.unit);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
DashboardUnity.prototype.renderParameterSensors = function (sensors) {
|
DashboardUnity.prototype.renderParameterSensors = function (sensors) {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
var existingSensors = this.sensorsTable.querySelectorAll('.ntsh_dashboard-unity-sensor-row');
|
var existingSensors = this.sensorsTable.querySelectorAll('.ntsh_dashboard-unity-sensor-row');
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -241,7 +241,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="ntsh_dashboard-box ntsh_dashboard-unityparameters">
|
<div class="ntsh_dashboard-box ntsh_dashboard-unityparameters">
|
||||||
<div class="ntsh_dashboard-box-header mux_header">Parameters</div>
|
<div class="ntsh_dashboard-box-header mux_header">Audio</div>
|
||||||
|
|
||||||
<table class="ntsh_vertical ntsh_dashboard-unity-parameters">
|
<table class="ntsh_vertical ntsh_dashboard-unity-parameters">
|
||||||
<tr>
|
<tr>
|
||||||
@@ -252,6 +252,19 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="ntsh_dashboard-box ntsh_dashboard-unityadvancedparameters">
|
||||||
|
<div class="ntsh_dashboard-box-header mux_header">Parameters</div>
|
||||||
|
|
||||||
|
<table class="ntsh_vertical ntsh_dashboard-unity-advancedparameters">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<div class="mux_text ntsh_dashboard-unity-advancedparameters-loading">Waiting for
|
||||||
|
Unity...
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
<div class="ntsh_dashboard-box ntsh_dashboard-unitysensors">
|
<div class="ntsh_dashboard-box ntsh_dashboard-unitysensors">
|
||||||
<div class="ntsh_dashboard-box-header mux_header">Sensors</div>
|
<div class="ntsh_dashboard-box-header mux_header">Sensors</div>
|
||||||
|
|
||||||
|
|||||||
@@ -15656,6 +15656,7 @@
|
|||||||
this.timelineStanding = document.querySelector('.ntsh_dashboard-unity-timeline-standing');
|
this.timelineStanding = document.querySelector('.ntsh_dashboard-unity-timeline-standing');
|
||||||
this.timelineProgress = document.querySelector('.ntsh_dashboard-unity-timeline-progress');
|
this.timelineProgress = document.querySelector('.ntsh_dashboard-unity-timeline-progress');
|
||||||
this.parametersTable = document.querySelector('.ntsh_dashboard-unity-parameters');
|
this.parametersTable = document.querySelector('.ntsh_dashboard-unity-parameters');
|
||||||
|
this.advancedParametersTable = document.querySelector('.ntsh_dashboard-unity-advancedparameters');
|
||||||
this.sensorsTable = document.querySelector('.ntsh_dashboard-unity-sensors');
|
this.sensorsTable = document.querySelector('.ntsh_dashboard-unity-sensors');
|
||||||
this.errorContainer = document.querySelector('.ntsh_dashboard-unity-error');
|
this.errorContainer = document.querySelector('.ntsh_dashboard-unity-error');
|
||||||
this.errorText = document.querySelector('.ntsh_dashboard-unity-errortext');
|
this.errorText = document.querySelector('.ntsh_dashboard-unity-errortext');
|
||||||
@@ -15739,6 +15740,7 @@
|
|||||||
(0, utils_1.setProgressState)(this.timelineProgress, Math.round(state.parameters.timelineProgress * 100), 0, 100, '%');
|
(0, utils_1.setProgressState)(this.timelineProgress, Math.round(state.parameters.timelineProgress * 100), 0, 100, '%');
|
||||||
// ----------- Parameters -----------
|
// ----------- Parameters -----------
|
||||||
this.renderParameterSliders(state.state == 'CONNECTED' ? state.parameters.sliders : []);
|
this.renderParameterSliders(state.state == 'CONNECTED' ? state.parameters.sliders : []);
|
||||||
|
this.renderAdvancedParameterSliders(state.state == 'CONNECTED' ? state.parameters.advancedSliders : []);
|
||||||
this.renderParameterSensors(state.state == 'CONNECTED' ? state.parameters.sensors : []);
|
this.renderParameterSensors(state.state == 'CONNECTED' ? state.parameters.sensors : []);
|
||||||
// ----------- Error -----------
|
// ----------- Error -----------
|
||||||
if (((_b = state === null || state === void 0 ? void 0 : state.error) !== null && _b !== void 0 ? _b : '').trim().length > 0)
|
if (((_b = state === null || state === void 0 ? void 0 : state.error) !== null && _b !== void 0 ? _b : '').trim().length > 0)
|
||||||
@@ -15819,6 +15821,78 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
DashboardUnity.prototype.renderAdvancedParameterSliders = function (sliders) {
|
||||||
|
var _this = this;
|
||||||
|
var existingSliders = this.advancedParametersTable.querySelectorAll('.ntsh_dashboard-unity-parameter-row');
|
||||||
|
if (existingSliders.length !== sliders.length) {
|
||||||
|
this.advancedParametersTable.innerHTML = '';
|
||||||
|
if (sliders.length === 0) {
|
||||||
|
var row = (0, morphux_1$1.ce)('tr');
|
||||||
|
var cell = (0, morphux_1$1.ce)('td');
|
||||||
|
cell.appendChild((0, morphux_1$1.ce)('div', ['mux_text', 'ntsh_dashboard-unity-parameters-loading'], null, 'Waiting for Unity...'));
|
||||||
|
row.appendChild(cell);
|
||||||
|
this.advancedParametersTable.appendChild(row);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
sliders.forEach(function (slider) {
|
||||||
|
var _a, _b;
|
||||||
|
var multiplierFactor = (_a = slider.visualMultiplier) !== null && _a !== void 0 ? _a : 1;
|
||||||
|
var decimalPlacesFactor = Math.pow(10, ((_b = slider.decimalPlaces) !== null && _b !== void 0 ? _b : 0));
|
||||||
|
var value = Math.round(slider.outputValue *
|
||||||
|
multiplierFactor *
|
||||||
|
decimalPlacesFactor) / decimalPlacesFactor;
|
||||||
|
var row = (0, morphux_1$1.ce)('tr', 'ntsh_dashboard-unity-parameter-row');
|
||||||
|
var nameCell = (0, morphux_1$1.ce)('td');
|
||||||
|
nameCell.appendChild((0, morphux_1$1.ce)('div', 'mux_text', null, slider.sliderName));
|
||||||
|
row.appendChild(nameCell);
|
||||||
|
var progressCell = (0, morphux_1$1.ce)('td', 'no-service');
|
||||||
|
progressCell.appendChild((0, utils_1.createProgress)(value, slider.min * multiplierFactor, slider.max * multiplierFactor, slider.unit));
|
||||||
|
row.appendChild(progressCell);
|
||||||
|
var sliderCell = (0, morphux_1$1.ce)('td', 'only-service');
|
||||||
|
var sliderProgress = (0, utils_1.createProgress)(value, slider.min * multiplierFactor, slider.max * multiplierFactor, slider.unit);
|
||||||
|
var sliderValue = sliderProgress.querySelector('.ntsh_progress-value');
|
||||||
|
sliderValue.classList.add('mux_resizer');
|
||||||
|
sliderCell.appendChild(sliderProgress);
|
||||||
|
var resizer = new morphux_1$1.MorphComponent.Resizer({
|
||||||
|
existingContainer: sliderValue,
|
||||||
|
direction: 'right',
|
||||||
|
relative: true,
|
||||||
|
min: 0,
|
||||||
|
max: function () { return sliderProgress.clientWidth; },
|
||||||
|
});
|
||||||
|
var lastValue = -1;
|
||||||
|
resizer.on('resized', function (size) {
|
||||||
|
var percentage = Math.round((size / sliderProgress.clientWidth) * 100) / 100;
|
||||||
|
var actualValue = slider.min + percentage * (slider.max - slider.min);
|
||||||
|
if (actualValue === lastValue)
|
||||||
|
return;
|
||||||
|
lastValue = actualValue;
|
||||||
|
_this._Main.socket.emit('unityWebSocket', 'advancedParameterValue', slider.sliderIndex, actualValue);
|
||||||
|
(0, utils_1.setProgressState)(sliderProgress, Math.round(actualValue *
|
||||||
|
multiplierFactor *
|
||||||
|
decimalPlacesFactor) / decimalPlacesFactor, slider.min * multiplierFactor, slider.max * multiplierFactor, slider.unit);
|
||||||
|
});
|
||||||
|
row.appendChild(sliderCell);
|
||||||
|
_this.advancedParametersTable.appendChild(row);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
existingSliders.forEach(function (row, index) {
|
||||||
|
var _a, _b;
|
||||||
|
var slider = sliders[index];
|
||||||
|
var multiplierFactor = (_a = slider.visualMultiplier) !== null && _a !== void 0 ? _a : 1;
|
||||||
|
var decimalPlacesFactor = Math.pow(10, ((_b = slider.decimalPlaces) !== null && _b !== void 0 ? _b : 0));
|
||||||
|
var value = Math.round(slider.outputValue *
|
||||||
|
multiplierFactor *
|
||||||
|
decimalPlacesFactor) / decimalPlacesFactor;
|
||||||
|
var progressElement = row.querySelector('.no-service .ntsh_progress');
|
||||||
|
(0, utils_1.setProgressState)(progressElement, value, slider.min * multiplierFactor, slider.max * multiplierFactor, slider.unit);
|
||||||
|
var sliderElement = row.querySelector('.only-service .ntsh_progress');
|
||||||
|
if (sliderElement.querySelector('.mux_resizer-moving') == null)
|
||||||
|
(0, utils_1.setProgressState)(sliderElement, value, slider.min * multiplierFactor, slider.max * multiplierFactor, slider.unit);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
DashboardUnity.prototype.renderParameterSensors = function (sensors) {
|
DashboardUnity.prototype.renderParameterSensors = function (sensors) {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
var existingSensors = this.sensorsTable.querySelectorAll('.ntsh_dashboard-unity-sensor-row');
|
var existingSensors = this.sensorsTable.querySelectorAll('.ntsh_dashboard-unity-sensor-row');
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -38,6 +38,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ntsh_dashboard-unity-advancedparameters {
|
||||||
|
.ntsh_dashboard-unity-advancedparameters-loading {
|
||||||
|
text-align: center;
|
||||||
|
color: #9d9d9d;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.ntsh_dashboard-unity-sensors {
|
.ntsh_dashboard-unity-sensors {
|
||||||
.ntsh_dashboard-unity-sensors-loading {
|
.ntsh_dashboard-unity-sensors-loading {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|||||||
@@ -2400,6 +2400,10 @@ body {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
color: #9d9d9d;
|
color: #9d9d9d;
|
||||||
}
|
}
|
||||||
|
.ntsh_dashboard .ntsh_dashboard-unity-advancedparameters .ntsh_dashboard-unity-advancedparameters-loading {
|
||||||
|
text-align: center;
|
||||||
|
color: #9d9d9d;
|
||||||
|
}
|
||||||
.ntsh_dashboard .ntsh_dashboard-unity-sensors .ntsh_dashboard-unity-sensors-loading {
|
.ntsh_dashboard .ntsh_dashboard-unity-sensors .ntsh_dashboard-unity-sensors-loading {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #9d9d9d;
|
color: #9d9d9d;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -75,6 +75,9 @@ export class DashboardUnity {
|
|||||||
parametersTable: HTMLTableElement = document.querySelector(
|
parametersTable: HTMLTableElement = document.querySelector(
|
||||||
'.ntsh_dashboard-unity-parameters'
|
'.ntsh_dashboard-unity-parameters'
|
||||||
);
|
);
|
||||||
|
advancedParametersTable: HTMLTableElement = document.querySelector(
|
||||||
|
'.ntsh_dashboard-unity-advancedparameters'
|
||||||
|
);
|
||||||
|
|
||||||
sensorsTable: HTMLTableElement = document.querySelector(
|
sensorsTable: HTMLTableElement = document.querySelector(
|
||||||
'.ntsh_dashboard-unity-sensors'
|
'.ntsh_dashboard-unity-sensors'
|
||||||
@@ -200,6 +203,9 @@ export class DashboardUnity {
|
|||||||
this.renderParameterSliders(
|
this.renderParameterSliders(
|
||||||
state.state == 'CONNECTED' ? state.parameters.sliders : []
|
state.state == 'CONNECTED' ? state.parameters.sliders : []
|
||||||
);
|
);
|
||||||
|
this.renderAdvancedParameterSliders(
|
||||||
|
state.state == 'CONNECTED' ? state.parameters.advancedSliders : []
|
||||||
|
);
|
||||||
this.renderParameterSensors(
|
this.renderParameterSensors(
|
||||||
state.state == 'CONNECTED' ? state.parameters.sensors : []
|
state.state == 'CONNECTED' ? state.parameters.sensors : []
|
||||||
);
|
);
|
||||||
@@ -358,6 +364,155 @@ export class DashboardUnity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private renderAdvancedParameterSliders(
|
||||||
|
sliders: UnityParameters['sliders']
|
||||||
|
) {
|
||||||
|
const existingSliders = this.advancedParametersTable.querySelectorAll(
|
||||||
|
'.ntsh_dashboard-unity-parameter-row'
|
||||||
|
);
|
||||||
|
|
||||||
|
if (existingSliders.length !== sliders.length) {
|
||||||
|
this.advancedParametersTable.innerHTML = '';
|
||||||
|
|
||||||
|
if (sliders.length === 0) {
|
||||||
|
const row = ce('tr');
|
||||||
|
const cell = ce('td');
|
||||||
|
cell.appendChild(
|
||||||
|
ce(
|
||||||
|
'div',
|
||||||
|
['mux_text', 'ntsh_dashboard-unity-parameters-loading'],
|
||||||
|
null,
|
||||||
|
'Waiting for Unity...'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
row.appendChild(cell);
|
||||||
|
this.advancedParametersTable.appendChild(row);
|
||||||
|
} else
|
||||||
|
sliders.forEach((slider) => {
|
||||||
|
const multiplierFactor = slider.visualMultiplier ?? 1;
|
||||||
|
const decimalPlacesFactor =
|
||||||
|
10 ** (slider.decimalPlaces ?? 0);
|
||||||
|
|
||||||
|
const value =
|
||||||
|
Math.round(
|
||||||
|
slider.outputValue *
|
||||||
|
multiplierFactor *
|
||||||
|
decimalPlacesFactor
|
||||||
|
) / decimalPlacesFactor;
|
||||||
|
|
||||||
|
const row = ce('tr', 'ntsh_dashboard-unity-parameter-row');
|
||||||
|
|
||||||
|
const nameCell = ce('td');
|
||||||
|
nameCell.appendChild(
|
||||||
|
ce('div', 'mux_text', null, slider.sliderName)
|
||||||
|
);
|
||||||
|
row.appendChild(nameCell);
|
||||||
|
|
||||||
|
const progressCell = ce('td', 'no-service');
|
||||||
|
progressCell.appendChild(
|
||||||
|
createProgress(
|
||||||
|
value,
|
||||||
|
slider.min * multiplierFactor,
|
||||||
|
slider.max * multiplierFactor,
|
||||||
|
slider.unit
|
||||||
|
)
|
||||||
|
);
|
||||||
|
row.appendChild(progressCell);
|
||||||
|
|
||||||
|
const sliderCell = ce('td', 'only-service');
|
||||||
|
const sliderProgress = createProgress(
|
||||||
|
value,
|
||||||
|
slider.min * multiplierFactor,
|
||||||
|
slider.max * multiplierFactor,
|
||||||
|
slider.unit
|
||||||
|
);
|
||||||
|
const sliderValue: HTMLDivElement =
|
||||||
|
sliderProgress.querySelector('.ntsh_progress-value');
|
||||||
|
sliderValue.classList.add('mux_resizer');
|
||||||
|
sliderCell.appendChild(sliderProgress);
|
||||||
|
|
||||||
|
const resizer = new MorphComponent.Resizer({
|
||||||
|
existingContainer: sliderValue,
|
||||||
|
direction: 'right',
|
||||||
|
relative: true,
|
||||||
|
min: 0,
|
||||||
|
max: () => sliderProgress.clientWidth,
|
||||||
|
});
|
||||||
|
let lastValue: number = -1;
|
||||||
|
resizer.on('resized', (size) => {
|
||||||
|
const percentage =
|
||||||
|
Math.round(
|
||||||
|
(size / sliderProgress.clientWidth) * 100
|
||||||
|
) / 100;
|
||||||
|
|
||||||
|
var actualValue =
|
||||||
|
slider.min + percentage * (slider.max - slider.min);
|
||||||
|
|
||||||
|
if (actualValue === lastValue) return;
|
||||||
|
lastValue = actualValue;
|
||||||
|
|
||||||
|
this._Main.socket.emit(
|
||||||
|
'unityWebSocket',
|
||||||
|
'advancedParameterValue',
|
||||||
|
slider.sliderIndex,
|
||||||
|
actualValue
|
||||||
|
);
|
||||||
|
setProgressState(
|
||||||
|
sliderProgress,
|
||||||
|
Math.round(
|
||||||
|
actualValue *
|
||||||
|
multiplierFactor *
|
||||||
|
decimalPlacesFactor
|
||||||
|
) / decimalPlacesFactor,
|
||||||
|
slider.min * multiplierFactor,
|
||||||
|
slider.max * multiplierFactor,
|
||||||
|
slider.unit
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
row.appendChild(sliderCell);
|
||||||
|
|
||||||
|
this.advancedParametersTable.appendChild(row);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
existingSliders.forEach((row, index) => {
|
||||||
|
const slider = sliders[index];
|
||||||
|
const multiplierFactor = slider.visualMultiplier ?? 1;
|
||||||
|
const decimalPlacesFactor = 10 ** (slider.decimalPlaces ?? 0);
|
||||||
|
|
||||||
|
const value =
|
||||||
|
Math.round(
|
||||||
|
slider.outputValue *
|
||||||
|
multiplierFactor *
|
||||||
|
decimalPlacesFactor
|
||||||
|
) / decimalPlacesFactor;
|
||||||
|
|
||||||
|
const progressElement: HTMLDivElement = row.querySelector(
|
||||||
|
'.no-service .ntsh_progress'
|
||||||
|
);
|
||||||
|
setProgressState(
|
||||||
|
progressElement,
|
||||||
|
value,
|
||||||
|
slider.min * multiplierFactor,
|
||||||
|
slider.max * multiplierFactor,
|
||||||
|
slider.unit
|
||||||
|
);
|
||||||
|
|
||||||
|
const sliderElement: HTMLDivElement = row.querySelector(
|
||||||
|
'.only-service .ntsh_progress'
|
||||||
|
);
|
||||||
|
if (sliderElement.querySelector('.mux_resizer-moving') == null)
|
||||||
|
setProgressState(
|
||||||
|
sliderElement,
|
||||||
|
value,
|
||||||
|
slider.min * multiplierFactor,
|
||||||
|
slider.max * multiplierFactor,
|
||||||
|
slider.unit
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private renderParameterSensors(sensors: UnityParameters['sensors']) {
|
private renderParameterSensors(sensors: UnityParameters['sensors']) {
|
||||||
const existingSensors = this.sensorsTable.querySelectorAll(
|
const existingSensors = this.sensorsTable.querySelectorAll(
|
||||||
'.ntsh_dashboard-unity-sensor-row'
|
'.ntsh_dashboard-unity-sensor-row'
|
||||||
@@ -528,6 +683,7 @@ interface UnityParameters {
|
|||||||
zedFPS: string;
|
zedFPS: string;
|
||||||
outOfService: boolean;
|
outOfService: boolean;
|
||||||
sliders: UnityParameterSlider[];
|
sliders: UnityParameterSlider[];
|
||||||
|
advancedSliders: UnityParameterSlider[];
|
||||||
sensors: UnitySocketMessageHeartbeat['heartbeat']['dataSensors'];
|
sensors: UnitySocketMessageHeartbeat['heartbeat']['dataSensors'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import { CameraRunner } from './CameraRunner';
|
|||||||
import { UnityRunner } from './Unity/UnityRunner';
|
import { UnityRunner } from './Unity/UnityRunner';
|
||||||
import { UnityWebSocket } from './Unity/UnityWebSocket';
|
import { UnityWebSocket } from './Unity/UnityWebSocket';
|
||||||
import { TwilioHandler } from './Twilio';
|
import { TwilioHandler } from './Twilio';
|
||||||
|
import { delay } from './Utils';
|
||||||
|
|
||||||
export class Main {
|
export class Main {
|
||||||
dataPath = join(homedir(), 'MorphixProductions', 'NTSHControl');
|
dataPath = join(homedir(), 'MorphixProductions', 'NTSHControl');
|
||||||
@@ -65,6 +66,8 @@ export class Main {
|
|||||||
});
|
});
|
||||||
if (!succeed) return;
|
if (!succeed) return;
|
||||||
|
|
||||||
|
await delay(5000);
|
||||||
|
|
||||||
console.log('Starting UnityRunner...');
|
console.log('Starting UnityRunner...');
|
||||||
await this.UnityRunner.start();
|
await this.UnityRunner.start();
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ export class UnityWebSocket {
|
|||||||
zedFPS: '-',
|
zedFPS: '-',
|
||||||
outOfService: null,
|
outOfService: null,
|
||||||
sliders: [],
|
sliders: [],
|
||||||
|
advancedSliders: [],
|
||||||
sensors: [],
|
sensors: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -39,6 +40,13 @@ export class UnityWebSocket {
|
|||||||
this.setSliderValue(sliderIndex, percentage);
|
this.setSliderValue(sliderIndex, percentage);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'advancedParameterValue':
|
||||||
|
const advSliderIndex: number = args[0];
|
||||||
|
const advPercentage: number = args[1];
|
||||||
|
|
||||||
|
this.setAdvancedSliderValue(advSliderIndex, advPercentage);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'enableOutOfService':
|
case 'enableOutOfService':
|
||||||
const enableCallback: Function = args[0];
|
const enableCallback: Function = args[0];
|
||||||
if (typeof enableCallback !== 'function') return;
|
if (typeof enableCallback !== 'function') return;
|
||||||
@@ -87,6 +95,23 @@ export class UnityWebSocket {
|
|||||||
this.broadcastState();
|
this.broadcastState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setAdvancedSliderValue(sliderIndex: number, sliderValue: number) {
|
||||||
|
if (this.socket == null || this.socket.readyState !== WebSocket.OPEN)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this.socket.send(
|
||||||
|
JSON.stringify({
|
||||||
|
type: 'set_advanced_slider_value',
|
||||||
|
sliderIndex,
|
||||||
|
sliderValue,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
if (this.parameters.advancedSliders[sliderIndex] == undefined) return;
|
||||||
|
this.parameters.advancedSliders[sliderIndex].outputValue = sliderValue;
|
||||||
|
this.broadcastState();
|
||||||
|
}
|
||||||
|
|
||||||
setOutOfService(state: boolean) {
|
setOutOfService(state: boolean) {
|
||||||
if (this.socket == null || this.socket.readyState !== WebSocket.OPEN)
|
if (this.socket == null || this.socket.readyState !== WebSocket.OPEN)
|
||||||
return;
|
return;
|
||||||
@@ -159,6 +184,14 @@ export class UnityWebSocket {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
this.parameters.advancedSliders =
|
||||||
|
message.heartbeat.dataAdvancedSliders.map((slider) => {
|
||||||
|
return {
|
||||||
|
...slider,
|
||||||
|
decimalPlaces:
|
||||||
|
slider.min == 0 && slider.max == 1 ? 2 : null,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
this.broadcastState();
|
this.broadcastState();
|
||||||
break;
|
break;
|
||||||
@@ -312,6 +345,7 @@ interface UnityParameters {
|
|||||||
zedFPS: string;
|
zedFPS: string;
|
||||||
outOfService: boolean;
|
outOfService: boolean;
|
||||||
sliders: UnityParameterSlider[];
|
sliders: UnityParameterSlider[];
|
||||||
|
advancedSliders: UnityParameterSlider[];
|
||||||
sensors: UnitySocketMessageHeartbeat['heartbeat']['dataSensors'];
|
sensors: UnitySocketMessageHeartbeat['heartbeat']['dataSensors'];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -346,6 +380,14 @@ interface UnitySocketMessageHeartbeat extends UnitySocketMessageBase {
|
|||||||
max: number;
|
max: number;
|
||||||
unit: string;
|
unit: string;
|
||||||
}[];
|
}[];
|
||||||
|
dataAdvancedSliders: {
|
||||||
|
sliderIndex: number;
|
||||||
|
sliderName: string;
|
||||||
|
outputValue: number;
|
||||||
|
min: number;
|
||||||
|
max: number;
|
||||||
|
unit: string;
|
||||||
|
}[];
|
||||||
dataTimeline: {
|
dataTimeline: {
|
||||||
isStanding: boolean;
|
isStanding: boolean;
|
||||||
isWatching: boolean;
|
isWatching: boolean;
|
||||||
|
|||||||
Reference in New Issue
Block a user