🚧[WIP/TEST] Main: webuiのためのmain実装途中#4

This commit is contained in:
misyaguziya
2024-07-24 18:38:50 +09:00
parent ebe284bcb2
commit 25899b63da
3 changed files with 198 additions and 192 deletions

View File

@@ -389,15 +389,11 @@ class Model:
def getListOutputDevice(): def getListOutputDevice():
return [device["name"] for device in getOutputDevices()] return [device["name"] for device in getOutputDevices()]
def startMicTranscript(self, fnc, error_fnc=None): def startMicTranscript(self, fnc):
mic_device_list = getInputDevices().get(config.CHOICE_MIC_HOST, [{"name": "NoDevice"}]) 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] choice_mic_device = [device for device in mic_device_list if device["name"] == config.CHOICE_MIC_DEVICE]
if len(choice_mic_device) == 0: if len(choice_mic_device) == 0:
try: return False
error_fnc()
except Exception:
pass
return
self.mic_audio_queue = Queue() self.mic_audio_queue = Queue()
# self.mic_energy_queue = Queue() # self.mic_energy_queue = Queue()

View File

@@ -1,4 +1,4 @@
from typing import Callable from typing import Callable, Union
from time import sleep from time import sleep
from subprocess import Popen from subprocess import Popen
from threading import Thread from threading import Thread
@@ -71,12 +71,18 @@ def changeToCTranslate2Process():
view.printToTextbox_TranslationEngineLimitError() view.printToTextbox_TranslationEngineLimitError()
# func transcription send message # func transcription send message
def sendMicMessage(message:str, action:Callable[[dict], None]) -> None: class MicMessage:
if len(message) > 0: def __init__(self, action:Callable[[dict], None]) -> None:
self.action = action
def send(self, message: Union[str, bool]) -> None:
if isinstance(message, bool) and message is False:
self.action({"status":"error", "message":"No mic device detected."})
elif isinstance(message, str) and len(message) > 0:
addSentMessageLog(message) addSentMessageLog(message)
translation = "" translation = ""
if model.checkKeywords(message): if model.checkKeywords(message):
action({"status":"error", f"message":"Detected by word filter:{message}"}) self.action({"status":"error", f"message":"Detected by word filter:{message}"})
return return
elif model.detectRepeatSendMessage(message): elif model.detectRepeatSendMessage(message):
return return
@@ -98,7 +104,7 @@ def sendMicMessage(message:str, action:Callable[[dict], None]) -> None:
osc_message = messageFormatter("SEND", translation, message) osc_message = messageFormatter("SEND", translation, message)
model.oscSendMessage(osc_message) model.oscSendMessage(osc_message)
action({"status":"success", "message":message, "translation":translation}) self.action({"status":"success", "message":message, "translation":translation})
if config.ENABLE_LOGGER is True: if config.ENABLE_LOGGER is True:
if len(translation) > 0: if len(translation) > 0:
translation = f" ({translation})" translation = f" ({translation})"
@@ -111,7 +117,8 @@ def sendMicMessage(message:str, action:Callable[[dict], None]) -> None:
# model.updateOverlay(overlay_image) # model.updateOverlay(overlay_image)
def startTranscriptionSendMessage(action:Callable[[dict], None]) -> None: def startTranscriptionSendMessage(action:Callable[[dict], None]) -> None:
model.startMicTranscript(sendMicMessage, action) mic_message = MicMessage(action)
model.startMicTranscript(mic_message.send)
def stopTranscriptionSendMessage(action:Callable[[dict], None]) -> None: def stopTranscriptionSendMessage(action:Callable[[dict], None]) -> None:
model.stopMicTranscript() model.stopMicTranscript()
@@ -122,8 +129,7 @@ def startThreadingTranscriptionSendMessage(action:Callable[[dict], None]) -> Non
th_startTranscriptionSendMessage.daemon = True th_startTranscriptionSendMessage.daemon = True
th_startTranscriptionSendMessage.start() th_startTranscriptionSendMessage.start()
def stopThreadingTranscriptionSendMessage(action:Callable[[dict], None]): def stopThreadingTranscriptionSendMessage(action:Callable[[dict], None]) -> None:
view.printToTextbox_disableTranscriptionSend()
th_stopTranscriptionSendMessage = Thread(target=stopTranscriptionSendMessage, args=(action,)) th_stopTranscriptionSendMessage = Thread(target=stopTranscriptionSendMessage, args=(action,))
th_stopTranscriptionSendMessage.daemon = True th_stopTranscriptionSendMessage.daemon = True
th_stopTranscriptionSendMessage.start() th_stopTranscriptionSendMessage.start()
@@ -145,8 +151,14 @@ def stopThreadingTranscriptionSendMessageOnOpenConfigWindow():
th_stopTranscriptionSendMessage.start() th_stopTranscriptionSendMessage.start()
# func transcription receive message # func transcription receive message
def receiveSpeakerMessage(message): class SpeakerMessage:
if len(message) > 0: def __init__(self, action:Callable[[dict], None]) -> None:
self.action = action
def receive(self, message):
if isinstance(message, bool) and message is False:
self.action({"status":"error", "message":"No mic device detected."})
elif isinstance(message, str) and len(message) > 0:
translation = "" translation = ""
if model.detectRepeatReceiveMessage(message): if model.detectRepeatReceiveMessage(message):
return return
@@ -178,29 +190,27 @@ def receiveSpeakerMessage(message):
# ------------Speaker2Chatbox------------ # ------------Speaker2Chatbox------------
# update textbox message log (Received) # update textbox message log (Received)
view.printToTextbox_ReceivedMessage(message, translation) self.action({"status":"success", "message":message, "translation":translation})
if config.ENABLE_LOGGER is True: if config.ENABLE_LOGGER is True:
if len(translation) > 0: if len(translation) > 0:
translation = f" ({translation})" translation = f" ({translation})"
model.logger.info(f"[RECEIVED] {message}{translation}") model.logger.info(f"[RECEIVED] {message}{translation}")
def startTranscriptionReceiveMessage(): def startTranscriptionReceiveMessage(action:Callable[[dict], None]) -> None:
model.startSpeakerTranscript(receiveSpeakerMessage, view.printToTextbox_TranscriptionReceiveNoDeviceError) speaker_message = SpeakerMessage(action)
view.setMainWindowAllWidgetsStatusToNormal() model.startSpeakerTranscript(speaker_message.receive)
def stopTranscriptionReceiveMessage(): def stopTranscriptionReceiveMessage(action:Callable[[dict], None]) -> None:
model.stopSpeakerTranscript() model.stopSpeakerTranscript()
view.setMainWindowAllWidgetsStatusToNormal() action({"status":"success", "message":"Stopped receiving messages"})
def startThreadingTranscriptionReceiveMessage(): def startThreadingTranscriptionReceiveMessage(action:Callable[[dict], None]) -> None:
view.printToTextbox_enableTranscriptionReceive() th_startTranscriptionReceiveMessage = Thread(target=startTranscriptionReceiveMessage, args=(action,))
th_startTranscriptionReceiveMessage = Thread(target=startTranscriptionReceiveMessage)
th_startTranscriptionReceiveMessage.daemon = True th_startTranscriptionReceiveMessage.daemon = True
th_startTranscriptionReceiveMessage.start() th_startTranscriptionReceiveMessage.start()
def stopThreadingTranscriptionReceiveMessage(): def stopThreadingTranscriptionReceiveMessage(action:Callable[[dict], None]) -> None:
view.printToTextbox_disableTranscriptionReceive() th_stopTranscriptionReceiveMessage = Thread(target=stopTranscriptionReceiveMessage, args=(action,))
th_stopTranscriptionReceiveMessage = Thread(target=stopTranscriptionReceiveMessage)
th_stopTranscriptionReceiveMessage.daemon = True th_stopTranscriptionReceiveMessage.daemon = True
th_stopTranscriptionReceiveMessage.start() th_stopTranscriptionReceiveMessage.start()
@@ -419,45 +429,45 @@ def callbackDisableTranscriptionSend(data, action, *args, **kwargs) -> dict:
stopThreadingTranscriptionSendMessage(action) stopThreadingTranscriptionSendMessage(action)
return {"status":"success"} return {"status":"success"}
def callbackEnableTranscriptionReceive(): def callbackEnableTranscriptionReceive(data, action, *args, **kwargs) -> dict:
config.ENABLE_TRANSCRIPTION_RECEIVE = True config.ENABLE_TRANSCRIPTION_RECEIVE = True
startThreadingTranscriptionReceiveMessage() startThreadingTranscriptionReceiveMessage(action)
if config.ENABLE_OVERLAY_SMALL_LOG is True: if config.ENABLE_OVERLAY_SMALL_LOG is True:
if model.overlay.initialized is False and model.overlay.checkSteamvrRunning() is True: if model.overlay.initialized is False and model.overlay.checkSteamvrRunning() is True:
model.startOverlay() model.startOverlay()
return {"status":"success"} return {"status":"success"}
def callbackDisableTranscriptionReceive(): def callbackDisableTranscriptionReceive(data, action, *args, **kwargs) -> dict:
config.ENABLE_TRANSCRIPTION_RECEIVE = False config.ENABLE_TRANSCRIPTION_RECEIVE = False
stopThreadingTranscriptionReceiveMessage() stopThreadingTranscriptionReceiveMessage(action)
return {"status":"success"} return {"status":"success"}
def callbackEnableForeground(): def callbackEnableForeground() -> None:
config.ENABLE_FOREGROUND = True config.ENABLE_FOREGROUND = True
return {"status":"success"} return {"status":"success"}
def callbackDisableForeground(): def callbackDisableForeground() -> None:
config.ENABLE_FOREGROUND = False config.ENABLE_FOREGROUND = False
return {"status":"success"} return {"status":"success"}
def callbackEnableMainWindowSidebarCompactMode(): def callbackEnableMainWindowSidebarCompactMode() -> None:
config.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = True config.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = True
return {"status":"success"} return {"status":"success"}
def callbackDisableMainWindowSidebarCompactMode(): def callbackDisableMainWindowSidebarCompactMode() -> None:
config.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False config.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False
return {"status":"success"} return {"status":"success"}
# Config Window # Config Window
def callbackOpenConfigWindow(): def callbackOpenConfigWindow() -> dict:
if config.ENABLE_TRANSCRIPTION_SEND is True: if config.ENABLE_TRANSCRIPTION_SEND is True:
stopThreadingTranscriptionSendMessageOnOpenConfigWindow() stopThreadingTranscriptionSendMessageOnOpenConfigWindow()
if config.ENABLE_TRANSCRIPTION_RECEIVE is True: if config.ENABLE_TRANSCRIPTION_RECEIVE is True:
stopThreadingTranscriptionReceiveMessageOnOpenConfigWindow() stopThreadingTranscriptionReceiveMessageOnOpenConfigWindow()
return {"status":"success"} return {"status":"success"}
def callbackCloseConfigWindow(): def callbackCloseConfigWindow() -> dict:
model.stopCheckMicEnergy() model.stopCheckMicEnergy()
model.stopCheckSpeakerEnergy() model.stopCheckSpeakerEnergy()
@@ -470,63 +480,63 @@ def callbackCloseConfigWindow():
return {"status":"success"} return {"status":"success"}
# Compact Mode Switch # Compact Mode Switch
def callbackEnableConfigWindowCompactMode(): def callbackEnableConfigWindowCompactMode() -> dict:
config.IS_CONFIG_WINDOW_COMPACT_MODE = True config.IS_CONFIG_WINDOW_COMPACT_MODE = True
model.stopCheckMicEnergy() model.stopCheckMicEnergy()
model.stopCheckSpeakerEnergy() model.stopCheckSpeakerEnergy()
return {"status":"success"} return {"status":"success"}
def callbackDisableConfigWindowCompactMode(): def callbackDisableConfigWindowCompactMode() -> dict:
config.IS_CONFIG_WINDOW_COMPACT_MODE = False config.IS_CONFIG_WINDOW_COMPACT_MODE = False
model.stopCheckMicEnergy() model.stopCheckMicEnergy()
model.stopCheckSpeakerEnergy() model.stopCheckSpeakerEnergy()
return {"status":"success"} return {"status":"success"}
# Appearance Tab # Appearance Tab
def callbackSetTransparency(value): def callbackSetTransparency(value) -> dict:
print("callbackSetTransparency", int(value)) print("callbackSetTransparency", int(value))
config.TRANSPARENCY = int(value) config.TRANSPARENCY = int(value)
return {"status":"success"} return {"status":"success"}
def callbackSetAppearance(value): def callbackSetAppearance(value) -> dict:
print("callbackSetAppearance", value) print("callbackSetAppearance", value)
config.APPEARANCE_THEME = value config.APPEARANCE_THEME = value
return {"status":"success"} return {"status":"success"}
def callbackSetUiScaling(value): def callbackSetUiScaling(value) -> dict:
print("callbackSetUiScaling", value) print("callbackSetUiScaling", value)
config.UI_SCALING = value config.UI_SCALING = value
return {"status":"success"} return {"status":"success"}
def callbackSetTextboxUiScaling(value): def callbackSetTextboxUiScaling(value) -> dict:
print("callbackSetTextboxUiScaling", int(value)) print("callbackSetTextboxUiScaling", int(value))
config.TEXTBOX_UI_SCALING = int(value) config.TEXTBOX_UI_SCALING = int(value)
return {"status":"success"} return {"status":"success"}
def callbackSetMessageBoxRatio(value): def callbackSetMessageBoxRatio(value) -> dict:
print("callbackSetMessageBoxRatio", int(value)) print("callbackSetMessageBoxRatio", int(value))
config.MESSAGE_BOX_RATIO = int(value) config.MESSAGE_BOX_RATIO = int(value)
return {"status":"success"} return {"status":"success"}
def callbackSetFontFamily(value): def callbackSetFontFamily(value) -> dict:
print("callbackSetFontFamily", value) print("callbackSetFontFamily", value)
config.FONT_FAMILY = value config.FONT_FAMILY = value
return {"status":"success"} return {"status":"success"}
def callbackSetUiLanguage(value): def callbackSetUiLanguage(value) -> dict:
print("callbackSetUiLanguage", value) print("callbackSetUiLanguage", value)
value = getKeyByValue(config.SELECTABLE_UI_LANGUAGES_DICT, value) value = getKeyByValue(config.SELECTABLE_UI_LANGUAGES_DICT, value)
print("callbackSetUiLanguage__after_getKeyByValue", value) print("callbackSetUiLanguage__after_getKeyByValue", value)
config.UI_LANGUAGE = value config.UI_LANGUAGE = value
return {"status":"success"} return {"status":"success"}
def callbackSetEnableRestoreMainWindowGeometry(value): def callbackSetEnableRestoreMainWindowGeometry(value) -> dict:
print("callbackSetEnableRestoreMainWindowGeometry", value) print("callbackSetEnableRestoreMainWindowGeometry", value)
config.ENABLE_RESTORE_MAIN_WINDOW_GEOMETRY = value config.ENABLE_RESTORE_MAIN_WINDOW_GEOMETRY = value
return {"status":"success"} return {"status":"success"}
# Translation Tab # Translation Tab
def callbackSetUseTranslationFeature(value): def callbackSetUseTranslationFeature(value) -> dict:
print("callbackSetUseTranslationFeature", value) print("callbackSetUseTranslationFeature", value)
config.USE_TRANSLATION_FEATURE = value config.USE_TRANSLATION_FEATURE = value
if config.USE_TRANSLATION_FEATURE is True: if config.USE_TRANSLATION_FEATURE is True:
@@ -543,7 +553,7 @@ def callbackSetUseTranslationFeature(value):
config.IS_RESET_BUTTON_DISPLAYED_FOR_TRANSLATION = False config.IS_RESET_BUTTON_DISPLAYED_FOR_TRANSLATION = False
return {"status":"success"} return {"status":"success"}
def callbackSetCtranslate2WeightType(value): def callbackSetCtranslate2WeightType(value) -> dict:
print("callbackSetCtranslate2WeightType", value) print("callbackSetCtranslate2WeightType", value)
config.CTRANSLATE2_WEIGHT_TYPE = str(value) config.CTRANSLATE2_WEIGHT_TYPE = str(value)
if model.checkCTranslatorCTranslate2ModelWeight(): if model.checkCTranslatorCTranslate2ModelWeight():
@@ -557,7 +567,7 @@ def callbackSetCtranslate2WeightType(value):
config.IS_RESET_BUTTON_DISPLAYED_FOR_TRANSLATION = True config.IS_RESET_BUTTON_DISPLAYED_FOR_TRANSLATION = True
return {"status":"success"} return {"status":"success"}
def callbackSetDeeplAuthKey(value): def callbackSetDeeplAuthKey(value) -> dict:
status = "error" status = "error"
print("callbackSetDeeplAuthKey", str(value)) print("callbackSetDeeplAuthKey", str(value))
if len(value) == 36 or len(value) == 39: if len(value) == 36 or len(value) == 39:
@@ -573,7 +583,7 @@ def callbackSetDeeplAuthKey(value):
updateTranslationEngineAndEngineList() updateTranslationEngineAndEngineList()
return {"status":status} return {"status":status}
def callbackClearDeeplAuthKey(): def callbackClearDeeplAuthKey() -> dict:
auth_keys = config.AUTH_KEYS auth_keys = config.AUTH_KEYS
auth_keys["DeepL_API"] = None auth_keys["DeepL_API"] = None
config.AUTH_KEYS = auth_keys config.AUTH_KEYS = auth_keys
@@ -582,92 +592,94 @@ def callbackClearDeeplAuthKey():
# Transcription Tab # Transcription Tab
# Transcription (Mic) # Transcription (Mic)
def callbackSetMicHost(value): def callbackSetMicHost(value) -> dict:
print("callbackSetMicHost", value) print("callbackSetMicHost", value)
config.CHOICE_MIC_HOST = value config.CHOICE_MIC_HOST = value
config.CHOICE_MIC_DEVICE = model.getInputDefaultDevice() config.CHOICE_MIC_DEVICE = model.getInputDefaultDevice()
model.stopCheckMicEnergy() model.stopCheckMicEnergy()
return {"status":"success"} return {"status":"success"}
def callbackSetMicDevice(value): def callbackSetMicDevice(value) -> dict:
print("callbackSetMicDevice", value) print("callbackSetMicDevice", value)
config.CHOICE_MIC_DEVICE = value config.CHOICE_MIC_DEVICE = value
model.stopCheckMicEnergy() model.stopCheckMicEnergy()
return {"status":"success"} return {"status":"success"}
def callbackSetMicEnergyThreshold(value): def callbackSetMicEnergyThreshold(value) -> dict:
status = "error" status = "error"
print("callbackSetMicEnergyThreshold", value) print("callbackSetMicEnergyThreshold", value)
value = int(value) value = int(value)
if 0 <= value <= config.MAX_MIC_ENERGY_THRESHOLD: if 0 <= value <= config.MAX_MIC_ENERGY_THRESHOLD:
config.INPUT_MIC_ENERGY_THRESHOLD = value config.INPUT_MIC_ENERGY_THRESHOLD = value
status = "success" status = "success"
return {"status":status} return {"status": status}
def callbackSetMicDynamicEnergyThreshold(value): def callbackSetMicDynamicEnergyThreshold(value) -> dict:
print("callbackSetMicDynamicEnergyThreshold", value) print("callbackSetMicDynamicEnergyThreshold", value)
config.INPUT_MIC_DYNAMIC_ENERGY_THRESHOLD = value config.INPUT_MIC_DYNAMIC_ENERGY_THRESHOLD = value
return {"status":"success"} return {"status":"success"}
def setProgressBarMicEnergy(energy): class ProgressBarMicEnergy:
def __init__(self, action):
self.action = action
def set(self, energy) -> None:
self.action({"status":"success", "energy":energy})
def callbackEnableCheckMicThreshold(): def callbackEnableCheckMicThreshold(data, action, *args, **kwargs) -> dict:
print("callbackEnableCheckMicThreshold") print("callbackEnableCheckMicThreshold")
model.startCheckMicEnergy(setProgressBarMicEnergy) progressbar_mic_energy = ProgressBarMicEnergy(action)
model.startCheckMicEnergy(progressbar_mic_energy.set)
return {"status":"success"} return {"status":"success"}
def callbackDisableCheckMicThreshold(): def callbackDisableCheckMicThreshold() -> dict:
print("callbackDisableCheckMicThreshold") print("callbackDisableCheckMicThreshold")
model.stopCheckMicEnergy() model.stopCheckMicEnergy()
return {"status":"success"} return {"status":"success"}
def callbackSetMicRecordTimeout(value): def callbackSetMicRecordTimeout(value) -> dict:
print("callbackSetMicRecordTimeout", value) print("callbackSetMicRecordTimeout", value)
if value == "": response = {"status":"success"}
return if value != "":
try: try:
value = int(value) value = int(value)
if 0 <= value and value <= config.INPUT_MIC_PHRASE_TIMEOUT: if 0 <= value <= config.INPUT_MIC_PHRASE_TIMEOUT:
view.clearNotificationMessage()
config.INPUT_MIC_RECORD_TIMEOUT = value config.INPUT_MIC_RECORD_TIMEOUT = value
view.setGuiVariable_MicRecordTimeout(config.INPUT_MIC_RECORD_TIMEOUT)
else: else:
raise ValueError() raise ValueError()
except Exception: except Exception:
view.showErrorMessage_MicRecordTimeout() response = {"status":"error", "message":"Error Mic Record Timeout"}
return response
def callbackSetMicPhraseTimeout(value): def callbackSetMicPhraseTimeout(value) -> dict:
print("callbackSetMicPhraseTimeout", value) print("callbackSetMicPhraseTimeout", value)
if value == "": response = {"status":"success"}
return if value != "":
try: try:
value = int(value) value = int(value)
if 0 <= value and value >= config.INPUT_MIC_RECORD_TIMEOUT: if value >= config.INPUT_MIC_RECORD_TIMEOUT:
view.clearNotificationMessage()
config.INPUT_MIC_PHRASE_TIMEOUT = value config.INPUT_MIC_PHRASE_TIMEOUT = value
view.setGuiVariable_MicPhraseTimeout(config.INPUT_MIC_PHRASE_TIMEOUT)
else: else:
raise ValueError() raise ValueError()
except Exception: except Exception:
view.showErrorMessage_MicPhraseTimeout() response = {"status":"error", "message":"Error Mic Phrase Timeout"}
return response
def callbackSetMicMaxPhrases(value): def callbackSetMicMaxPhrases(value) -> dict:
print("callbackSetMicMaxPhrases", value) print("callbackSetMicMaxPhrases", value)
if value == "": response = {"status":"success"}
return if value != "":
try: try:
value = int(value) value = int(value)
if 0 <= value: if 0 <= value:
view.clearNotificationMessage()
config.INPUT_MIC_MAX_PHRASES = value config.INPUT_MIC_MAX_PHRASES = value
view.setGuiVariable_MicMaxPhrases(config.INPUT_MIC_MAX_PHRASES)
else: else:
raise ValueError() raise ValueError()
except Exception: except Exception:
view.showErrorMessage_MicMaxPhrases() response = {"status":"error", "message":"Error Mic Max Phrases"}
return response
def callbackSetMicWordFilter(values): def callbackSetMicWordFilter(values) -> dict:
print("callbackSetMicWordFilter", values) print("callbackSetMicWordFilter", values)
values = str(values) values = str(values)
values = [w.strip() for w in values.split(",") if len(w.strip()) > 0] values = [w.strip() for w in values.split(",") if len(w.strip()) > 0]
@@ -683,37 +695,34 @@ def callbackSetMicWordFilter(values):
new_added_value.append(value) new_added_value.append(value)
config.INPUT_MIC_WORD_FILTER = new_input_mic_word_filter_list config.INPUT_MIC_WORD_FILTER = new_input_mic_word_filter_list
view.addValueToList_WordFilter(new_added_value)
view.clearEntryBox_WordFilter()
view.setLatestConfigVariable("MicMicWordFilter")
model.resetKeywordProcessor() model.resetKeywordProcessor()
model.addKeywords() model.addKeywords()
return {"status":"success"}
def callbackDeleteMicWordFilter(value): def callbackDeleteMicWordFilter(value) -> dict:
print("callbackDeleteMicWordFilter", value) print("callbackDeleteMicWordFilter", value)
try: try:
new_input_mic_word_filter_list = config.INPUT_MIC_WORD_FILTER new_input_mic_word_filter_list = config.INPUT_MIC_WORD_FILTER
new_input_mic_word_filter_list.remove(str(value)) new_input_mic_word_filter_list.remove(str(value))
config.INPUT_MIC_WORD_FILTER = new_input_mic_word_filter_list config.INPUT_MIC_WORD_FILTER = new_input_mic_word_filter_list
view.setLatestConfigVariable("MicMicWordFilter")
model.resetKeywordProcessor() model.resetKeywordProcessor()
model.addKeywords() model.addKeywords()
except Exception: except Exception:
print("There was no the target word in config.INPUT_MIC_WORD_FILTER") print("There was no the target word in config.INPUT_MIC_WORD_FILTER")
return {"status":"success"}
# Transcription (Speaker) # Transcription (Speaker)
def callbackSetSpeakerDevice(value): def callbackSetSpeakerDevice(value) -> dict:
print("callbackSetSpeakerDevice", value) print("callbackSetSpeakerDevice", value)
config.CHOICE_SPEAKER_DEVICE = value config.CHOICE_SPEAKER_DEVICE = value
model.stopCheckSpeakerEnergy() model.stopCheckSpeakerEnergy()
view.replaceSpeakerThresholdCheckButton_Passive() return {"status":"success"}
def callbackSetSpeakerEnergyThreshold(value): def callbackSetSpeakerEnergyThreshold(value) -> dict:
print("callbackSetSpeakerEnergyThreshold", value) print("callbackSetSpeakerEnergyThreshold", value)
if value == "": response = {"status":"success"}
return if value != "":
try: try:
value = int(value) value = int(value)
if 0 <= value and value <= config.MAX_SPEAKER_ENERGY_THRESHOLD: if 0 <= value and value <= config.MAX_SPEAKER_ENERGY_THRESHOLD:
@@ -723,15 +732,17 @@ def callbackSetSpeakerEnergyThreshold(value):
else: else:
raise ValueError() raise ValueError()
except Exception: except Exception:
view.showErrorMessage_SpeakerEnergyThreshold() response = {"status":"error", "message":"Error Set Speaker Energy Threshold"}
return response
def callbackSetSpeakerDynamicEnergyThreshold(value): def callbackSetSpeakerDynamicEnergyThreshold(value) -> dict:
print("callbackSetSpeakerDynamicEnergyThreshold", value) print("callbackSetSpeakerDynamicEnergyThreshold", value)
config.INPUT_SPEAKER_DYNAMIC_ENERGY_THRESHOLD = value config.INPUT_SPEAKER_DYNAMIC_ENERGY_THRESHOLD = value
if config.INPUT_SPEAKER_DYNAMIC_ENERGY_THRESHOLD is True: if config.INPUT_SPEAKER_DYNAMIC_ENERGY_THRESHOLD is True:
view.closeSpeakerEnergyThresholdWidget() view.closeSpeakerEnergyThresholdWidget()
else: else:
view.openSpeakerEnergyThresholdWidget() view.openSpeakerEnergyThresholdWidget()
return {"status":"success"}
def setProgressBarSpeakerEnergy(energy): def setProgressBarSpeakerEnergy(energy):
view.updateSetProgressBar_SpeakerEnergy(energy) view.updateSetProgressBar_SpeakerEnergy(energy)

