[Update] Add feature, Send Only Translated Messages: 翻訳オン時、翻訳後のメッセージのみを送信する機能を追加。
This commit is contained in:
12
config.py
12
config.py
@@ -458,6 +458,17 @@ class Config:
|
|||||||
self._ENABLE_AUTO_CLEAR_MESSAGE_BOX = value
|
self._ENABLE_AUTO_CLEAR_MESSAGE_BOX = value
|
||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
|
@property
|
||||||
|
@json_serializable('ENABLE_SEND_ONLY_TRANSLATED_MESSAGES')
|
||||||
|
def ENABLE_SEND_ONLY_TRANSLATED_MESSAGES(self):
|
||||||
|
return self._ENABLE_SEND_ONLY_TRANSLATED_MESSAGES
|
||||||
|
|
||||||
|
@ENABLE_SEND_ONLY_TRANSLATED_MESSAGES.setter
|
||||||
|
def ENABLE_SEND_ONLY_TRANSLATED_MESSAGES(self, value):
|
||||||
|
if isinstance(value, bool):
|
||||||
|
self._ENABLE_SEND_ONLY_TRANSLATED_MESSAGES = value
|
||||||
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@json_serializable('ENABLE_NOTICE_XSOVERLAY')
|
@json_serializable('ENABLE_NOTICE_XSOVERLAY')
|
||||||
def ENABLE_NOTICE_XSOVERLAY(self):
|
def ENABLE_NOTICE_XSOVERLAY(self):
|
||||||
@@ -655,6 +666,7 @@ class Config:
|
|||||||
self._RECEIVED_MESSAGE_FORMAT = "[message]"
|
self._RECEIVED_MESSAGE_FORMAT = "[message]"
|
||||||
self._RECEIVED_MESSAGE_FORMAT_WITH_T = "[message]([translation])"
|
self._RECEIVED_MESSAGE_FORMAT_WITH_T = "[message]([translation])"
|
||||||
self._ENABLE_AUTO_CLEAR_MESSAGE_BOX = True
|
self._ENABLE_AUTO_CLEAR_MESSAGE_BOX = True
|
||||||
|
self._ENABLE_SEND_ONLY_TRANSLATED_MESSAGES = False
|
||||||
self._ENABLE_NOTICE_XSOVERLAY = False
|
self._ENABLE_NOTICE_XSOVERLAY = False
|
||||||
self._ENABLE_SEND_MESSAGE_TO_VRC = True
|
self._ENABLE_SEND_MESSAGE_TO_VRC = True
|
||||||
self._ENABLE_SEND_RECEIVED_MESSAGE_TO_VRC = False # speaker2Chatbox
|
self._ENABLE_SEND_RECEIVED_MESSAGE_TO_VRC = False # speaker2Chatbox
|
||||||
|
|||||||
@@ -58,9 +58,16 @@ def sendMicMessage(message):
|
|||||||
|
|
||||||
if config.ENABLE_TRANSCRIPTION_SEND is True:
|
if config.ENABLE_TRANSCRIPTION_SEND is True:
|
||||||
if config.ENABLE_SEND_MESSAGE_TO_VRC is True:
|
if config.ENABLE_SEND_MESSAGE_TO_VRC is True:
|
||||||
|
if config.ENABLE_SEND_ONLY_TRANSLATED_MESSAGES is True:
|
||||||
|
if config.ENABLE_TRANSLATION is False:
|
||||||
|
osc_message = messageFormatter("SEND", "", message)
|
||||||
|
else:
|
||||||
|
osc_message = messageFormatter("SEND", "", translation)
|
||||||
|
else:
|
||||||
osc_message = messageFormatter("SEND", translation, message)
|
osc_message = messageFormatter("SEND", translation, message)
|
||||||
model.oscSendMessage(osc_message)
|
model.oscSendMessage(osc_message)
|
||||||
|
|
||||||
|
|
||||||
view.printToTextbox_SentMessage(message, translation)
|
view.printToTextbox_SentMessage(message, translation)
|
||||||
if config.ENABLE_LOGGER is True:
|
if config.ENABLE_LOGGER is True:
|
||||||
if len(translation) > 0:
|
if len(translation) > 0:
|
||||||
@@ -187,6 +194,12 @@ def sendChatMessage(message):
|
|||||||
|
|
||||||
# send OSC message
|
# send OSC message
|
||||||
if config.ENABLE_SEND_MESSAGE_TO_VRC is True:
|
if config.ENABLE_SEND_MESSAGE_TO_VRC is True:
|
||||||
|
if config.ENABLE_SEND_ONLY_TRANSLATED_MESSAGES is True:
|
||||||
|
if config.ENABLE_TRANSLATION is False:
|
||||||
|
osc_message = messageFormatter("SEND", "", message)
|
||||||
|
else:
|
||||||
|
osc_message = messageFormatter("SEND", "", translation)
|
||||||
|
else:
|
||||||
osc_message = messageFormatter("SEND", translation, message)
|
osc_message = messageFormatter("SEND", translation, message)
|
||||||
model.oscSendMessage(osc_message)
|
model.oscSendMessage(osc_message)
|
||||||
|
|
||||||
@@ -650,6 +663,10 @@ def callbackSetEnableAutoClearMessageBox(value):
|
|||||||
print("callbackSetEnableAutoClearMessageBox", value)
|
print("callbackSetEnableAutoClearMessageBox", value)
|
||||||
config.ENABLE_AUTO_CLEAR_MESSAGE_BOX = value
|
config.ENABLE_AUTO_CLEAR_MESSAGE_BOX = value
|
||||||
|
|
||||||
|
def callbackSetEnableSendOnlyTranslatedMessages(value):
|
||||||
|
print("callbackSetEnableSendOnlyTranslatedMessages", value)
|
||||||
|
config.ENABLE_SEND_ONLY_TRANSLATED_MESSAGES = value
|
||||||
|
|
||||||
def callbackSetEnableNoticeXsoverlay(value):
|
def callbackSetEnableNoticeXsoverlay(value):
|
||||||
print("callbackSetEnableNoticeXsoverlay", value)
|
print("callbackSetEnableNoticeXsoverlay", value)
|
||||||
config.ENABLE_NOTICE_XSOVERLAY = value
|
config.ENABLE_NOTICE_XSOVERLAY = value
|
||||||
@@ -856,6 +873,7 @@ def createMainWindow():
|
|||||||
|
|
||||||
# Others Tab
|
# Others Tab
|
||||||
"callback_set_enable_auto_clear_chatbox": callbackSetEnableAutoClearMessageBox,
|
"callback_set_enable_auto_clear_chatbox": callbackSetEnableAutoClearMessageBox,
|
||||||
|
"callback_set_send_only_translated_messages": callbackSetEnableSendOnlyTranslatedMessages,
|
||||||
"callback_set_enable_notice_xsoverlay": callbackSetEnableNoticeXsoverlay,
|
"callback_set_enable_notice_xsoverlay": callbackSetEnableNoticeXsoverlay,
|
||||||
"callback_set_enable_auto_export_message_logs": callbackSetEnableAutoExportMessageLogs,
|
"callback_set_enable_auto_export_message_logs": callbackSetEnableAutoExportMessageLogs,
|
||||||
"callback_set_enable_send_message_to_vrc": callbackSetEnableSendMessageToVrc,
|
"callback_set_enable_send_message_to_vrc": callbackSetEnableSendMessageToVrc,
|
||||||
|
|||||||
@@ -174,6 +174,9 @@ config_window:
|
|||||||
auto_clear_the_message_box:
|
auto_clear_the_message_box:
|
||||||
label: Auto Clear The Message Box
|
label: Auto Clear The Message Box
|
||||||
|
|
||||||
|
send_only_translated_messages:
|
||||||
|
label: Send Only Translated Messages
|
||||||
|
|
||||||
notice_xsoverlay:
|
notice_xsoverlay:
|
||||||
label: Notification XSOverlay (VR Only)
|
label: Notification XSOverlay (VR Only)
|
||||||
desc: Notify received messages by using XSOverlay's notification feature.
|
desc: Notify received messages by using XSOverlay's notification feature.
|
||||||
|
|||||||
@@ -167,9 +167,13 @@ config_window:
|
|||||||
desc: 文字起こしされた単語数の下限値で、この数値を超えた場合のみ結果をログに表示します。
|
desc: 文字起こしされた単語数の下限値で、この数値を超えた場合のみ結果をログに表示します。
|
||||||
error_message: 0以上の数値を設定できます。
|
error_message: 0以上の数値を設定できます。
|
||||||
|
|
||||||
|
|
||||||
auto_clear_the_message_box:
|
auto_clear_the_message_box:
|
||||||
label: 送信後はチャットボックスを空にする
|
label: 送信後はチャットボックスを空にする
|
||||||
|
|
||||||
|
send_only_translated_messages:
|
||||||
|
label: 翻訳後のメッセージのみ送信する
|
||||||
|
|
||||||
notice_xsoverlay:
|
notice_xsoverlay:
|
||||||
label: XSOverlayでの通知受け取り機能を有効 (VR限定)
|
label: XSOverlayでの通知受け取り機能を有効 (VR限定)
|
||||||
desc: 文字起こし(受信)されたメッセージをXSOverlayの機能を使って通知として受け取れます。
|
desc: 文字起こし(受信)されたメッセージをXSOverlayの機能を使って通知として受け取れます。
|
||||||
|
|||||||
6
view.py
6
view.py
@@ -334,6 +334,11 @@ class View():
|
|||||||
CALLBACK_SET_ENABLE_AUTO_CLEAR_MESSAGE_BOX=None,
|
CALLBACK_SET_ENABLE_AUTO_CLEAR_MESSAGE_BOX=None,
|
||||||
VAR_ENABLE_AUTO_CLEAR_MESSAGE_BOX=BooleanVar(value=config.ENABLE_AUTO_CLEAR_MESSAGE_BOX),
|
VAR_ENABLE_AUTO_CLEAR_MESSAGE_BOX=BooleanVar(value=config.ENABLE_AUTO_CLEAR_MESSAGE_BOX),
|
||||||
|
|
||||||
|
VAR_LABEL_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES=StringVar(value=i18n.t("config_window.send_only_translated_messages.label")),
|
||||||
|
VAR_DESC_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES=None,
|
||||||
|
CALLBACK_SET_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES=None,
|
||||||
|
VAR_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES=BooleanVar(value=config.ENABLE_SEND_ONLY_TRANSLATED_MESSAGES),
|
||||||
|
|
||||||
VAR_LABEL_ENABLE_NOTICE_XSOVERLAY=StringVar(value=i18n.t("config_window.notice_xsoverlay.label")),
|
VAR_LABEL_ENABLE_NOTICE_XSOVERLAY=StringVar(value=i18n.t("config_window.notice_xsoverlay.label")),
|
||||||
VAR_DESC_ENABLE_NOTICE_XSOVERLAY=StringVar(value=i18n.t("config_window.notice_xsoverlay.desc")),
|
VAR_DESC_ENABLE_NOTICE_XSOVERLAY=StringVar(value=i18n.t("config_window.notice_xsoverlay.desc")),
|
||||||
CALLBACK_SET_ENABLE_NOTICE_XSOVERLAY=None,
|
CALLBACK_SET_ENABLE_NOTICE_XSOVERLAY=None,
|
||||||
@@ -546,6 +551,7 @@ class View():
|
|||||||
|
|
||||||
# Others Tab
|
# Others Tab
|
||||||
self.view_variable.CALLBACK_SET_ENABLE_AUTO_CLEAR_MESSAGE_BOX = config_window_registers.get("callback_set_enable_auto_clear_chatbox", None)
|
self.view_variable.CALLBACK_SET_ENABLE_AUTO_CLEAR_MESSAGE_BOX = config_window_registers.get("callback_set_enable_auto_clear_chatbox", None)
|
||||||
|
self.view_variable.CALLBACK_SET_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES = config_window_registers.get("callback_set_send_only_translated_messages", None)
|
||||||
self.view_variable.CALLBACK_SET_ENABLE_NOTICE_XSOVERLAY = config_window_registers.get("callback_set_enable_notice_xsoverlay", None)
|
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_AUTO_EXPORT_MESSAGE_LOGS = config_window_registers.get("callback_set_enable_auto_export_message_logs", None)
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,9 @@ def createSettingBox_Others(setting_box_wrapper, config_window, settings, view_v
|
|||||||
def checkbox_auto_clear_message_box_callback(checkbox_box_widget):
|
def checkbox_auto_clear_message_box_callback(checkbox_box_widget):
|
||||||
callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_AUTO_CLEAR_MESSAGE_BOX, checkbox_box_widget.get())
|
callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_AUTO_CLEAR_MESSAGE_BOX, checkbox_box_widget.get())
|
||||||
|
|
||||||
|
def checkbox_send_only_translated_messages_callback(checkbox_box_widget):
|
||||||
|
callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES, checkbox_box_widget.get())
|
||||||
|
|
||||||
def checkbox_notice_xsoverlay_callback(checkbox_box_widget):
|
def checkbox_notice_xsoverlay_callback(checkbox_box_widget):
|
||||||
callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_NOTICE_XSOVERLAY, checkbox_box_widget.get())
|
callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_NOTICE_XSOVERLAY, checkbox_box_widget.get())
|
||||||
|
|
||||||
@@ -41,6 +44,16 @@ def createSettingBox_Others(setting_box_wrapper, config_window, settings, view_v
|
|||||||
config_window.sb__auto_clear_message_box.grid(row=row)
|
config_window.sb__auto_clear_message_box.grid(row=row)
|
||||||
row+=1
|
row+=1
|
||||||
|
|
||||||
|
config_window.sb__send_only_translated_messages = createSettingBoxCheckbox(
|
||||||
|
for_var_label_text=view_variable.VAR_LABEL_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES,
|
||||||
|
for_var_desc_text=view_variable.VAR_DESC_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES,
|
||||||
|
checkbox_attr_name="sb__checkbox_send_only_translated_messages",
|
||||||
|
command=lambda: checkbox_send_only_translated_messages_callback(config_window.sb__checkbox_send_only_translated_messages),
|
||||||
|
variable=view_variable.VAR_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES,
|
||||||
|
)
|
||||||
|
config_window.sb__send_only_translated_messages.grid(row=row)
|
||||||
|
row+=1
|
||||||
|
|
||||||
|
|
||||||
config_window.sb__notice_xsoverlay = createSettingBoxCheckbox(
|
config_window.sb__notice_xsoverlay = createSettingBoxCheckbox(
|
||||||
for_var_label_text=view_variable.VAR_LABEL_ENABLE_NOTICE_XSOVERLAY,
|
for_var_label_text=view_variable.VAR_LABEL_ENABLE_NOTICE_XSOVERLAY,
|
||||||
|
|||||||
Reference in New Issue
Block a user