🗑️ [Mask] Model: 処理が不安定なためoverlayの処理を一時的にMask

This commit is contained in:
misyaguziya
2024-04-28 15:12:06 +09:00
parent d3bc434d38
commit a4a73c0c9e
2 changed files with 109 additions and 109 deletions

View File

@@ -161,14 +161,14 @@ def receiveSpeakerMessage(message):
xsoverlay_message = messageFormatter("RECEIVED", translation, message) xsoverlay_message = messageFormatter("RECEIVED", translation, message)
model.notificationXSOverlay(xsoverlay_message) model.notificationXSOverlay(xsoverlay_message)
if model.overlay.initialized is False: # if model.overlay.initialized is False:
model.startOverlay() # model.startOverlay()
else: # else:
if config.ENABLE_OVERLAY_SMALL_LOG is True: # if config.ENABLE_OVERLAY_SMALL_LOG is True:
overlay_image = model.createOverlayImageShort(message, translation) # overlay_image = model.createOverlayImageShort(message, translation)
model.updateOverlay(overlay_image) # model.updateOverlay(overlay_image)
# overlay_image = model.createOverlayImageLong("receive", message, translation) # # overlay_image = model.createOverlayImageLong("receive", message, translation)
# model.updateOverlay(overlay_image) # # model.updateOverlay(overlay_image)
# ------------Speaker2Chatbox------------ # ------------Speaker2Chatbox------------
if config.ENABLE_SPEAKER2CHATBOX is True: if config.ENABLE_SPEAKER2CHATBOX is True:
@@ -858,44 +858,44 @@ def callbackSetWhisperWeightType(value):
config.SELECTED_TRANSCRIPTION_ENGINE = "Google" config.SELECTED_TRANSCRIPTION_ENGINE = "Google"
view.showRestartButtonIfRequired() view.showRestartButtonIfRequired()
# VR Tab # # VR Tab
def callbackSetOverlaySettings(value, set_type:str): # def callbackSetOverlaySettings(value, set_type:str):
print("callbackSetOverlaySettings", value, set_type) # print("callbackSetOverlaySettings", value, set_type)
pre_settings = config.OVERLAY_SETTINGS # pre_settings = config.OVERLAY_SETTINGS
pre_settings[set_type] = value # pre_settings[set_type] = value
config.OVERLAY_SETTINGS = pre_settings # config.OVERLAY_SETTINGS = pre_settings
match (set_type): # match (set_type):
case "opacity": # case "opacity":
model.updateOverlayImageOpacity() # model.updateOverlayImageOpacity()
case "ui_scaling": # case "ui_scaling":
model.updateOverlayImageUiScaling() # model.updateOverlayImageUiScaling()
def callbackSetEnableOverlaySmallLog(value): # def callbackSetEnableOverlaySmallLog(value):
print("callbackSetEnableOverlaySmallLog", value) # print("callbackSetEnableOverlaySmallLog", value)
config.ENABLE_OVERLAY_SMALL_LOG = value # config.ENABLE_OVERLAY_SMALL_LOG = value
if config.ENABLE_OVERLAY_SMALL_LOG is True:
pass
else:
if model.overlay.initialized is True:
model.clearOverlayImage()
def callbackSetOverlaySmallLogSettings(value, set_type:str): # if config.ENABLE_OVERLAY_SMALL_LOG is True:
print("callbackSetOverlaySmallLogSettings", value, set_type) # pass
pre_settings = config.OVERLAY_SMALL_LOG_SETTINGS # else:
pre_settings[set_type] = value # if model.overlay.initialized is True:
config.OVERLAY_SMALL_LOG_SETTINGS = pre_settings # model.clearOverlayImage()
match (set_type):
case "x_pos": # def callbackSetOverlaySmallLogSettings(value, set_type:str):
model.updateOverlayPosition() # print("callbackSetOverlaySmallLogSettings", value, set_type)
case "y_pos": # pre_settings = config.OVERLAY_SMALL_LOG_SETTINGS
model.updateOverlayPosition() # pre_settings[set_type] = value
case "depth": # config.OVERLAY_SMALL_LOG_SETTINGS = pre_settings
model.updateOverlayPosition() # match (set_type):
case "display_duration": # case "x_pos":
model.updateOverlayTimes() # model.updateOverlayPosition()
case "fadeout_duration": # case "y_pos":
model.updateOverlayTimes() # model.updateOverlayPosition()
# case "depth":
# model.updateOverlayPosition()
# case "display_duration":
# model.updateOverlayTimes()
# case "fadeout_duration":
# model.updateOverlayTimes()
# Others Tab # Others Tab
def callbackSetEnableAutoClearMessageBox(value): def callbackSetEnableAutoClearMessageBox(value):
@@ -1137,10 +1137,10 @@ def createMainWindow(splash):
"callback_set_use_whisper_feature": callbackSetUserWhisperFeature, "callback_set_use_whisper_feature": callbackSetUserWhisperFeature,
"callback_set_whisper_weight_type": callbackSetWhisperWeightType, "callback_set_whisper_weight_type": callbackSetWhisperWeightType,
# VR Tab # # VR Tab
"callback_set_overlay_settings": callbackSetOverlaySettings, # "callback_set_overlay_settings": callbackSetOverlaySettings,
"callback_set_enable_overlay_small_log": callbackSetEnableOverlaySmallLog, # "callback_set_enable_overlay_small_log": callbackSetEnableOverlaySmallLog,
"callback_set_overlay_small_log_settings": callbackSetOverlaySmallLogSettings, # "callback_set_overlay_small_log_settings": callbackSetOverlaySmallLogSettings,
# Others Tab # Others Tab
"callback_set_enable_auto_clear_chatbox": callbackSetEnableAutoClearMessageBox, "callback_set_enable_auto_clear_chatbox": callbackSetEnableAutoClearMessageBox,

