Consolidated all logic into category-specific files. Renamed useTranslation from react-i18next to useI18n to avoid a name conflict with our own function.
119 lines
3.5 KiB
JavaScript
119 lines
3.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 } = 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);
|
|
};
|
|
|
|
// OSC Port
|
|
const getOscPort = () => {
|
|
pendingOscPort();
|
|
asyncStdoutToPython("/get/data/osc_port");
|
|
};
|
|
|
|
const setOscPort = (osc_port) => {
|
|
pendingOscPort();
|
|
asyncStdoutToPython("/set/data/osc_port", osc_port);
|
|
};
|
|
|
|
const saveErrorOscPort = ({data, message, _result}) => {
|
|
updateOscPort(d => d.data);
|
|
showNotification_Error(_result);
|
|
};
|
|
|
|
// WebSocket
|
|
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 getWebsocketHost = () => {
|
|
pendingWebsocketHost();
|
|
asyncStdoutToPython("/get/data/websocket_host");
|
|
};
|
|
|
|
const setWebsocketHost = (websocket_host) => {
|
|
pendingWebsocketHost();
|
|
asyncStdoutToPython("/set/data/websocket_host", websocket_host);
|
|
};
|
|
|
|
|
|
const getWebsocketPort = () => {
|
|
pendingWebsocketPort();
|
|
asyncStdoutToPython("/get/data/websocket_port");
|
|
};
|
|
|
|
const setWebsocketPort = (websocket_port) => {
|
|
pendingWebsocketPort();
|
|
asyncStdoutToPython("/set/data/websocket_port", websocket_port);
|
|
};
|
|
|
|
|
|
return {
|
|
// OSC IP Address
|
|
currentOscIpAddress,
|
|
getOscIpAddress,
|
|
updateOscIpAddress,
|
|
setOscIpAddress,
|
|
|
|
// OSC Port
|
|
currentOscPort,
|
|
getOscPort,
|
|
updateOscPort,
|
|
setOscPort,
|
|
saveErrorOscPort,
|
|
|
|
// WebSocket
|
|
currentEnableWebsocket,
|
|
updateEnableWebsocket,
|
|
getEnableWebsocket,
|
|
toggleEnableWebsocket,
|
|
|
|
currentWebsocketHost,
|
|
updateWebsocketHost,
|
|
getWebsocketHost,
|
|
setWebsocketHost,
|
|
|
|
currentWebsocketPort,
|
|
updateWebsocketPort,
|
|
getWebsocketPort,
|
|
setWebsocketPort,
|
|
};
|
|
}; |