Fixed advanced sliders
This commit is contained in:
@@ -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,
|
||||
);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user