From 0e226f732875f2752313d46dea9b7e5decf2fbf7 Mon Sep 17 00:00:00 2001 From: misyaguziya Date: Wed, 11 Sep 2024 13:28:35 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=8D=EF=B8=8F[Update]=20Model=20:=20ene?= =?UTF-8?q?rgy=E3=81=AE=E7=B5=82=E4=BA=86=E6=96=B9=E6=B3=95=E3=81=A8return?= =?UTF-8?q?=E3=81=AE=E5=80=A4=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src-python/config.py | 20 ++++++++++++++++++++ src-python/model.py | 12 ++++++++---- src-python/webui_controller.py | 29 +++++++++++++---------------- src-python/webui_mainloop.py | 2 -- 4 files changed, 41 insertions(+), 22 deletions(-) diff --git a/src-python/config.py b/src-python/config.py index 899172b8..6152eddb 100644 --- a/src-python/config.py +++ b/src-python/config.py @@ -157,6 +157,24 @@ class Config: if isinstance(value, bool): self._ENABLE_FOREGROUND = value + @property + def ENABLE_CHECK_ENERGY_SEND(self): + return self._ENABLE_CHECK_ENERGY_SEND + + @ENABLE_CHECK_ENERGY_SEND.setter + def ENABLE_CHECK_ENERGY_SEND(self, value): + if isinstance(value, bool): + self._ENABLE_CHECK_ENERGY_SEND = value + + @property + def ENABLE_CHECK_ENERGY_RECEIVE(self): + return self._ENABLE_CHECK_ENERGY_RECEIVE + + @ENABLE_CHECK_ENERGY_RECEIVE.setter + def ENABLE_CHECK_ENERGY_RECEIVE(self, value): + if isinstance(value, bool): + self._ENABLE_CHECK_ENERGY_RECEIVE = value + # @property # def SENT_MESSAGES_LOG(self): # return self._SENT_MESSAGES_LOG @@ -959,6 +977,8 @@ class Config: self._ENABLE_TRANSCRIPTION_SEND = False self._ENABLE_TRANSCRIPTION_RECEIVE = False self._ENABLE_FOREGROUND = False + self._ENABLE_CHECK_ENERGY_SEND = False + self._ENABLE_CHECK_ENERGY_RECEIVE = False # self._SENT_MESSAGES_LOG = [] # self._CURRENT_SENT_MESSAGES_LOG_INDEX = 0 diff --git a/src-python/model.py b/src-python/model.py index bbe8235d..29e8d5a4 100644 --- a/src-python/model.py +++ b/src-python/model.py @@ -534,7 +534,7 @@ class Model: # self.mic_get_energy.stop() # self.mic_get_energy = None - def startCheckMicEnergy(self, fnc, end_fnc, error_fnc=None): + def startCheckMicEnergy(self, fnc, error_fnc=None): mic_device_list = getInputDevices().get(config.CHOICE_MIC_HOST, [{"name": "NoDevice"}]) choice_mic_device = [device for device in mic_device_list if device["name"] == config.CHOICE_MIC_DEVICE] if len(choice_mic_device) == 0: @@ -557,15 +557,17 @@ class Model: mic_device = choice_mic_device[0] self.mic_energy_recorder = SelectedMicEnergyRecorder(mic_device) self.mic_energy_recorder.recordIntoQueue(mic_energy_queue) - self.mic_energy_plot_progressbar = threadFnc(sendMicEnergy, end_fnc=end_fnc) + self.mic_energy_plot_progressbar = threadFnc(sendMicEnergy) self.mic_energy_plot_progressbar.daemon = True self.mic_energy_plot_progressbar.start() def stopCheckMicEnergy(self): if isinstance(self.mic_energy_plot_progressbar, threadFnc): self.mic_energy_plot_progressbar.stop() + self.mic_energy_plot_progressbar.join() self.mic_energy_plot_progressbar = None if isinstance(self.mic_energy_recorder, SelectedMicEnergyRecorder): + self.mic_energy_recorder.resume() self.mic_energy_recorder.stop() self.mic_energy_recorder = None @@ -655,7 +657,7 @@ class Model: # self.speaker_get_energy.stop() # self.speaker_get_energy = None - def startCheckSpeakerEnergy(self, fnc, end_fnc, error_fnc=None): + def startCheckSpeakerEnergy(self, fnc, error_fnc=None): speaker_device_list = getOutputDevices() choice_speaker_device = [device for device in speaker_device_list if device["name"] == config.CHOICE_SPEAKER_DEVICE] if len(choice_speaker_device) == 0: @@ -678,15 +680,17 @@ class Model: speaker_device = choice_speaker_device[0] self.speaker_energy_recorder = SelectedSpeakerEnergyRecorder(speaker_device) self.speaker_energy_recorder.recordIntoQueue(speaker_energy_queue) - self.speaker_energy_plot_progressbar = threadFnc(sendSpeakerEnergy, end_fnc=end_fnc) + self.speaker_energy_plot_progressbar = threadFnc(sendSpeakerEnergy) self.speaker_energy_plot_progressbar.daemon = True self.speaker_energy_plot_progressbar.start() def stopCheckSpeakerEnergy(self): if isinstance(self.speaker_energy_plot_progressbar, threadFnc): self.speaker_energy_plot_progressbar.stop() + self.speaker_energy_plot_progressbar.join() self.speaker_energy_plot_progressbar = None if isinstance(self.speaker_energy_recorder, SelectedSpeakerEnergyRecorder): + self.speaker_energy_recorder.resume() self.speaker_energy_recorder.stop() self.speaker_energy_recorder = None diff --git a/src-python/webui_controller.py b/src-python/webui_controller.py index d431bef4..099ff9bd 100644 --- a/src-python/webui_controller.py +++ b/src-python/webui_controller.py @@ -454,30 +454,31 @@ def callbackDisableTranslation(*args, **kwargs) -> dict: def callbackEnableTranscriptionSend(data, action, *args, **kwargs) -> dict: printLog("Enable Transcription Send") - config.ENABLE_TRANSCRIPTION_SEND = True startThreadingTranscriptionSendMessage(action) + config.ENABLE_TRANSCRIPTION_SEND = True return {"status":200, "result":config.ENABLE_TRANSCRIPTION_SEND} def callbackDisableTranscriptionSend(*args, **kwargs) -> dict: printLog("Disable Transcription Send") - config.ENABLE_TRANSCRIPTION_SEND = False stopThreadingTranscriptionSendMessage() + config.ENABLE_TRANSCRIPTION_SEND = False return {"status":200, "result":config.ENABLE_TRANSCRIPTION_SEND} def callbackEnableTranscriptionReceive(data, action, *args, **kwargs) -> dict: printLog("Enable Transcription Receive") - config.ENABLE_TRANSCRIPTION_RECEIVE = True + startThreadingTranscriptionReceiveMessage(action) if config.ENABLE_OVERLAY_SMALL_LOG is True: if model.overlay.initialized is False and model.overlay.checkSteamvrRunning() is True: model.startOverlay() + config.ENABLE_TRANSCRIPTION_RECEIVE = True return {"status":200, "result":config.ENABLE_TRANSCRIPTION_RECEIVE} def callbackDisableTranscriptionReceive(*args, **kwargs) -> dict: printLog("Disable Transcription Receive") - config.ENABLE_TRANSCRIPTION_RECEIVE = False stopThreadingTranscriptionReceiveMessage() + config.ENABLE_TRANSCRIPTION_RECEIVE = False return {"status":200, "result":config.ENABLE_TRANSCRIPTION_RECEIVE} def callbackEnableForeground(*args, **kwargs) -> dict: @@ -740,9 +741,6 @@ class ProgressBarMicEnergy: def set(self, energy) -> None: self.action("mic", {"status":200, "result":energy}) - def stopped(self) -> None: - self.action("stopped", {"status":200}) - def error(self) -> None: self.action("error_device", {"status":400,"result": {"message":"No mic device detected."}}) @@ -751,15 +749,16 @@ def callbackEnableCheckMicThreshold(data, action, *args, **kwargs) -> dict: progressbar_mic_energy = ProgressBarMicEnergy(action) model.startCheckMicEnergy( progressbar_mic_energy.set, - progressbar_mic_energy.stopped, progressbar_mic_energy.error ) - return {"status":200} + config.ENABLE_CHECK_ENERGY_SEND = True + return {"status":200, "result":config.ENABLE_CHECK_ENERGY_SEND} def callbackDisableCheckMicThreshold(*args, **kwargs) -> dict: printLog("Disable Check Mic Threshold") model.stopCheckMicEnergy() - return {"status":200} + config.ENABLE_CHECK_ENERGY_SEND = False + return {"status":200, "result":config.ENABLE_CHECK_ENERGY_SEND} def callbackSetMicRecordTimeout(data, *args, **kwargs) -> dict: printLog("Set Mic Record Timeout", data) @@ -873,9 +872,6 @@ class ProgressBarSpeakerEnergy: def set(self, energy) -> None: self.action("speaker", {"status":200, "result":energy}) - def stopped(self) -> None: - self.action("stopped", {"status":200}) - def error(self) -> None: self.action("error_device", {"status":400,"result": {"message":"No mic device detected."}}) @@ -884,15 +880,16 @@ def callbackEnableCheckSpeakerThreshold(data, action, *args, **kwargs) -> dict: progressbar_speaker_energy = ProgressBarSpeakerEnergy(action) model.startCheckSpeakerEnergy( progressbar_speaker_energy.set, - progressbar_speaker_energy.stopped, progressbar_speaker_energy.error ) - return {"status":200} + config.ENABLE_CHECK_ENERGY_RECEIVE = True + return {"status":200, "result":config.ENABLE_CHECK_ENERGY_RECEIVE} def callbackDisableCheckSpeakerThreshold(*args, **kwargs) -> dict: printLog("Disable Check Speaker Threshold") model.stopCheckSpeakerEnergy() - return {"status":200} + config.ENABLE_CHECK_ENERGY_RECEIVE = False + return {"status":200, "result":config.ENABLE_CHECK_ENERGY_RECEIVE} def callbackSetSpeakerRecordTimeout(data, *args, **kwargs) -> dict: printLog("Set Speaker Record Timeout", data) diff --git a/src-python/webui_mainloop.py b/src-python/webui_mainloop.py index 7425b956..a061c1a2 100644 --- a/src-python/webui_mainloop.py +++ b/src-python/webui_mainloop.py @@ -217,12 +217,10 @@ action_mapping = { }, "/controller/callback_enable_check_mic_threshold": { "mic":"/action/check_mic_threshold_energy", - "stopped":"/action/check_mic_threshold_energy_stopped", "error_device":"/action/error_device", }, "/controller/callback_enable_check_speaker_threshold": { "speaker":"/action/check_speaker_threshold_energy", - "stopped":"/action/check_speaker_threshold_energy_stopped", "error_device":"/action/error_device", }, "/controller/callback_messagebox_send": {