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'])