Add support for send_only_translated_messages_overlay to only send translation to XS-Overlay
This commit is contained in:
12
config.py
12
config.py
@@ -762,6 +762,17 @@ class Config:
|
||||
self._ENABLE_SEND_ONLY_TRANSLATED_MESSAGES = value
|
||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||
|
||||
@property
|
||||
@json_serializable('ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY')
|
||||
def ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY(self):
|
||||
return self._ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY
|
||||
|
||||
@ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY.setter
|
||||
def ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY(self, value):
|
||||
if isinstance(value, bool):
|
||||
self._ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY = value
|
||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||
|
||||
@property
|
||||
@json_serializable('SEND_MESSAGE_BUTTON_TYPE')
|
||||
def SEND_MESSAGE_BUTTON_TYPE(self):
|
||||
@@ -1107,6 +1118,7 @@ class Config:
|
||||
self._RECEIVED_MESSAGE_FORMAT_WITH_T = "[message]([translation])"
|
||||
self._ENABLE_AUTO_CLEAR_MESSAGE_BOX = True
|
||||
self._ENABLE_SEND_ONLY_TRANSLATED_MESSAGES = False
|
||||
self._ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY = False
|
||||
self._SEND_MESSAGE_BUTTON_TYPE = "show"
|
||||
self._OVERLAY_SETTINGS = {
|
||||
"opacity": 1.0,
|
||||
|
||||
@@ -160,10 +160,14 @@ def receiveSpeakerMessage(message):
|
||||
if config.ENABLE_TRANSCRIPTION_RECEIVE is True:
|
||||
if config.ENABLE_OVERLAY_SMALL_LOG is True:
|
||||
if model.overlay.initialized is True:
|
||||
overlay_image = model.createOverlayImageShort(message, translation)
|
||||
model.updateOverlay(overlay_image)
|
||||
# overlay_image = model.createOverlayImageLong("receive", message, translation)
|
||||
# model.updateOverlay(overlay_image)
|
||||
if config.ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY is True:
|
||||
overlay_image = model.createOverlayImageShort("", translation)
|
||||
model.updateOverlay(overlay_image)
|
||||
else:
|
||||
overlay_image = model.createOverlayImageShort(message, translation)
|
||||
model.updateOverlay(overlay_image)
|
||||
# overlay_image = model.createOverlayImageLong("receive", message, translation)
|
||||
# model.updateOverlay(overlay_image)
|
||||
|
||||
# ------------Speaker2Chatbox------------
|
||||
if config.ENABLE_SPEAKER2CHATBOX is True:
|
||||
@@ -907,6 +911,10 @@ def callbackSetEnableSendOnlyTranslatedMessages(value):
|
||||
print("callbackSetEnableSendOnlyTranslatedMessages", value)
|
||||
config.ENABLE_SEND_ONLY_TRANSLATED_MESSAGES = value
|
||||
|
||||
def callbackSetEnableSendOnlyTranslatedMessagesOverlay(value):
|
||||
print("callbackSetEnableSendOnlyTranslatedMessagesOverlay", value)
|
||||
config.ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY = value
|
||||
|
||||
def callbackSetSendMessageButtonType(value):
|
||||
print("callbackSetSendMessageButtonType", value)
|
||||
config.SEND_MESSAGE_BUTTON_TYPE = value
|
||||
@@ -1158,6 +1166,7 @@ def createMainWindow(splash):
|
||||
# Others Tab
|
||||
"callback_set_enable_auto_clear_chatbox": callbackSetEnableAutoClearMessageBox,
|
||||
"callback_set_send_only_translated_messages": callbackSetEnableSendOnlyTranslatedMessages,
|
||||
"callback_set_send_only_translated_messages_overlay": callbackSetEnableSendOnlyTranslatedMessagesOverlay,
|
||||
"callback_set_send_message_button_type": callbackSetSendMessageButtonType,
|
||||
"callback_set_enable_auto_export_message_logs": callbackSetEnableAutoExportMessageLogs,
|
||||
"callback_set_enable_vrc_mic_mute_sync": callbackSetEnableVrcMicMuteSync,
|
||||
|
||||
@@ -234,6 +234,9 @@ config_window:
|
||||
send_only_translated_messages:
|
||||
label: "Send Only Translated Messages"
|
||||
|
||||
send_only_translated_messages_overlay:
|
||||
label: "Send Only Translated Messages To Overlay"
|
||||
|
||||
send_message_button_type:
|
||||
label: "Send Message Button"
|
||||
hide: "Hide (Use enter key to send)"
|
||||
|
||||
@@ -233,6 +233,9 @@ config_window:
|
||||
send_only_translated_messages:
|
||||
label: "翻訳後のメッセージのみ送信する"
|
||||
|
||||
send_only_translated_messages_overlay:
|
||||
label: "翻訳後のメッセージのみ送信する (Overlay)"
|
||||
|
||||
send_message_button_type:
|
||||
label: "メッセージ送信ボタン"
|
||||
hide: "非表示 (エンターキーを使って送信)"
|
||||
|
||||
@@ -233,6 +233,9 @@ config_window:
|
||||
send_only_translated_messages:
|
||||
label: "번역된 메시지만 전송"
|
||||
|
||||
send_only_translated_messages_overlay:
|
||||
label: "번역된 메시지만 전송 (Overlay)"
|
||||
|
||||
send_message_button_type:
|
||||
label: "메시지 전송 버튼"
|
||||
hide: "숨김 (Enter 키를 사용하여 전송)"
|
||||
|
||||
@@ -234,6 +234,9 @@ config_window:
|
||||
send_only_translated_messages:
|
||||
label: "只发送翻译后的信息"
|
||||
|
||||
send_only_translated_messages_overlay:
|
||||
label: "只发送翻译后的信息 (Overlay)"
|
||||
|
||||
send_message_button_type:
|
||||
label: "发送信息按钮"
|
||||
hide: "隐藏 (可使用回车发送信息)"
|
||||
|
||||
@@ -227,6 +227,9 @@ config_window:
|
||||
send_only_translated_messages:
|
||||
label: "僅發送翻譯訊息"
|
||||
|
||||
send_only_translated_messages_overlay:
|
||||
label: "僅發送翻譯訊息 (Overlay)"
|
||||
|
||||
send_message_button_type:
|
||||
label: "發送訊息按鈕"
|
||||
hide: "隱藏(使用 Enter 鍵發送)"
|
||||
|
||||
@@ -2,6 +2,7 @@ from os import path as os_path
|
||||
# from datetime import datetime
|
||||
from typing import Tuple
|
||||
from PIL import Image, ImageDraw, ImageFont
|
||||
from config import config
|
||||
|
||||
class OverlayImage:
|
||||
# TEXT_COLOR_LARGE = (223, 223, 223)
|
||||
@@ -216,10 +217,19 @@ class OverlayImage:
|
||||
background_color = ui_colors["background_color"]
|
||||
background_outline_color = ui_colors["background_outline_color"]
|
||||
|
||||
img = self.createTextboxShort(message, your_language, text_color, width, height, font_size)
|
||||
if len(translation) > 0 and target_language is not None:
|
||||
print("TEST")
|
||||
print(message, your_language, translation, target_language)
|
||||
|
||||
if len(message) > 0 and len(translation) > 0 and target_language is not None:
|
||||
img = self.createTextboxShort(message, your_language, text_color, width, height, font_size)
|
||||
translation_img = self.createTextboxShort(translation, target_language, text_color, width, height, font_size)
|
||||
img = self.concatenateImagesVertically(img, translation_img)
|
||||
else:
|
||||
if len(message) > 0 and len(translation) == 0 :
|
||||
img = self.createTextboxShort(message, your_language, text_color, width, height, font_size)
|
||||
else:
|
||||
if len(translation) > 0 and target_language is not None:
|
||||
img = self.createTextboxShort(translation, target_language, text_color, width, height, font_size)
|
||||
|
||||
background = Image.new("RGBA", img.size, (0, 0, 0, 0))
|
||||
draw = ImageDraw.Draw(background)
|
||||
|
||||
6
view.py
6
view.py
@@ -529,6 +529,11 @@ class View():
|
||||
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_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY=StringVar(value=i18n.t("config_window.send_only_translated_messages_overlay.label")),
|
||||
VAR_DESC_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY=None,
|
||||
CALLBACK_SET_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY=None,
|
||||
VAR_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY=BooleanVar(value=config.ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY),
|
||||
|
||||
VAR_LABEL_SEND_MESSAGE_BUTTON_TYPE=StringVar(value=i18n.t("config_window.send_message_button_type.label")),
|
||||
VAR_DESC_SEND_MESSAGE_BUTTON_TYPE=None,
|
||||
CALLBACK_SET_SEND_MESSAGE_BUTTON_TYPE=None,
|
||||
@@ -798,6 +803,7 @@ class View():
|
||||
# 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_SEND_ONLY_TRANSLATED_MESSAGES=config_window_registers.get("callback_set_send_only_translated_messages", None)
|
||||
self.view_variable.CALLBACK_SET_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY=config_window_registers.get("callback_set_send_only_translated_messages_overlay", None)
|
||||
self.view_variable.CALLBACK_SET_SEND_MESSAGE_BUTTON_TYPE=config_window_registers.get("callback_set_send_message_button_type", None)
|
||||
self.view_variable.CALLBACK_SET_ENABLE_AUTO_EXPORT_MESSAGE_LOGS=config_window_registers.get("callback_set_enable_auto_export_message_logs", None)
|
||||
|
||||
|
||||
@@ -15,6 +15,9 @@ def createSettingBox_Others(setting_box_wrapper, config_window, settings, view_v
|
||||
def checkboxSendOnlyTranslatedMessagesCallback(checkbox_box_widget):
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES, checkbox_box_widget.get())
|
||||
|
||||
def checkboxSendOnlyTranslatedMessagesOverlayCallback(checkbox_box_widget):
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY, checkbox_box_widget.get())
|
||||
|
||||
def checkboxSendMessageButtonTypeCallback():
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SET_SEND_MESSAGE_BUTTON_TYPE, view_variable.VAR_SEND_MESSAGE_BUTTON_TYPE.get())
|
||||
|
||||
@@ -53,6 +56,16 @@ def createSettingBox_Others(setting_box_wrapper, config_window, settings, view_v
|
||||
config_window.sb__send_only_translated_messages.grid(row=row)
|
||||
row+=1
|
||||
|
||||
config_window.sb__send_only_translated_messages_overlay = createSettingBoxCheckbox(
|
||||
for_var_label_text=view_variable.VAR_LABEL_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY,
|
||||
for_var_desc_text=view_variable.VAR_DESC_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY,
|
||||
checkbox_attr_name="sb__checkbox_send_only_translated_messages_overlay",
|
||||
command=lambda: checkboxSendOnlyTranslatedMessagesOverlayCallback(config_window.sb__checkbox_send_only_translated_messages_overlay),
|
||||
variable=view_variable.VAR_ENABLE_SEND_ONLY_TRANSLATED_MESSAGES_OVERLAY,
|
||||
)
|
||||
config_window.sb__send_only_translated_messages_overlay.grid(row=row)
|
||||
row+=1
|
||||
|
||||
config_window.sb__send_message_button_type = createSettingBoxRadioButtons(
|
||||
for_var_label_text=view_variable.VAR_LABEL_SEND_MESSAGE_BUTTON_TYPE,
|
||||
for_var_desc_text=view_variable.VAR_DESC_SEND_MESSAGE_BUTTON_TYPE,
|
||||
|
||||
Reference in New Issue
Block a user