Implemented sound and lighting sliders

This commit is contained in:
2026-03-13 17:19:53 +01:00
parent 1ce7dfa057
commit 4e9651b08b
23 changed files with 461 additions and 34 deletions

View File

@@ -51,6 +51,8 @@ exports.CameraUnityStateColors = exports.UnityWebSocket = void 0;
var ws_1 = require("ws");
var Utils_1 = require("../Utils");
var Status_1 = require("../Status");
var path_1 = require("path");
var fs_extra_1 = require("fs-extra");
var PREFIX = '[Unity]';
var UnityWebSocket = /** @class */ (function () {
function UnityWebSocket(Main) {
@@ -67,6 +69,8 @@ var UnityWebSocket = /** @class */ (function () {
outOfService: null,
sliders: [],
advancedSliders: [],
dataSliders: [],
dataAdvancedSliders: [],
sensors: [],
};
this.disconnected = false;
@@ -90,6 +94,16 @@ var UnityWebSocket = /** @class */ (function () {
var advPercentage = args[1];
this.setAdvancedSliderValue(advSliderIndex, advPercentage);
break;
case 'dataParameterValue':
var dataSliderIndex = args[0];
var dataPercentage = args[1];
this.setDataSliderValue(dataSliderIndex, dataPercentage);
break;
case 'dataAdvancedParameterValue':
var dataAdvSliderIndex = args[0];
var dataAdvPercentage = args[1];
this.setDataAdvancedSliderValue(dataAdvSliderIndex, dataAdvPercentage);
break;
case 'enableOutOfService':
var enableCallback = args[0];
if (typeof enableCallback !== 'function')
@@ -126,6 +140,33 @@ var UnityWebSocket = /** @class */ (function () {
this.parameters.sliders[sliderIndex].outputValue = sliderValue;
this.broadcastState();
};
UnityWebSocket.prototype.setDataSliderValue = function (sliderIndex, sliderValue) {
if (this.socket == null || this.socket.readyState !== ws_1.WebSocket.OPEN)
return;
this.socket.send(JSON.stringify({
type: 'set_data_value',
sliderIndex: sliderIndex,
sliderValue: sliderValue,
}));
if (this.parameters.dataSliders[sliderIndex] == undefined)
return;
this.parameters.dataSliders[sliderIndex].outputValue = sliderValue;
this.broadcastState();
};
UnityWebSocket.prototype.setDataAdvancedSliderValue = function (sliderIndex, sliderValue) {
if (this.socket == null || this.socket.readyState !== ws_1.WebSocket.OPEN)
return;
this.socket.send(JSON.stringify({
type: 'set_data_advanced_value',
sliderIndex: sliderIndex,
sliderValue: sliderValue,
}));
if (this.parameters.dataAdvancedSliders[sliderIndex] == undefined)
return;
this.parameters.dataAdvancedSliders[sliderIndex].outputValue =
sliderValue;
this.broadcastState();
};
UnityWebSocket.prototype.setAdvancedSliderValue = function (sliderIndex, sliderValue) {
if (this.socket == null || this.socket.readyState !== ws_1.WebSocket.OPEN)
return;
@@ -194,13 +235,7 @@ var UnityWebSocket = /** @class */ (function () {
catch (error) {
return;
}
// writeFileSync(
// join(
// this._Main.dataPath,
// `tempdebug-${message.type}-${new Date().getTime()}.json`,
// ),
// JSON.stringify(message, null, 4),
// );
(0, fs_extra_1.writeFileSync)((0, path_1.join)(this._Main.dataPath, "tempdebug-".concat(message.type, "-").concat(new Date().getTime(), ".json")), JSON.stringify(message, null, 4));
switch (message.type) {
case 'heartbeat_data':
this.parameters.timelineWatching =

File diff suppressed because one or more lines are too long