150 lines
4.5 KiB
JavaScript
150 lines
4.5 KiB
JavaScript
import {
|
|
useStore_OscIpAddress,
|
|
useStore_OscPort,
|
|
useStore_EnableWebsocket,
|
|
useStore_WebsocketHost,
|
|
useStore_WebsocketPort,
|
|
} from "@store";
|
|
import { useStdoutToPython } from "@useStdoutToPython";
|
|
import { useNotificationStatus } from "@logics_common";
|
|
|
|
export const useAdvancedSettings = () => {
|
|
const { asyncStdoutToPython } = useStdoutToPython();
|
|
const { showNotification_Error, showNotification_SaveSuccess } = useNotificationStatus();
|
|
|
|
// OSC IP Address
|
|
const { currentOscIpAddress, updateOscIpAddress, pendingOscIpAddress } = useStore_OscIpAddress();
|
|
// OSC Port
|
|
const { currentOscPort, updateOscPort, pendingOscPort } = useStore_OscPort();
|
|
// WebSocket
|
|
const { currentEnableWebsocket, updateEnableWebsocket, pendingEnableWebsocket } = useStore_EnableWebsocket();
|
|
const { currentWebsocketHost, updateWebsocketHost, pendingWebsocketHost } = useStore_WebsocketHost();
|
|
const { currentWebsocketPort, updateWebsocketPort, pendingWebsocketPort } = useStore_WebsocketPort();
|
|
|
|
// OSC IP Address
|
|
const getOscIpAddress = () => {
|
|
pendingOscIpAddress();
|
|
asyncStdoutToPython("/get/data/osc_ip_address");
|
|
};
|
|
|
|
const setOscIpAddress = (osc_ip_address) => {
|
|
pendingOscIpAddress();
|
|
asyncStdoutToPython("/set/data/osc_ip_address", osc_ip_address);
|
|
};
|
|
|
|
const setSuccessOscIpAddress = (osc_ip_address) => {
|
|
updateOscIpAddress(osc_ip_address);
|
|
showNotification_SaveSuccess();
|
|
};
|
|
|
|
// OSC Port
|
|
const getOscPort = () => {
|
|
pendingOscPort();
|
|
asyncStdoutToPython("/get/data/osc_port");
|
|
};
|
|
|
|
const setOscPort = (osc_port) => {
|
|
pendingOscPort();
|
|
asyncStdoutToPython("/set/data/osc_port", osc_port);
|
|
};
|
|
|
|
const setSuccessOscPort = (osc_port) => {
|
|
updateOscPort(osc_port);
|
|
showNotification_SaveSuccess();
|
|
};
|
|
|
|
const saveErrorOscPort = ({ data, message, _result }) => {
|
|
updateOscPort(d => d.data);
|
|
showNotification_Error(_result);
|
|
};
|
|
|
|
// WebSocket Enable
|
|
const getEnableWebsocket = () => {
|
|
pendingEnableWebsocket();
|
|
asyncStdoutToPython("/get/data/websocket_server");
|
|
};
|
|
|
|
const toggleEnableWebsocket = () => {
|
|
pendingEnableWebsocket();
|
|
if (currentEnableWebsocket.data) {
|
|
asyncStdoutToPython("/set/disable/websocket_server");
|
|
} else {
|
|
asyncStdoutToPython("/set/enable/websocket_server");
|
|
}
|
|
};
|
|
|
|
const setSuccessEnableWebsocket = (is_enabled) => {
|
|
updateEnableWebsocket(is_enabled);
|
|
showNotification_SaveSuccess();
|
|
};
|
|
|
|
// WebSocket Host
|
|
const getWebsocketHost = () => {
|
|
pendingWebsocketHost();
|
|
asyncStdoutToPython("/get/data/websocket_host");
|
|
};
|
|
|
|
const setWebsocketHost = (websocket_host) => {
|
|
pendingWebsocketHost();
|
|
asyncStdoutToPython("/set/data/websocket_host", websocket_host);
|
|
};
|
|
|
|
const setSuccessWebsocketHost = (websocket_host) => {
|
|
updateWebsocketHost(websocket_host);
|
|
showNotification_SaveSuccess();
|
|
};
|
|
|
|
// WebSocket Port
|
|
const getWebsocketPort = () => {
|
|
pendingWebsocketPort();
|
|
asyncStdoutToPython("/get/data/websocket_port");
|
|
};
|
|
|
|
const setWebsocketPort = (websocket_port) => {
|
|
pendingWebsocketPort();
|
|
asyncStdoutToPython("/set/data/websocket_port", websocket_port);
|
|
};
|
|
|
|
const setSuccessWebsocketPort = (websocket_port) => {
|
|
updateWebsocketPort(websocket_port);
|
|
showNotification_SaveSuccess();
|
|
};
|
|
|
|
return {
|
|
// OSC IP Address
|
|
currentOscIpAddress,
|
|
getOscIpAddress,
|
|
updateOscIpAddress,
|
|
setOscIpAddress,
|
|
setSuccessOscIpAddress,
|
|
|
|
// OSC Port
|
|
currentOscPort,
|
|
getOscPort,
|
|
updateOscPort,
|
|
setOscPort,
|
|
setSuccessOscPort,
|
|
saveErrorOscPort,
|
|
|
|
// WebSocket Enable
|
|
currentEnableWebsocket,
|
|
getEnableWebsocket,
|
|
updateEnableWebsocket,
|
|
toggleEnableWebsocket,
|
|
setSuccessEnableWebsocket,
|
|
|
|
// WebSocket Host
|
|
currentWebsocketHost,
|
|
getWebsocketHost,
|
|
updateWebsocketHost,
|
|
setWebsocketHost,
|
|
setSuccessWebsocketHost,
|
|
|
|
// WebSocket Port
|
|
currentWebsocketPort,
|
|
getWebsocketPort,
|
|
updateWebsocketPort,
|
|
setWebsocketPort,
|
|
setSuccessWebsocketPort,
|
|
};
|
|
}; |