View File

@@ -113,17 +113,13 @@ controller_mapping = {
"/controller/callback_disable_transcription_receive": controller.callbackDisableTranscriptionReceive, "/controller/callback_disable_transcription_receive": controller.callbackDisableTranscriptionReceive,
"/controller/callback_enable_foreground": controller.callbackEnableForeground, "/controller/callback_enable_foreground": controller.callbackEnableForeground,
"/controller/callback_disable_foreground": controller.callbackDisableForeground, "/controller/callback_disable_foreground": controller.callbackDisableForeground,
"/controller/set_your_language_and_country": controller.setYourLanguageAndCountry, "/controller/set_your_language_and_country": controller.setYourLanguageAndCountry,
"/controller/set_target_language_and_country": controller.setTargetLanguageAndCountry, "/controller/set_target_language_and_country": controller.setTargetLanguageAndCountry,
"/controller/swap_your_language_and_target_language": controller.swapYourLanguageAndTargetLanguage, "/controller/swap_your_language_and_target_language": controller.swapYourLanguageAndTargetLanguage,
"/controller/callback_selected_language_preset_tab": controller.callbackSelectedLanguagePresetTab, "/controller/callback_selected_language_preset_tab": controller.callbackSelectedLanguagePresetTab,
"/controller/callback_selected_translation_engine": controller.callbackSelectedTranslationEngine, "/controller/callback_selected_translation_engine": controller.callbackSelectedTranslationEngine,
"/controller/callback_disable_config_window_compact_mode": controller.callbackEnableConfigWindowCompactMode, "/controller/callback_disable_config_window_compact_mode": controller.callbackEnableConfigWindowCompactMode,
"/controller/callback_enable_config_window_compact_mode": controller.callbackDisableConfigWindowCompactMode, "/controller/callback_enable_config_window_compact_mode": controller.callbackDisableConfigWindowCompactMode,
"/controller/callback_set_transparency": controller.callbackSetTransparency, "/controller/callback_set_transparency": controller.callbackSetTransparency,
"/controller/callback_set_appearance": controller.callbackSetAppearance, "/controller/callback_set_appearance": controller.callbackSetAppearance,
"/controller/callback_set_ui_scaling": controller.callbackSetUiScaling, "/controller/callback_set_ui_scaling": controller.callbackSetUiScaling,
@@ -132,22 +128,22 @@ controller_mapping = {
"/controller/callback_set_font_family": controller.callbackSetFontFamily, "/controller/callback_set_font_family": controller.callbackSetFontFamily,
"/controller/callback_set_ui_language": controller.callbackSetUiLanguage, "/controller/callback_set_ui_language": controller.callbackSetUiLanguage,
"/controller/callback_set_enable_restore_main_window_geometry": controller.callbackSetEnableRestoreMainWindowGeometry, "/controller/callback_set_enable_restore_main_window_geometry": controller.callbackSetEnableRestoreMainWindowGeometry,
"/controller/callback_set_use_translation_feature": controller.callbackSetUseTranslationFeature, "/controller/callback_set_use_translation_feature": controller.callbackSetUseTranslationFeature,
"/controller/callback_set_ctranslate2_weight_type": controller.callbackSetCtranslate2WeightType, "/controller/callback_set_ctranslate2_weight_type": controller.callbackSetCtranslate2WeightType,
"/controller/callback_set_deepl_auth_key": controller.callbackSetDeeplAuthKey, "/controller/callback_set_deepl_auth_key": controller.callbackSetDeeplAuthKey,
"/controller/callback_clear_deepl_auth_key": controller.callbackClearDeeplAuthKey, "/controller/callback_clear_deepl_auth_key": controller.callbackClearDeeplAuthKey,
"/controller/callback_set_mic_host": controller.callbackSetMicHost, "/controller/callback_set_mic_host": controller.callbackSetMicHost,
"/controller/callback_set_mic_device": controller.callbackSetMicDevice, "/controller/callback_set_mic_device": controller.callbackSetMicDevice,
"/controller/callback_set_mic_energy_threshold": controller.callbackSetMicEnergyThreshold, "/controller/callback_set_mic_energy_threshold": controller.callbackSetMicEnergyThreshold,
"/controller/callback_set_mic_dynamic_energy_threshold": controller.callbackSetMicDynamicEnergyThreshold, "/controller/callback_set_mic_dynamic_energy_threshold": controller.callbackSetMicDynamicEnergyThreshold,
"/controller/callback_check_mic_threshold": controller.callbackCheckMicThreshold, "/controller/callback_enable_check_mic_threshold": controller.callbackEnableCheckMicThreshold,
"/controller/callback_disable_check_mic_threshold": controller.callbackDisableCheckMicThreshold,
"/controller/callback_set_mic_record_timeout": controller.callbackSetMicRecordTimeout, "/controller/callback_set_mic_record_timeout": controller.callbackSetMicRecordTimeout,
"/controller/callback_set_mic_phrase_timeout": controller.callbackSetMicPhraseTimeout, "/controller/callback_set_mic_phrase_timeout": controller.callbackSetMicPhraseTimeout,
"/controller/callback_set_mic_max_phrases": controller.callbackSetMicMaxPhrases, "/controller/callback_set_mic_max_phrases": controller.callbackSetMicMaxPhrases,
"/controller/callback_set_mic_word_filter": controller.callbackSetMicWordFilter, "/controller/callback_set_mic_word_filter": controller.callbackSetMicWordFilter,
"/controller/callback_delete_mic_word_filter": controller.callbackDeleteMicWordFilter, "/controller/callback_delete_mic_word_filter": controller.callbackDeleteMicWordFilter,
"/controller/callback_set_speaker_device": controller.callbackSetSpeakerDevice, "/controller/callback_set_speaker_device": controller.callbackSetSpeakerDevice,
"/controller/callback_set_speaker_energy_threshold": controller.callbackSetSpeakerEnergyThreshold, "/controller/callback_set_speaker_energy_threshold": controller.callbackSetSpeakerEnergyThreshold,
"/controller/callback_set_speaker_dynamic_energy_threshold": controller.callbackSetSpeakerDynamicEnergyThreshold, "/controller/callback_set_speaker_dynamic_energy_threshold": controller.callbackSetSpeakerDynamicEnergyThreshold,
@@ -179,6 +175,9 @@ controller_mapping = {
action_mapping = { action_mapping = {
"/controller/callback_enable_transcription_send": "/action/transcription_send_message", "/controller/callback_enable_transcription_send": "/action/transcription_send_message",
"/controller/callback_disable_transcription_send": "/action/transcription_send_stopped", "/controller/callback_disable_transcription_send": "/action/transcription_send_stopped",
"/controller/callback_enable_transcription_receive": "/action/transcription_receive_message",
"/controller/callback_disable_transcription_receive": "/action/transcription_receive_stopped",
"/controller/callback_enable_check_mic_threshold": "/action/check_mic_threshold_energy",
} }
def handleConfigRequest(endpoint): def handleConfigRequest(endpoint):