[Update] controller.py: Refactor OSC IP address handling and improve VRC mic mute sync logic
This commit is contained in:
@@ -1137,8 +1137,7 @@ class Controller:
|
|||||||
def getOscIpAddress(*args, **kwargs) -> dict:
|
def getOscIpAddress(*args, **kwargs) -> dict:
|
||||||
return {"status":200, "result":config.OSC_IP_ADDRESS}
|
return {"status":200, "result":config.OSC_IP_ADDRESS}
|
||||||
|
|
||||||
@staticmethod
|
def setOscIpAddress(self, data, *args, **kwargs) -> dict:
|
||||||
def setOscIpAddress(data, *args, **kwargs) -> dict:
|
|
||||||
if isValidIpAddress(data) is False:
|
if isValidIpAddress(data) is False:
|
||||||
response = {
|
response = {
|
||||||
"status":400,
|
"status":400,
|
||||||
@@ -1151,6 +1150,11 @@ class Controller:
|
|||||||
try:
|
try:
|
||||||
model.setOscIpAddress(data)
|
model.setOscIpAddress(data)
|
||||||
config.OSC_IP_ADDRESS = data
|
config.OSC_IP_ADDRESS = data
|
||||||
|
if model.getIsOscQueryEnabled() is True:
|
||||||
|
self.enableOscQuery()
|
||||||
|
else:
|
||||||
|
self.setDisableVrcMicMuteSync()
|
||||||
|
self.disableOscQuery()
|
||||||
response = {"status":200, "result":config.OSC_IP_ADDRESS}
|
response = {"status":200, "result":config.OSC_IP_ADDRESS}
|
||||||
except Exception:
|
except Exception:
|
||||||
model.setOscIpAddress(config.OSC_IP_ADDRESS)
|
model.setOscIpAddress(config.OSC_IP_ADDRESS)
|
||||||
@@ -1426,13 +1430,20 @@ class Controller:
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def setEnableVrcMicMuteSync(*args, **kwargs) -> dict:
|
def setEnableVrcMicMuteSync(*args, **kwargs) -> dict:
|
||||||
if model.getIsOscQueryEnabled() is False:
|
if model.getIsOscQueryEnabled() is True:
|
||||||
config.VRC_MIC_MUTE_SYNC = True
|
config.VRC_MIC_MUTE_SYNC = True
|
||||||
model.setMuteSelfStatus()
|
model.setMuteSelfStatus()
|
||||||
model.changeMicTranscriptStatus()
|
model.changeMicTranscriptStatus()
|
||||||
|
response = {"status":200, "result":config.VRC_MIC_MUTE_SYNC}
|
||||||
else:
|
else:
|
||||||
config.VRC_MIC_MUTE_SYNC = False
|
response = {
|
||||||
return {"status":200, "result":config.VRC_MIC_MUTE_SYNC}
|
"status":400,
|
||||||
|
"result":{
|
||||||
|
"message":"Cannot enable VRC mic mute sync while OSC query is disabled",
|
||||||
|
"data": config.VRC_MIC_MUTE_SYNC
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return response
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def setDisableVrcMicMuteSync(*args, **kwargs) -> dict:
|
def setDisableVrcMicMuteSync(*args, **kwargs) -> dict:
|
||||||
@@ -1913,10 +1924,22 @@ class Controller:
|
|||||||
self.run(200, self.run_mapping["initialization_progress"], progress)
|
self.run(200, self.run_mapping["initialization_progress"], progress)
|
||||||
|
|
||||||
def enableOscQuery(self):
|
def enableOscQuery(self):
|
||||||
self.run(200, self.run_mapping["enable_osc_query"], True)
|
self.run(
|
||||||
|
200,
|
||||||
|
self.run_mapping["enable_osc_query"],
|
||||||
|
{
|
||||||
|
"data": True,
|
||||||
|
"disabled_functions": []
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
def disableOscQuery(self):
|
def disableOscQuery(self):
|
||||||
self.run(200, self.run_mapping["enable_osc_query"], False)
|
self.run(200, self.run_mapping["enable_osc_query"], {
|
||||||
|
"data": False,
|
||||||
|
"disabled_functions": [
|
||||||
|
"vrc_mic_mute_sync",
|
||||||
|
]
|
||||||
|
})
|
||||||
|
|
||||||
def init(self, *args, **kwargs) -> None:
|
def init(self, *args, **kwargs) -> None:
|
||||||
removeLog()
|
removeLog()
|
||||||
@@ -1999,6 +2022,8 @@ class Controller:
|
|||||||
if osc_query_enabled is True:
|
if osc_query_enabled is True:
|
||||||
self.enableOscQuery()
|
self.enableOscQuery()
|
||||||
else:
|
else:
|
||||||
|
# OSC Query is disabled, so disable VRC some features
|
||||||
|
config.VRC_MIC_MUTE_SYNC = False
|
||||||
self.disableOscQuery()
|
self.disableOscQuery()
|
||||||
|
|
||||||
if config.VRC_MIC_MUTE_SYNC is True:
|
if config.VRC_MIC_MUTE_SYNC is True:
|
||||||
|
|||||||
Reference in New Issue
Block a user