122
model.py
View File

@@ -26,8 +26,8 @@ from models.translation.translation_languages import translation_lang
from models.transcription.transcription_languages import transcription_lang from models.transcription.transcription_languages import transcription_lang
from models.translation.translation_utils import checkCTranslate2Weight from models.translation.translation_utils import checkCTranslate2Weight
from models.transcription.transcription_whisper import checkWhisperWeight from models.transcription.transcription_whisper import checkWhisperWeight
from models.overlay.overlay import Overlay # from models.overlay.overlay import Overlay
from models.overlay.overlay_image import OverlayImage # from models.overlay.overlay_image import OverlayImage
from config import config from config import config
@@ -72,18 +72,18 @@ class Model:
self.previous_receive_message = "" self.previous_receive_message = ""
self.translator = Translator() self.translator = Translator()
self.keyword_processor = KeywordProcessor() self.keyword_processor = KeywordProcessor()
self.overlay = Overlay( # self.overlay = Overlay(
config.OVERLAY_SMALL_LOG_SETTINGS["x_pos"], # config.OVERLAY_SMALL_LOG_SETTINGS["x_pos"],
config.OVERLAY_SMALL_LOG_SETTINGS["y_pos"], # config.OVERLAY_SMALL_LOG_SETTINGS["y_pos"],
config.OVERLAY_SMALL_LOG_SETTINGS["depth"], # config.OVERLAY_SMALL_LOG_SETTINGS["depth"],
config.OVERLAY_SMALL_LOG_SETTINGS["display_duration"], # config.OVERLAY_SMALL_LOG_SETTINGS["display_duration"],
config.OVERLAY_SMALL_LOG_SETTINGS["fadeout_duration"], # config.OVERLAY_SMALL_LOG_SETTINGS["fadeout_duration"],
config.OVERLAY_SETTINGS["opacity"], # config.OVERLAY_SETTINGS["opacity"],
config.OVERLAY_SETTINGS["ui_scaling"], # config.OVERLAY_SETTINGS["ui_scaling"],
) # )
self.overlay_image = OverlayImage() # self.overlay_image = OverlayImage()
self.pre_overlay_message = None # self.pre_overlay_message = None
self.th_overlay = None # self.th_overlay = None
def checkCTranslatorCTranslate2ModelWeight(self): def checkCTranslatorCTranslate2ModelWeight(self):
return checkCTranslate2Weight(config.PATH_LOCAL, config.CTRANSLATE2_WEIGHT_TYPE) return checkCTranslate2Weight(config.PATH_LOCAL, config.CTRANSLATE2_WEIGHT_TYPE)
@@ -584,65 +584,65 @@ class Model:
def notificationXSOverlay(self, message): def notificationXSOverlay(self, message):
xsoverlayForVRCT(content=f"{message}") xsoverlayForVRCT(content=f"{message}")
def createOverlayImageShort(self, message, translation): # def createOverlayImageShort(self, message, translation):
your_language = config.TARGET_LANGUAGE # your_language = config.TARGET_LANGUAGE
target_language = config.SOURCE_LANGUAGE # target_language = config.SOURCE_LANGUAGE
ui_type = config.OVERLAY_UI_TYPE # ui_type = config.OVERLAY_UI_TYPE
self.pre_overlay_message = { # self.pre_overlay_message = {
"message" : message, # "message" : message,
"your_language" : your_language, # "your_language" : your_language,
"translation" : translation, # "translation" : translation,
"target_language" : target_language, # "target_language" : target_language,
"ui_type" : ui_type, # "ui_type" : ui_type,
} # }
return self.overlay_image.createOverlayImageShort(message, your_language, translation, target_language, ui_type) # return self.overlay_image.createOverlayImageShort(message, your_language, translation, target_language, ui_type)
# def createOverlayImageLong(self, message_type, message, translation): # def createOverlayImageLong(self, message_type, message, translation):
# your_language = config.TARGET_LANGUAGE if message_type == "receive" else config.SOURCE_LANGUAGE # your_language = config.TARGET_LANGUAGE if message_type == "receive" else config.SOURCE_LANGUAGE
# target_language = config.SOURCE_LANGUAGE if message_type == "receive" else config.TARGET_LANGUAGE # target_language = config.SOURCE_LANGUAGE if message_type == "receive" else config.TARGET_LANGUAGE
# return self.overlay_image.create_overlay_image_long(message_type, message, your_language, translation, target_language) # return self.overlay_image.create_overlay_image_long(message_type, message, your_language, translation, target_language)
def clearOverlayImage(self): # def clearOverlayImage(self):
if self.overlay.initialized is True: # if self.overlay.initialized is True:
self.overlay.uiManager.uiClear() # self.overlay.uiManager.uiClear()
def updateOverlay(self, img): # def updateOverlay(self, img):
if self.overlay.initialized is True: # if self.overlay.initialized is True:
self.overlay.uiManager.uiUpdate(img) # self.overlay.uiManager.uiUpdate(img)
def startOverlay(self): # def startOverlay(self):
if self.overlay.initialized is False: # if self.overlay.initialized is False:
self.overlay.init() # self.overlay.init()
if self.overlay.initialized is True and self.th_overlay is None: # if self.overlay.initialized is True and self.th_overlay is None:
self.th_overlay = Thread(target=self.overlay.startOverlay) # self.th_overlay = Thread(target=self.overlay.startOverlay)
self.th_overlay.daemon = True # self.th_overlay.daemon = True
self.th_overlay.start() # self.th_overlay.start()
def updateOverlayPosition(self): # def updateOverlayPosition(self):
if self.overlay.initialized is True: # if self.overlay.initialized is True:
pos = (config.OVERLAY_SMALL_LOG_SETTINGS["x_pos"], config.OVERLAY_SMALL_LOG_SETTINGS["y_pos"]) # pos = (config.OVERLAY_SMALL_LOG_SETTINGS["x_pos"], config.OVERLAY_SMALL_LOG_SETTINGS["y_pos"])
self.overlay.uiManager.setPosition(pos) # self.overlay.uiManager.setPosition(pos)
depth = config.OVERLAY_SMALL_LOG_SETTINGS["depth"] # depth = config.OVERLAY_SMALL_LOG_SETTINGS["depth"]
self.overlay.uiManager.setDepth(depth) # self.overlay.uiManager.setDepth(depth)
self.overlay.uiManager.posUpdate() # self.overlay.uiManager.posUpdate()
def updateOverlayTimes(self): # def updateOverlayTimes(self):
if self.overlay.initialized is True: # if self.overlay.initialized is True:
display_duration = config.OVERLAY_SMALL_LOG_SETTINGS["display_duration"] # display_duration = config.OVERLAY_SMALL_LOG_SETTINGS["display_duration"]
self.overlay.uiManager.setFadeTime(display_duration) # self.overlay.uiManager.setFadeTime(display_duration)
fadeout_duration = config.OVERLAY_SMALL_LOG_SETTINGS["fadeout_duration"] # fadeout_duration = config.OVERLAY_SMALL_LOG_SETTINGS["fadeout_duration"]
self.overlay.uiManager.setFadeInterval(fadeout_duration) # self.overlay.uiManager.setFadeInterval(fadeout_duration)
self.overlay.uiManager.update() # self.overlay.uiManager.update()
def updateOverlayImageOpacity(self): # def updateOverlayImageOpacity(self):
if self.overlay.initialized is True: # if self.overlay.initialized is True:
opacity = config.OVERLAY_SETTINGS["opacity"] # opacity = config.OVERLAY_SETTINGS["opacity"]
self.overlay.uiManager.setTransparency(opacity) # self.overlay.uiManager.setTransparency(opacity)
def updateOverlayImageUiScaling(self): # def updateOverlayImageUiScaling(self):
if self.overlay.initialized is True: # if self.overlay.initialized is True:
ui_scaling = config.OVERLAY_SETTINGS["ui_scaling"] # ui_scaling = config.OVERLAY_SETTINGS["ui_scaling"]
self.overlay.uiManager.setUiScaling(ui_scaling) # self.overlay.uiManager.setUiScaling(ui_scaling)
model = Model() model = Model()