From d3bc434d3840db4430eacb792039f39a37ada878 Mon Sep 17 00:00:00 2001 From: misyaguziya Date: Sun, 28 Apr 2024 14:59:31 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=8D=EF=B8=8F[Update]=20Model=20:=20=20?= =?UTF-8?q?overlay=20OFF=E6=99=82=E3=81=ABoverlay=E3=81=AE=E8=A1=A8?= =?UTF-8?q?=E7=A4=BA=E3=82=92=E6=B6=88=E3=81=99=E5=87=A6=E7=90=86=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller.py | 18 ++++++++++++------ model.py | 6 +++++- models/overlay/overlay.py | 5 +++++ 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/controller.py b/controller.py index cdefcc1b..5b11a617 100644 --- a/controller.py +++ b/controller.py @@ -163,12 +163,12 @@ def receiveSpeakerMessage(message): if model.overlay.initialized is False: model.startOverlay() - - if config.ENABLE_OVERLAY_SMALL_LOG is True: - overlay_image = model.createOverlayImageShort(message, translation) - model.updateOverlay(overlay_image) - # overlay_image = model.createOverlayImageLong("receive", message, translation) - # model.updateOverlay(overlay_image) + else: + if config.ENABLE_OVERLAY_SMALL_LOG is True: + 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: @@ -873,6 +873,12 @@ def callbackSetOverlaySettings(value, set_type:str): def callbackSetEnableOverlaySmallLog(value): print("callbackSetEnableOverlaySmallLog", 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): print("callbackSetOverlaySmallLogSettings", value, set_type) diff --git a/model.py b/model.py index 189b6d3c..1dd856a6 100644 --- a/model.py +++ b/model.py @@ -602,6 +602,10 @@ class Model: # 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) + def clearOverlayImage(self): + if self.overlay.initialized is True: + self.overlay.uiManager.uiClear() + def updateOverlay(self, img): if self.overlay.initialized is True: self.overlay.uiManager.uiUpdate(img) @@ -610,7 +614,7 @@ class Model: if self.overlay.initialized is False: self.overlay.init() - if self.overlay.initialized is True: + if self.overlay.initialized is True and self.th_overlay is None: self.th_overlay = Thread(target=self.overlay.startOverlay) self.th_overlay.daemon = True self.th_overlay.start() diff --git a/models/overlay/overlay.py b/models/overlay/overlay.py index e8cb9e0e..87cd12b1 100644 --- a/models/overlay/overlay.py +++ b/models/overlay/overlay.py @@ -106,6 +106,11 @@ class UIManager: if self.settings['Fade_interval'] != 0: self.evaluateTransparencyFade(self.lastUpdate, currTime) + def uiClear(self): + self.overlayUI.setImage(Image.new("RGBA", (1, 1), (0, 0, 0, 0))) + self.overlayUI.setTransparency(self.settings['Transparency']) + self.lastUpdate = time.monotonic() + def uiUpdate(self, img): self.overlayUI.setImage(img) self.overlayUI.setTransparency(self.settings['Transparency'])