From cc7e21a6095751f6f828a4b7a1b73c599e6c5c38 Mon Sep 17 00:00:00 2001 From: Sakamoto Shiina <68018796+ShiinaSakamoto@users.noreply.github.com> Date: Wed, 1 May 2024 20:05:33 +0900 Subject: [PATCH] [Update] Config Window: Add switch function. VRChat Mic Mute Sync. --- controller.py | 5 +++++ locales/en.yml | 4 ++++ locales/ja.yml | 5 +++++ view.py | 7 +++++++ .../setting_box_others/createSettingBox_Others.py | 14 ++++++++++++++ 5 files changed, 35 insertions(+) diff --git a/controller.py b/controller.py index a5a4dbda..455cbfb7 100644 --- a/controller.py +++ b/controller.py @@ -855,6 +855,10 @@ def callbackSetEnableAutoExportMessageLogs(value): else: model.stopLogger() +def callbackSetEnableVrcMicMuteSync(value): + print("callbackSetEnableVrcMicMuteSync", value) + config.ENABLE_MUTE_DETECT = value + def callbackSetEnableSendMessageToVrc(value): print("callbackSetEnableSendMessageToVrc", value) config.ENABLE_SEND_MESSAGE_TO_VRC = value @@ -1103,6 +1107,7 @@ def createMainWindow(splash): "callback_set_send_message_button_type": callbackSetSendMessageButtonType, "callback_set_enable_notice_xsoverlay": callbackSetEnableNoticeXsoverlay, "callback_set_enable_auto_export_message_logs": callbackSetEnableAutoExportMessageLogs, + "callback_set_enable_vrc_mic_mute_sync": callbackSetEnableVrcMicMuteSync, "callback_set_enable_send_message_to_vrc": callbackSetEnableSendMessageToVrc, # Others(Message Formats(Send) "callback_set_send_message_format": callbackSetSendMessageFormat, diff --git a/locales/en.yml b/locales/en.yml index 8199c81d..48c861e1 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -224,6 +224,10 @@ config_window: label: Auto Export Message Logs desc: Automatically export the conversation messages as a text file. + vrc_mic_mute_sync: + label: VRChat Mic Mute Sync + desc: VRCT will not send the message to VRChat while VRChat's mic is muted. + send_message_to_vrc: label: Send Message To VRChat desc: There is a way to use it without sending messages to VRChat, but it is not supported. Enable this feature when you intend to send a message to VRChat. diff --git a/locales/ja.yml b/locales/ja.yml index 2c0fd2be..009d68f1 100644 --- a/locales/ja.yml +++ b/locales/ja.yml @@ -224,6 +224,11 @@ config_window: label: 会話ログを自動的に保存する desc: テキストファイルとしてログがlogsフォルダ内に保存されます。 + vrc_mic_mute_sync: + label: VRChatマイクミュート同期機能 + desc: VRChatのマイクがミュートされている間は、メッセージをVRChatに送信しません。 + + send_message_to_vrc: label: VRChatにメッセージを送信する desc: "サポート対象外ですが、VRChatにメッセージを送信せずに使う方法があります。送信したい場合、この機能を有効にする事を忘れないでください。" diff --git a/view.py b/view.py index a7466fa8..56858a4f 100644 --- a/view.py +++ b/view.py @@ -446,6 +446,12 @@ class View(): VAR_ENABLE_AUTO_EXPORT_MESSAGE_LOGS=BooleanVar(value=config.ENABLE_LOGGER), + VAR_LABEL_ENABLE_VRC_MIC_MUTE_SYNC=StringVar(value=i18n.t("config_window.vrc_mic_mute_sync.label")), + VAR_DESC_ENABLE_VRC_MIC_MUTE_SYNC=StringVar(value=i18n.t("config_window.vrc_mic_mute_sync.desc")), + CALLBACK_SET_ENABLE_VRC_MIC_MUTE_SYNC=None, + VAR_ENABLE_VRC_MIC_MUTE_SYNC=BooleanVar(value=config.ENABLE_MUTE_DETECT), + + VAR_LABEL_ENABLE_SEND_MESSAGE_TO_VRC=StringVar(value=i18n.t("config_window.send_message_to_vrc.label")), VAR_DESC_ENABLE_SEND_MESSAGE_TO_VRC=StringVar(value=i18n.t("config_window.send_message_to_vrc.desc")), CALLBACK_SET_ENABLE_SEND_MESSAGE_TO_VRC=None, @@ -684,6 +690,7 @@ class View(): self.view_variable.CALLBACK_SET_ENABLE_NOTICE_XSOVERLAY=config_window_registers.get("callback_set_enable_notice_xsoverlay", None) self.view_variable.CALLBACK_SET_ENABLE_AUTO_EXPORT_MESSAGE_LOGS=config_window_registers.get("callback_set_enable_auto_export_message_logs", None) + self.view_variable.CALLBACK_SET_ENABLE_VRC_MIC_MUTE_SYNC=config_window_registers.get("callback_set_enable_vrc_mic_mute_sync", None) self.view_variable.CALLBACK_SET_ENABLE_SEND_MESSAGE_TO_VRC=config_window_registers.get("callback_set_enable_send_message_to_vrc", None) self.view_variable.CALLBACK_SET_SEND_MESSAGE_FORMAT=config_window_registers.get("callback_set_send_message_format", None) diff --git a/vrct_gui/config_window/widgets/createSideMenuAndSettingsBoxContainers/setting_box_containers/setting_box_others/createSettingBox_Others.py b/vrct_gui/config_window/widgets/createSideMenuAndSettingsBoxContainers/setting_box_containers/setting_box_others/createSettingBox_Others.py index b32116fe..4348c2db 100644 --- a/vrct_gui/config_window/widgets/createSideMenuAndSettingsBoxContainers/setting_box_containers/setting_box_others/createSettingBox_Others.py +++ b/vrct_gui/config_window/widgets/createSideMenuAndSettingsBoxContainers/setting_box_containers/setting_box_others/createSettingBox_Others.py @@ -27,6 +27,9 @@ def createSettingBox_Others(setting_box_wrapper, config_window, settings, view_v def buttonAutoExportMessageLogsCallback(): callFunctionIfCallable(view_variable.CALLBACK_OPEN_FILEPATH_LOGS) + def checkboxVrcMuteSyncCallback(checkbox_box_widget): + callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_VRC_MIC_MUTE_SYNC, checkbox_box_widget.get()) + def checkboxEnableSendMessageToVrcCallback(checkbox_box_widget): callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_SEND_MESSAGE_TO_VRC, checkbox_box_widget.get()) @@ -86,6 +89,17 @@ def createSettingBox_Others(setting_box_wrapper, config_window, settings, view_v row+=1 + config_window.sb__vrc_mic_mute_sync = createSettingBoxCheckbox( + for_var_label_text=view_variable.VAR_LABEL_ENABLE_VRC_MIC_MUTE_SYNC, + for_var_desc_text=view_variable.VAR_DESC_ENABLE_VRC_MIC_MUTE_SYNC, + checkbox_attr_name="sb__checkbox_vrc_mic_mute_sync", + command=lambda: checkboxVrcMuteSyncCallback(config_window.sb__checkbox_vrc_mic_mute_sync), + variable=view_variable.VAR_ENABLE_VRC_MIC_MUTE_SYNC, + ) + config_window.sb__vrc_mic_mute_sync.grid(row=row) + row+=1 + + config_window.sb__enable_send_message_to_vrc = createSettingBoxCheckbox( for_var_label_text=view_variable.VAR_LABEL_ENABLE_SEND_MESSAGE_TO_VRC, for_var_desc_text=view_variable.VAR_DESC_ENABLE_SEND_MESSAGE_TO_VRC,