Implmeented some stuiff
This commit is contained in:
@@ -9,6 +9,7 @@ import { CameraRunner } from './CameraRunner';
|
||||
import { UnityRunner } from './Unity/UnityRunner';
|
||||
import { UnityWebSocket } from './Unity/UnityWebSocket';
|
||||
import { TwilioHandler } from './Twilio';
|
||||
import { delay } from './Utils';
|
||||
|
||||
export class Main {
|
||||
dataPath = join(homedir(), 'MorphixProductions', 'NTSHControl');
|
||||
@@ -65,6 +66,8 @@ export class Main {
|
||||
});
|
||||
if (!succeed) return;
|
||||
|
||||
await delay(5000);
|
||||
|
||||
console.log('Starting UnityRunner...');
|
||||
await this.UnityRunner.start();
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ export class UnityWebSocket {
|
||||
zedFPS: '-',
|
||||
outOfService: null,
|
||||
sliders: [],
|
||||
advancedSliders: [],
|
||||
sensors: [],
|
||||
};
|
||||
|
||||
@@ -39,6 +40,13 @@ export class UnityWebSocket {
|
||||
this.setSliderValue(sliderIndex, percentage);
|
||||
break;
|
||||
|
||||
case 'advancedParameterValue':
|
||||
const advSliderIndex: number = args[0];
|
||||
const advPercentage: number = args[1];
|
||||
|
||||
this.setAdvancedSliderValue(advSliderIndex, advPercentage);
|
||||
break;
|
||||
|
||||
case 'enableOutOfService':
|
||||
const enableCallback: Function = args[0];
|
||||
if (typeof enableCallback !== 'function') return;
|
||||
@@ -87,6 +95,23 @@ export class UnityWebSocket {
|
||||
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) {
|
||||
if (this.socket == null || this.socket.readyState !== WebSocket.OPEN)
|
||||
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();
|
||||
break;
|
||||
@@ -312,6 +345,7 @@ interface UnityParameters {
|
||||
zedFPS: string;
|
||||
outOfService: boolean;
|
||||
sliders: UnityParameterSlider[];
|
||||
advancedSliders: UnityParameterSlider[];
|
||||
sensors: UnitySocketMessageHeartbeat['heartbeat']['dataSensors'];
|
||||
}
|
||||
|
||||
@@ -346,6 +380,14 @@ interface UnitySocketMessageHeartbeat extends UnitySocketMessageBase {
|
||||
max: number;
|
||||
unit: string;
|
||||
}[];
|
||||
dataAdvancedSliders: {
|
||||
sliderIndex: number;
|
||||
sliderName: string;
|
||||
outputValue: number;
|
||||
min: number;
|
||||
max: number;
|
||||
unit: string;
|
||||
}[];
|
||||
dataTimeline: {
|
||||
isStanding: boolean;
|
||||
isWatching: boolean;
|
||||
|
||||
Reference in New Issue
Block a user