From 46fae4da0c4fe67ddbb4cf88995c64ba0238f301 Mon Sep 17 00:00:00 2001 From: misyaguziya Date: Mon, 15 Apr 2024 22:06:00 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=8D=EF=B8=8F[Update]=20Model=20:=20=20?= =?UTF-8?q?add=20detect=20repeat=20message=20function?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - detectRepeatSendMessage - detectRepeatReceiveMessage --- controller.py | 6 +++++- model.py | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/controller.py b/controller.py index 054f0d6c..f00dafbd 100644 --- a/controller.py +++ b/controller.py @@ -69,6 +69,8 @@ def sendMicMessage(message): if model.checkKeywords(message): view.printToTextbox_DetectedByWordFilter(detected_message=message) return + elif model.detectRepeatSendMessage(message): + return elif config.ENABLE_TRANSLATION is False: pass else: @@ -134,7 +136,9 @@ def stopThreadingTranscriptionSendMessageOnOpenConfigWindow(): def receiveSpeakerMessage(message): if len(message) > 0: translation = "" - if config.ENABLE_TRANSLATION is False: + if model.detectRepeatReceiveMessage(message): + return + elif config.ENABLE_TRANSLATION is False: pass else: translation, success = model.getOutputTranslate(message) diff --git a/model.py b/model.py index 0f844182..c223444b 100644 --- a/model.py +++ b/model.py @@ -65,6 +65,8 @@ class Model: self.speaker_audio_recorder = None self.speaker_energy_recorder = None self.speaker_energy_plot_progressbar = None + self.previous_send_message = "" + self.previous_receive_message = "" self.translator = Translator() self.keyword_processor = KeywordProcessor() @@ -197,6 +199,20 @@ class Model: def checkKeywords(self, message): return len(self.keyword_processor.extract_keywords(message)) != 0 + def detectRepeatSendMessage(self, message): + repeat_flag = False + if self.previous_send_message == message: + repeat_flag = True + self.previous_send_message = message + return repeat_flag + + def detectRepeatReceiveMessage(self, message): + repeat_flag = False + if self.previous_receive_message == message: + repeat_flag = True + self.previous_receive_message = message + return repeat_flag + @staticmethod def oscStartSendTyping(): sendTyping(True, config.OSC_IP_ADDRESS, config.OSC_PORT)