👍️[Update] Model : ミュート同期の処理を見直し

This commit is contained in:
misyaguziya
2024-11-04 22:44:01 +09:00
parent f79735f13c
commit 7350910c7b
3 changed files with 12 additions and 28 deletions

View File

@@ -97,7 +97,6 @@ class Model:
self.th_overlay = None self.th_overlay = None
self.mic_audio_queue = None self.mic_audio_queue = None
self.mic_mute_status = None self.mic_mute_status = None
self.mic_mute_status_check = None
self.kks = kakasi() self.kks = kakasi()
self.watchdog = Watchdog(config.WATCHDOG_TIMEOUT, config.WATCHDOG_INTERVAL) self.watchdog = Watchdog(config.WATCHDOG_TIMEOUT, config.WATCHDOG_INTERVAL)
self.osc_handler = OSCHandler(config.OSC_IP_ADDRESS, config.OSC_PORT) self.osc_handler = OSCHandler(config.OSC_IP_ADDRESS, config.OSC_PORT)
@@ -305,32 +304,18 @@ class Model:
def getMuteSelfStatus(self): def getMuteSelfStatus(self):
return self.osc_handler.getOSCParameterMuteSelf() return self.osc_handler.getOSCParameterMuteSelf()
def startCheckMuteSelfStatus(self): def setMuteSelfStatus(self):
def checkMuteSelfStatus(): self.mic_mute_status = self.getMuteSelfStatus()
status = self.getMuteSelfStatus()
if status is not None:
self.mic_mute_status = status
self.changeMicTranscriptStatus()
self.stopCheckMuteSelfStatus()
if not isinstance(self.mic_mute_status_check, threadFnc):
self.mic_mute_status_check = threadFnc(checkMuteSelfStatus)
self.mic_mute_status_check.daemon = True
self.mic_mute_status_check.start()
def stopCheckMuteSelfStatus(self):
if isinstance(self.mic_mute_status_check, threadFnc):
self.mic_mute_status_check.stop()
self.mic_mute_status_check = None
def startReceiveOSC(self): def startReceiveOSC(self):
def changeHandlerMute(address, osc_arguments): def changeHandlerMute(address, osc_arguments):
if osc_arguments is True and self.mic_mute_status is False: if config.ENABLE_TRANSCRIPTION_SEND is True:
self.mic_mute_status = osc_arguments if osc_arguments is True and self.mic_mute_status is False:
self.changeMicTranscriptStatus() self.mic_mute_status = osc_arguments
elif osc_arguments is False and self.mic_mute_status is True: self.changeMicTranscriptStatus()
self.mic_mute_status = osc_arguments elif osc_arguments is False and self.mic_mute_status is True:
self.changeMicTranscriptStatus() self.mic_mute_status = osc_arguments
self.changeMicTranscriptStatus()
dict_filter_and_target = { dict_filter_and_target = {
self.osc_handler.osc_parameter_muteself: changeHandlerMute, self.osc_handler.osc_parameter_muteself: changeHandlerMute,

View File

@@ -75,7 +75,7 @@ class OSCHandler:
self.osc_query_service.advertise_endpoint(filter, access=OSCAccess.READWRITE_VALUE) self.osc_query_service.advertise_endpoint(filter, access=OSCAccess.READWRITE_VALUE)
def oscServerServe(self) -> None: def oscServerServe(self) -> None:
self.osc_server.serve_forever(100) self.osc_server.serve_forever(2)
def oscServerStop(self) -> None: def oscServerStop(self) -> None:
if isinstance(self.osc_server, osc_server.ThreadingOSCUDPServer): if isinstance(self.osc_server, osc_server.ThreadingOSCUDPServer):

View File

@@ -1303,14 +1303,13 @@ class Controller:
@staticmethod @staticmethod
def setEnableVrcMicMuteSync(*args, **kwargs) -> dict: def setEnableVrcMicMuteSync(*args, **kwargs) -> dict:
config.VRC_MIC_MUTE_SYNC = True config.VRC_MIC_MUTE_SYNC = True
model.startCheckMuteSelfStatus() model.setMuteSelfStatus()
model.changeMicTranscriptStatus() model.changeMicTranscriptStatus()
return {"status":200, "result":config.VRC_MIC_MUTE_SYNC} return {"status":200, "result":config.VRC_MIC_MUTE_SYNC}
@staticmethod @staticmethod
def setDisableVrcMicMuteSync(*args, **kwargs) -> dict: def setDisableVrcMicMuteSync(*args, **kwargs) -> dict:
config.VRC_MIC_MUTE_SYNC = False config.VRC_MIC_MUTE_SYNC = False
model.stopCheckMuteSelfStatus()
model.changeMicTranscriptStatus() model.changeMicTranscriptStatus()
return {"status":200, "result":config.VRC_MIC_MUTE_SYNC} return {"status":200, "result":config.VRC_MIC_MUTE_SYNC}
@@ -1725,7 +1724,7 @@ class Controller:
printLog("Init OSC Receive") printLog("Init OSC Receive")
model.startReceiveOSC() model.startReceiveOSC()
if config.VRC_MIC_MUTE_SYNC is True: if config.VRC_MIC_MUTE_SYNC is True:
model.startCheckMuteSelfStatus() self.setEnableVrcMicMuteSync()
# init Auto device selection # init Auto device selection
device_manager.setCallbackHostList(self.updateMicHostList) device_manager.setCallbackHostList(self.updateMicHostList)