Fixed advanced sliders

This commit is contained in:
2026-03-15 21:31:01 +01:00
parent 7686341107
commit 43544ea6d5
40 changed files with 374 additions and 298 deletions

View File

@@ -29,10 +29,10 @@ export class Calibration {
entries.forEach((entry) => {
if (entry.isIntersecting) {
this.visible = true;
console.log('Calibration visible');
// console.log('Calibration visible');
} else {
this.visible = false;
console.log('Calibration not visible');
// console.log('Calibration not visible');
}
});
});

View File

@@ -3,6 +3,9 @@ import { Main, UnityWebSocketStatus } from './main';
export class Lighting {
private _Main: Main;
autoLightingInput: HTMLInputElement = document.querySelector(
'.ntsh-autolighting input',
);
gainInput: HTMLInputElement = document.querySelector(
'.ntsh_lightingsettings-gain',
);
@@ -20,30 +23,34 @@ export class Lighting {
}
update(state: UnityWebSocketStatus) {
if (state?.parameters?.dataAdvancedSliders == null) return;
if (state?.parameters?.advancedSliders == null) return;
const gainSliderIndex = state.parameters?.dataAdvancedSliders.findIndex(
const autoExposureIndex = state.parameters?.advancedSliders.findIndex(
(slider) => slider.sliderName === 'AutoExposure',
);
const autoExposureSlider =
state.parameters?.advancedSliders[autoExposureIndex ?? -1];
const gainSliderIndex = state.parameters?.advancedSliders.findIndex(
(slider) => slider.sliderName === 'Gain',
);
const gainSlider =
state.parameters?.dataAdvancedSliders[gainSliderIndex ?? -1];
state.parameters?.advancedSliders[gainSliderIndex ?? -1];
const exposureSliderIndex =
state.parameters?.dataAdvancedSliders.findIndex(
(slider) => slider.sliderName === 'Exposure',
);
const exposureSliderIndex = state.parameters?.advancedSliders.findIndex(
(slider) => slider.sliderName === 'Exposure',
);
const exposureSlider =
state.parameters?.dataAdvancedSliders[exposureSliderIndex ?? -1];
state.parameters?.advancedSliders[exposureSliderIndex ?? -1];
const whiteBalanceSliderIndex =
state.parameters?.dataAdvancedSliders.findIndex(
(slider) => slider.sliderName === 'WhiteBalance',
state.parameters?.advancedSliders.findIndex(
(slider) => slider.sliderName === 'Whitebalance',
);
const whiteBalanceSlider =
state.parameters?.dataAdvancedSliders[
whiteBalanceSliderIndex ?? -1
];
state.parameters?.advancedSliders[whiteBalanceSliderIndex ?? -1];
this.autoLightingInput.checked = autoExposureSlider?.outputValue === 1;
this.gainInput.valueAsNumber =
gainSlider?.outputValue ?? this.gainInput.valueAsNumber;
this.exposureInput.valueAsNumber =
@@ -52,6 +59,10 @@ export class Lighting {
whiteBalanceSlider?.outputValue ??
this.whiteBalanceInput.valueAsNumber;
this.autoLightingInput.setAttribute(
'index',
autoExposureIndex?.toString() ?? '-1',
);
this.gainInput.setAttribute(
'index',
gainSliderIndex?.toString() ?? '-1',
@@ -67,13 +78,40 @@ export class Lighting {
}
private registerListeners() {
this.autoLightingInput.onchange = () => {
this._Main.socket.emit(
'unityWebSocket',
'advancedParameterValue',
parseInt(this.autoLightingInput.getAttribute('index') ?? '-1'),
this.autoLightingInput.checked ? 1 : 0,
);
};
this.gainInput.onchange = () => {
this._Main.socket.emit(
'unityWebSocket',
'dataAdvancedParameterValue',
'advancedParameterValue',
parseInt(this.gainInput.getAttribute('index') ?? '-1'),
this.gainInput.valueAsNumber,
);
};
this.exposureInput.onchange = () => {
this._Main.socket.emit(
'unityWebSocket',
'advancedParameterValue',
parseInt(this.exposureInput.getAttribute('index') ?? '-1'),
this.exposureInput.valueAsNumber,
);
};
this.whiteBalanceInput.onchange = () => {
this._Main.socket.emit(
'unityWebSocket',
'advancedParameterValue',
parseInt(this.whiteBalanceInput.getAttribute('index') ?? '-1'),
this.whiteBalanceInput.valueAsNumber,
);
};
}
}

View File

@@ -140,8 +140,8 @@ interface UnityParameters {
outOfService: boolean;
sliders: UnityParameterSlider[];
advancedSliders: UnityParameterSlider[];
dataSliders: UnityParameterSlider[];
dataAdvancedSliders: UnityParameterSlider[];
// dataSliders: UnityParameterSlider[];
// dataAdvancedSliders: UnityParameterSlider[];
sensors: UnitySocketMessageHeartbeat['heartbeat']['dataSensors'];
}

View File

@@ -23,31 +23,27 @@ export class Sound {
}
update(state: UnityWebSocketStatus) {
if (state?.parameters?.dataSliders == null) return;
if (state?.parameters?.sliders == null) return;
const volumeSliderIndex = state.parameters?.dataSliders.findIndex(
const volumeSliderIndex = state.parameters?.sliders.findIndex(
(slider) => slider.sliderName === 'Volume',
);
const volumeSlider =
state.parameters?.dataSliders[volumeSliderIndex ?? -1];
const volumeSlider = state.parameters?.sliders[volumeSliderIndex ?? -1];
const eqLowSliderIndex = state.parameters?.dataSliders.findIndex(
const eqLowSliderIndex = state.parameters?.sliders.findIndex(
(slider) => slider.sliderName === 'EQ_Low',
);
const eqLowSlider =
state.parameters?.dataSliders[eqLowSliderIndex ?? -1];
const eqLowSlider = state.parameters?.sliders[eqLowSliderIndex ?? -1];
const eqMidSliderIndex = state.parameters?.dataSliders.findIndex(
const eqMidSliderIndex = state.parameters?.sliders.findIndex(
(slider) => slider.sliderName === 'EQ_Mid',
);
const eqMidSlider =
state.parameters?.dataSliders[eqMidSliderIndex ?? -1];
const eqMidSlider = state.parameters?.sliders[eqMidSliderIndex ?? -1];
const eqHighSliderIndex = state.parameters?.dataSliders.findIndex(
const eqHighSliderIndex = state.parameters?.sliders.findIndex(
(slider) => slider.sliderName === 'EQ_High',
);
const eqHighSlider =
state.parameters?.dataSliders[eqHighSliderIndex ?? -1];
const eqHighSlider = state.parameters?.sliders[eqHighSliderIndex ?? -1];
this.volumeInput.valueAsNumber =
volumeSlider?.outputValue ?? this.volumeInput.valueAsNumber;
@@ -80,7 +76,7 @@ export class Sound {
this.volumeInput.onchange = () => {
this._Main.socket.emit(
'unityWebSocket',
'dataParameterValue',
'parameterValue',
parseInt(this.volumeInput.getAttribute('index') ?? '-1'),
this.volumeInput.valueAsNumber,
);
@@ -89,7 +85,7 @@ export class Sound {
this.eqLowInput.onchange = () => {
this._Main.socket.emit(
'unityWebSocket',
'dataParameterValue',
'parameterValue',
parseInt(this.eqLowInput.getAttribute('index') ?? '-1'),
this.eqLowInput.valueAsNumber,
);
@@ -98,7 +94,7 @@ export class Sound {
this.eqMidInput.onchange = () => {
this._Main.socket.emit(
'unityWebSocket',
'dataParameterValue',
'parameterValue',
parseInt(this.eqMidInput.getAttribute('index') ?? '-1'),
this.eqMidInput.valueAsNumber,
);
@@ -107,7 +103,7 @@ export class Sound {
this.eqHighInput.onchange = () => {
this._Main.socket.emit(
'unityWebSocket',
'dataParameterValue',
'parameterValue',
parseInt(this.eqHighInput.getAttribute('index') ?? '-1'),
this.eqHighInput.valueAsNumber,
);