🚧[WIP/TEST] Model : VRChatでMUTEにした場合にマイク文字起こしをしない機能を実装(途中)

This commit is contained in:
misyaguziya
2024-04-16 10:21:55 +09:00
parent 0a80ba4e0d
commit 2e2c237a26
2 changed files with 51 additions and 27 deletions

View File

@@ -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

View File

@@ -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():