From 2e2c237a269cf0c8ef3b033d5b77dba66a9e355b Mon Sep 17 00:00:00 2001 From: misyaguziya Date: Tue, 16 Apr 2024 10:21:55 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7[WIP/TEST]=20Model=20:=20VRChat?= =?UTF-8?q?=E3=81=A7MUTE=E3=81=AB=E3=81=97=E3=81=9F=E5=A0=B4=E5=90=88?= =?UTF-8?q?=E3=81=AB=E3=83=9E=E3=82=A4=E3=82=AF=E6=96=87=E5=AD=97=E8=B5=B7?= =?UTF-8?q?=E3=81=93=E3=81=97=E3=82=92=E3=81=97=E3=81=AA=E3=81=84=E6=A9=9F?= =?UTF-8?q?=E8=83=BD=E3=82=92=E5=AE=9F=E8=A3=85=EF=BC=88=E9=80=94=E4=B8=AD?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller.py | 21 +++++++++++++++++++ model.py | 57 +++++++++++++++++++++++++++------------------------ 2 files changed, 51 insertions(+), 27 deletions(-) diff --git a/controller.py b/controller.py index 054f0d6c..880d7708 100644 --- a/controller.py +++ b/controller.py @@ -910,6 +910,24 @@ def callbackSetEnableSendReceivedMessageToVrc(value): # ---------------------Speaker2Chatbox--------------------- +def createDictOSCReceiveParameters(): + osc_parameter_prefix = "/avatar/parameters/" + param_MuteSelf = "MuteSelf" + param_Voice = "Voice" + + def change_handler_muteself(address, osc_arguments): + config.VRCHAT_MUTESELF = osc_arguments + + def change_handler_voice(address, osc_arguments): + config.VRCHAT_MUTESELF = False + + dict_filter_and_target = { + osc_parameter_prefix + param_MuteSelf: change_handler_muteself, + osc_parameter_prefix + param_Voice: change_handler_voice, + } + return dict_filter_and_target + + # Advanced Settings Tab def callbackSetOscIpAddress(value): if value == "": @@ -975,6 +993,9 @@ def createMainWindow(splash): if config.ENABLE_LOGGER is True: model.startLogger() + # init OSC + model.startReceiveOSC(createDictOSCReceiveParameters()) + splash.toProgress(3) # Last one. # set UI and callback diff --git a/model.py b/model.py index 0f844182..9c6e2950 100644 --- a/model.py +++ b/model.py @@ -209,39 +209,42 @@ class Model: def oscSendMessage(message): sendMessage(message, config.OSC_IP_ADDRESS, config.OSC_PORT) - def checkOSCStarted(self, fnc): - self.is_valid_osc = False - def checkOscReceive(address, osc_arguments): - if self.is_valid_osc is False: - self.is_valid_osc = True + # def checkOSCStarted(self, fnc): + # self.is_valid_osc = False + # def checkOscReceive(address, osc_arguments): + # if self.is_valid_osc is False: + # self.is_valid_osc = True - self.listening_server = receiveOscParameters(checkOscReceive) - def oscListener(): - self.listening_server.serve_forever() + # self.listening_server = receiveOscParameters(checkOscReceive) + # def oscListener(): + # self.listening_server.serve_forever() - def sendTestActionLoop(): - for _ in range(10): - sendTestAction() - if self.is_valid_osc is True: - break - sleep(0.1) - self.listening_server.shutdown() + # def sendTestActionLoop(): + # for _ in range(10): + # sendTestAction() + # if self.is_valid_osc is True: + # break + # sleep(0.1) + # self.listening_server.shutdown() - # start receive osc - th_receive_osc_parameters = Thread(target=oscListener) - th_receive_osc_parameters.daemon = True - th_receive_osc_parameters.start() + # # start receive osc + # th_receive_osc_parameters = Thread(target=oscListener) + # th_receive_osc_parameters.daemon = True + # th_receive_osc_parameters.start() - # check osc started - th_send_osc_test_action = Thread(target=sendTestActionLoop) - th_send_osc_test_action.daemon = True - th_send_osc_test_action.start() + # # check osc started + # th_send_osc_test_action = Thread(target=sendTestActionLoop) + # th_send_osc_test_action.daemon = True + # th_send_osc_test_action.start() - th_receive_osc_parameters.join() - th_send_osc_test_action.join() + # th_receive_osc_parameters.join() + # th_send_osc_test_action.join() - if self.is_valid_osc is False: - fnc() + # if self.is_valid_osc is False: + # fnc() + + def startReceiveOSC(self, fnc): + self.listening_server = receiveOscParameters(fnc) @staticmethod def checkSoftwareUpdated():