Merge branch 'config' into UI_2.0
This commit is contained in:
305
config.py
305
config.py
@@ -11,6 +11,13 @@ from models.translation.translation_languages import translatorEngine, translati
|
|||||||
from models.transcription.transcription_languages import transcription_lang
|
from models.transcription.transcription_languages import transcription_lang
|
||||||
from models.transcription.transcription_utils import getInputDevices, getOutputDevices, getDefaultInputDevice, getDefaultOutputDevice
|
from models.transcription.transcription_utils import getInputDevices, getOutputDevices, getDefaultInputDevice, getDefaultOutputDevice
|
||||||
|
|
||||||
|
json_serializable_vars = {}
|
||||||
|
def json_serializable(var_name):
|
||||||
|
def decorator(func):
|
||||||
|
json_serializable_vars[var_name] = func
|
||||||
|
return func
|
||||||
|
return decorator
|
||||||
|
|
||||||
def saveJson(path, key, value):
|
def saveJson(path, key, value):
|
||||||
with open(path, "r", encoding="utf-8") as fp:
|
with open(path, "r", encoding="utf-8") as fp:
|
||||||
json_data = load(fp)
|
json_data = load(fp)
|
||||||
@@ -28,6 +35,7 @@ class Config:
|
|||||||
cls._instance.load_config()
|
cls._instance.load_config()
|
||||||
return cls._instance
|
return cls._instance
|
||||||
|
|
||||||
|
# Read Only
|
||||||
@property
|
@property
|
||||||
def VERSION(self):
|
def VERSION(self):
|
||||||
return self._VERSION
|
return self._VERSION
|
||||||
@@ -36,6 +44,27 @@ class Config:
|
|||||||
def PATH_CONFIG(self):
|
def PATH_CONFIG(self):
|
||||||
return self._PATH_CONFIG
|
return self._PATH_CONFIG
|
||||||
|
|
||||||
|
@property
|
||||||
|
def GITHUB_URL(self):
|
||||||
|
return self._GITHUB_URL
|
||||||
|
|
||||||
|
@property
|
||||||
|
def BOOTH_URL(self):
|
||||||
|
return self._BOOTH_URL
|
||||||
|
|
||||||
|
@property
|
||||||
|
def DOCUMENTS_URL(self):
|
||||||
|
return self._DOCUMENTS_URL
|
||||||
|
|
||||||
|
@property
|
||||||
|
def MAX_MIC_ENERGY_THRESHOLD(self):
|
||||||
|
return self._MAX_MIC_ENERGY_THRESHOLD
|
||||||
|
|
||||||
|
@property
|
||||||
|
def MAX_SPEAKER_ENERGY_THRESHOLD(self):
|
||||||
|
return self._MAX_SPEAKER_ENERGY_THRESHOLD
|
||||||
|
|
||||||
|
# Read Write
|
||||||
@property
|
@property
|
||||||
def ENABLE_TRANSLATION(self):
|
def ENABLE_TRANSLATION(self):
|
||||||
return self._ENABLE_TRANSLATION
|
return self._ENABLE_TRANSLATION
|
||||||
@@ -73,6 +102,88 @@ class Config:
|
|||||||
self._ENABLE_FOREGROUND = value
|
self._ENABLE_FOREGROUND = value
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
def SOURCE_COUNTRY(self):
|
||||||
|
return self._SOURCE_COUNTRY
|
||||||
|
|
||||||
|
@SOURCE_COUNTRY.setter
|
||||||
|
def SOURCE_COUNTRY(self, value):
|
||||||
|
if type(value) is str:
|
||||||
|
self._SOURCE_COUNTRY = value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def SOURCE_LANGUAGE(self):
|
||||||
|
return self._SOURCE_LANGUAGE
|
||||||
|
|
||||||
|
@SOURCE_LANGUAGE.setter
|
||||||
|
def SOURCE_LANGUAGE(self, value):
|
||||||
|
if type(value) is str:
|
||||||
|
self._SOURCE_LANGUAGE = value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def TARGET_COUNTRY(self):
|
||||||
|
return self._TARGET_COUNTRY
|
||||||
|
|
||||||
|
@TARGET_COUNTRY.setter
|
||||||
|
def TARGET_COUNTRY(self, value):
|
||||||
|
if type(value) is str:
|
||||||
|
self._TARGET_COUNTRY = value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def TARGET_LANGUAGE(self):
|
||||||
|
return self._TARGET_LANGUAGE
|
||||||
|
|
||||||
|
@TARGET_LANGUAGE.setter
|
||||||
|
def TARGET_LANGUAGE(self, value):
|
||||||
|
if type(value) is str:
|
||||||
|
self._TARGET_LANGUAGE = value
|
||||||
|
|
||||||
|
@property
|
||||||
|
def CHOICE_TRANSLATOR(self):
|
||||||
|
return self._CHOICE_TRANSLATOR
|
||||||
|
|
||||||
|
@CHOICE_TRANSLATOR.setter
|
||||||
|
def CHOICE_TRANSLATOR(self, value):
|
||||||
|
if value in translatorEngine:
|
||||||
|
self._CHOICE_TRANSLATOR = value
|
||||||
|
|
||||||
|
# Save Json Data
|
||||||
|
## Main Window
|
||||||
|
@property
|
||||||
|
@json_serializable('SELECTED_TAB_NO')
|
||||||
|
def SELECTED_TAB_NO(self):
|
||||||
|
return self._SELECTED_TAB_NO
|
||||||
|
|
||||||
|
@SELECTED_TAB_NO.setter
|
||||||
|
def SELECTED_TAB_NO(self, value):
|
||||||
|
if type(value) is str:
|
||||||
|
self._SELECTED_TAB_NO = value
|
||||||
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
|
@property
|
||||||
|
@json_serializable('SELECTED_TAB_YOUR_LANGUAGES')
|
||||||
|
def SELECTED_TAB_YOUR_LANGUAGES(self):
|
||||||
|
return self._SELECTED_TAB_YOUR_LANGUAGES
|
||||||
|
|
||||||
|
@SELECTED_TAB_YOUR_LANGUAGES.setter
|
||||||
|
def SELECTED_TAB_YOUR_LANGUAGES(self, value):
|
||||||
|
if type(value) is dict:
|
||||||
|
self._SELECTED_TAB_YOUR_LANGUAGES = value
|
||||||
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
|
@property
|
||||||
|
@json_serializable('SELECTED_TAB_TARGET_LANGUAGES')
|
||||||
|
def SELECTED_TAB_TARGET_LANGUAGES(self):
|
||||||
|
return self._SELECTED_TAB_TARGET_LANGUAGES
|
||||||
|
|
||||||
|
@SELECTED_TAB_TARGET_LANGUAGES.setter
|
||||||
|
def SELECTED_TAB_TARGET_LANGUAGES(self, value):
|
||||||
|
if type(value) is dict:
|
||||||
|
self._SELECTED_TAB_TARGET_LANGUAGES = value
|
||||||
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
|
## Config Window
|
||||||
|
@property
|
||||||
|
@json_serializable('TRANSPARENCY')
|
||||||
def TRANSPARENCY(self):
|
def TRANSPARENCY(self):
|
||||||
return self._TRANSPARENCY
|
return self._TRANSPARENCY
|
||||||
|
|
||||||
@@ -83,6 +194,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('APPEARANCE_THEME')
|
||||||
def APPEARANCE_THEME(self):
|
def APPEARANCE_THEME(self):
|
||||||
return self._APPEARANCE_THEME
|
return self._APPEARANCE_THEME
|
||||||
|
|
||||||
@@ -93,6 +205,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('UI_SCALING')
|
||||||
def UI_SCALING(self):
|
def UI_SCALING(self):
|
||||||
return self._UI_SCALING
|
return self._UI_SCALING
|
||||||
|
|
||||||
@@ -103,6 +216,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('FONT_FAMILY')
|
||||||
def FONT_FAMILY(self):
|
def FONT_FAMILY(self):
|
||||||
return self._FONT_FAMILY
|
return self._FONT_FAMILY
|
||||||
|
|
||||||
@@ -116,6 +230,7 @@ class Config:
|
|||||||
root.destroy()
|
root.destroy()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('UI_LANGUAGE')
|
||||||
def UI_LANGUAGE(self):
|
def UI_LANGUAGE(self):
|
||||||
return self._UI_LANGUAGE
|
return self._UI_LANGUAGE
|
||||||
|
|
||||||
@@ -126,56 +241,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def CHOICE_TRANSLATOR(self):
|
@json_serializable('CHOICE_MIC_HOST')
|
||||||
return self._CHOICE_TRANSLATOR
|
|
||||||
|
|
||||||
@CHOICE_TRANSLATOR.setter
|
|
||||||
def CHOICE_TRANSLATOR(self, value):
|
|
||||||
if value in translatorEngine:
|
|
||||||
self._CHOICE_TRANSLATOR = value
|
|
||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def SOURCE_LANGUAGE(self):
|
|
||||||
return self._SOURCE_LANGUAGE
|
|
||||||
|
|
||||||
@SOURCE_LANGUAGE.setter
|
|
||||||
def SOURCE_LANGUAGE(self, value):
|
|
||||||
if type(value) is str:
|
|
||||||
self._SOURCE_LANGUAGE = value
|
|
||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def SOURCE_COUNTRY(self):
|
|
||||||
return self._SOURCE_COUNTRY
|
|
||||||
|
|
||||||
@SOURCE_COUNTRY.setter
|
|
||||||
def SOURCE_COUNTRY(self, value):
|
|
||||||
if type(value) is str:
|
|
||||||
self._SOURCE_COUNTRY = value
|
|
||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def TARGET_LANGUAGE(self):
|
|
||||||
return self._TARGET_LANGUAGE
|
|
||||||
|
|
||||||
@TARGET_LANGUAGE.setter
|
|
||||||
def TARGET_LANGUAGE(self, value):
|
|
||||||
if type(value) is str:
|
|
||||||
self._TARGET_LANGUAGE = value
|
|
||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def TARGET_COUNTRY(self):
|
|
||||||
return self._TARGET_COUNTRY
|
|
||||||
|
|
||||||
@TARGET_COUNTRY.setter
|
|
||||||
def TARGET_COUNTRY(self, value):
|
|
||||||
if type(value) is str:
|
|
||||||
self._TARGET_COUNTRY = value
|
|
||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def CHOICE_MIC_HOST(self):
|
def CHOICE_MIC_HOST(self):
|
||||||
return self._CHOICE_MIC_HOST
|
return self._CHOICE_MIC_HOST
|
||||||
|
|
||||||
@@ -186,6 +252,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('CHOICE_MIC_DEVICE')
|
||||||
def CHOICE_MIC_DEVICE(self):
|
def CHOICE_MIC_DEVICE(self):
|
||||||
return self._CHOICE_MIC_DEVICE
|
return self._CHOICE_MIC_DEVICE
|
||||||
|
|
||||||
@@ -196,6 +263,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('INPUT_MIC_ENERGY_THRESHOLD')
|
||||||
def INPUT_MIC_ENERGY_THRESHOLD(self):
|
def INPUT_MIC_ENERGY_THRESHOLD(self):
|
||||||
return self._INPUT_MIC_ENERGY_THRESHOLD
|
return self._INPUT_MIC_ENERGY_THRESHOLD
|
||||||
|
|
||||||
@@ -206,6 +274,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('INPUT_MIC_DYNAMIC_ENERGY_THRESHOLD')
|
||||||
def INPUT_MIC_DYNAMIC_ENERGY_THRESHOLD(self):
|
def INPUT_MIC_DYNAMIC_ENERGY_THRESHOLD(self):
|
||||||
return self._INPUT_MIC_DYNAMIC_ENERGY_THRESHOLD
|
return self._INPUT_MIC_DYNAMIC_ENERGY_THRESHOLD
|
||||||
|
|
||||||
@@ -216,6 +285,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('INPUT_MIC_RECORD_TIMEOUT')
|
||||||
def INPUT_MIC_RECORD_TIMEOUT(self):
|
def INPUT_MIC_RECORD_TIMEOUT(self):
|
||||||
return self._INPUT_MIC_RECORD_TIMEOUT
|
return self._INPUT_MIC_RECORD_TIMEOUT
|
||||||
|
|
||||||
@@ -226,6 +296,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('INPUT_MIC_PHRASE_TIMEOUT')
|
||||||
def INPUT_MIC_PHRASE_TIMEOUT(self):
|
def INPUT_MIC_PHRASE_TIMEOUT(self):
|
||||||
return self._INPUT_MIC_PHRASE_TIMEOUT
|
return self._INPUT_MIC_PHRASE_TIMEOUT
|
||||||
|
|
||||||
@@ -236,6 +307,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('INPUT_MIC_MAX_PHRASES')
|
||||||
def INPUT_MIC_MAX_PHRASES(self):
|
def INPUT_MIC_MAX_PHRASES(self):
|
||||||
return self._INPUT_MIC_MAX_PHRASES
|
return self._INPUT_MIC_MAX_PHRASES
|
||||||
|
|
||||||
@@ -246,6 +318,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('INPUT_MIC_WORD_FILTER')
|
||||||
def INPUT_MIC_WORD_FILTER(self):
|
def INPUT_MIC_WORD_FILTER(self):
|
||||||
return self._INPUT_MIC_WORD_FILTER
|
return self._INPUT_MIC_WORD_FILTER
|
||||||
|
|
||||||
@@ -256,6 +329,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('CHOICE_SPEAKER_DEVICE')
|
||||||
def CHOICE_SPEAKER_DEVICE(self):
|
def CHOICE_SPEAKER_DEVICE(self):
|
||||||
return self._CHOICE_SPEAKER_DEVICE
|
return self._CHOICE_SPEAKER_DEVICE
|
||||||
|
|
||||||
@@ -268,6 +342,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('INPUT_SPEAKER_ENERGY_THRESHOLD')
|
||||||
def INPUT_SPEAKER_ENERGY_THRESHOLD(self):
|
def INPUT_SPEAKER_ENERGY_THRESHOLD(self):
|
||||||
return self._INPUT_SPEAKER_ENERGY_THRESHOLD
|
return self._INPUT_SPEAKER_ENERGY_THRESHOLD
|
||||||
|
|
||||||
@@ -278,6 +353,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('INPUT_SPEAKER_DYNAMIC_ENERGY_THRESHOLD')
|
||||||
def INPUT_SPEAKER_DYNAMIC_ENERGY_THRESHOLD(self):
|
def INPUT_SPEAKER_DYNAMIC_ENERGY_THRESHOLD(self):
|
||||||
return self._INPUT_SPEAKER_DYNAMIC_ENERGY_THRESHOLD
|
return self._INPUT_SPEAKER_DYNAMIC_ENERGY_THRESHOLD
|
||||||
|
|
||||||
@@ -288,6 +364,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('INPUT_SPEAKER_RECORD_TIMEOUT')
|
||||||
def INPUT_SPEAKER_RECORD_TIMEOUT(self):
|
def INPUT_SPEAKER_RECORD_TIMEOUT(self):
|
||||||
return self._INPUT_SPEAKER_RECORD_TIMEOUT
|
return self._INPUT_SPEAKER_RECORD_TIMEOUT
|
||||||
|
|
||||||
@@ -298,6 +375,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('INPUT_SPEAKER_PHRASE_TIMEOUT')
|
||||||
def INPUT_SPEAKER_PHRASE_TIMEOUT(self):
|
def INPUT_SPEAKER_PHRASE_TIMEOUT(self):
|
||||||
return self._INPUT_SPEAKER_PHRASE_TIMEOUT
|
return self._INPUT_SPEAKER_PHRASE_TIMEOUT
|
||||||
|
|
||||||
@@ -308,6 +386,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('INPUT_SPEAKER_MAX_PHRASES')
|
||||||
def INPUT_SPEAKER_MAX_PHRASES(self):
|
def INPUT_SPEAKER_MAX_PHRASES(self):
|
||||||
return self._INPUT_SPEAKER_MAX_PHRASES
|
return self._INPUT_SPEAKER_MAX_PHRASES
|
||||||
|
|
||||||
@@ -318,6 +397,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('OSC_IP_ADDRESS')
|
||||||
def OSC_IP_ADDRESS(self):
|
def OSC_IP_ADDRESS(self):
|
||||||
return self._OSC_IP_ADDRESS
|
return self._OSC_IP_ADDRESS
|
||||||
|
|
||||||
@@ -328,6 +408,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('OSC_PORT')
|
||||||
def OSC_PORT(self):
|
def OSC_PORT(self):
|
||||||
return self._OSC_PORT
|
return self._OSC_PORT
|
||||||
|
|
||||||
@@ -338,6 +419,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('AUTH_KEYS')
|
||||||
def AUTH_KEYS(self):
|
def AUTH_KEYS(self):
|
||||||
return self._AUTH_KEYS
|
return self._AUTH_KEYS
|
||||||
|
|
||||||
@@ -350,6 +432,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, self.AUTH_KEYS)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, self.AUTH_KEYS)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('MESSAGE_FORMAT')
|
||||||
def MESSAGE_FORMAT(self):
|
def MESSAGE_FORMAT(self):
|
||||||
return self._MESSAGE_FORMAT
|
return self._MESSAGE_FORMAT
|
||||||
|
|
||||||
@@ -360,6 +443,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('ENABLE_AUTO_CLEAR_MESSAGE_BOX')
|
||||||
def ENABLE_AUTO_CLEAR_MESSAGE_BOX(self):
|
def ENABLE_AUTO_CLEAR_MESSAGE_BOX(self):
|
||||||
return self._ENABLE_AUTO_CLEAR_MESSAGE_BOX
|
return self._ENABLE_AUTO_CLEAR_MESSAGE_BOX
|
||||||
|
|
||||||
@@ -370,6 +454,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('ENABLE_NOTICE_XSOVERLAY')
|
||||||
def ENABLE_NOTICE_XSOVERLAY(self):
|
def ENABLE_NOTICE_XSOVERLAY(self):
|
||||||
return self._ENABLE_NOTICE_XSOVERLAY
|
return self._ENABLE_NOTICE_XSOVERLAY
|
||||||
|
|
||||||
@@ -380,6 +465,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('ENABLE_SEND_MESSAGE_TO_VRC')
|
||||||
def ENABLE_SEND_MESSAGE_TO_VRC(self):
|
def ENABLE_SEND_MESSAGE_TO_VRC(self):
|
||||||
return self._ENABLE_SEND_MESSAGE_TO_VRC
|
return self._ENABLE_SEND_MESSAGE_TO_VRC
|
||||||
|
|
||||||
@@ -390,6 +476,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('STARTUP_OSC_ENABLED_CHECK')
|
||||||
def STARTUP_OSC_ENABLED_CHECK(self):
|
def STARTUP_OSC_ENABLED_CHECK(self):
|
||||||
return self._STARTUP_OSC_ENABLED_CHECK
|
return self._STARTUP_OSC_ENABLED_CHECK
|
||||||
|
|
||||||
@@ -400,52 +487,7 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def GITHUB_URL(self):
|
@json_serializable('ENABLE_LOGGER')
|
||||||
return self._GITHUB_URL
|
|
||||||
|
|
||||||
# @property
|
|
||||||
# def BREAK_KEYSYM_LIST(self):
|
|
||||||
# return self._BREAK_KEYSYM_LIST
|
|
||||||
|
|
||||||
@property
|
|
||||||
def MAX_MIC_ENERGY_THRESHOLD(self):
|
|
||||||
return self._MAX_MIC_ENERGY_THRESHOLD
|
|
||||||
|
|
||||||
@property
|
|
||||||
def MAX_SPEAKER_ENERGY_THRESHOLD(self):
|
|
||||||
return self._MAX_SPEAKER_ENERGY_THRESHOLD
|
|
||||||
|
|
||||||
@property
|
|
||||||
def SELECTED_TAB_NO(self):
|
|
||||||
return self._SELECTED_TAB_NO
|
|
||||||
|
|
||||||
@SELECTED_TAB_NO.setter
|
|
||||||
def SELECTED_TAB_NO(self, value):
|
|
||||||
if type(value) is str:
|
|
||||||
self._SELECTED_TAB_NO = value
|
|
||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def SELECTED_TAB_YOUR_LANGUAGES(self):
|
|
||||||
return self._SELECTED_TAB_YOUR_LANGUAGES
|
|
||||||
|
|
||||||
@SELECTED_TAB_YOUR_LANGUAGES.setter
|
|
||||||
def SELECTED_TAB_YOUR_LANGUAGES(self, value):
|
|
||||||
if type(value) is dict:
|
|
||||||
self._SELECTED_TAB_YOUR_LANGUAGES = value
|
|
||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def SELECTED_TAB_TARGET_LANGUAGES(self):
|
|
||||||
return self._SELECTED_TAB_TARGET_LANGUAGES
|
|
||||||
|
|
||||||
@SELECTED_TAB_TARGET_LANGUAGES.setter
|
|
||||||
def SELECTED_TAB_TARGET_LANGUAGES(self, value):
|
|
||||||
if type(value) is dict:
|
|
||||||
self._SELECTED_TAB_TARGET_LANGUAGES = value
|
|
||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def ENABLE_LOGGER(self):
|
def ENABLE_LOGGER(self):
|
||||||
return self._ENABLE_LOGGER
|
return self._ENABLE_LOGGER
|
||||||
|
|
||||||
@@ -455,8 +497,8 @@ class Config:
|
|||||||
self._ENABLE_LOGGER = value
|
self._ENABLE_LOGGER = value
|
||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
# Config Window
|
|
||||||
@property
|
@property
|
||||||
|
@json_serializable('IS_CONFIG_WINDOW_COMPACT_MODE')
|
||||||
def IS_CONFIG_WINDOW_COMPACT_MODE(self):
|
def IS_CONFIG_WINDOW_COMPACT_MODE(self):
|
||||||
return self._IS_CONFIG_WINDOW_COMPACT_MODE
|
return self._IS_CONFIG_WINDOW_COMPACT_MODE
|
||||||
|
|
||||||
@@ -467,33 +509,58 @@ class Config:
|
|||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
def init_config(self):
|
def init_config(self):
|
||||||
self._VERSION = "1.3.2"
|
# Read Only
|
||||||
|
self._VERSION = "2.0.0"
|
||||||
self._PATH_CONFIG = os_path.join(os_path.dirname(sys.argv[0]), "config.json")
|
self._PATH_CONFIG = os_path.join(os_path.dirname(sys.argv[0]), "config.json")
|
||||||
|
self._GITHUB_URL = "https://api.github.com/repos/misyaguziya/VRCT/releases/latest"
|
||||||
|
self._BOOTH_URL = "https://misyaguziya.booth.pm/"
|
||||||
|
self._DOCUMENTS_URL = "https://mzsoftware.notion.site/VRCT-Documents-be79b7a165f64442ad8f326d86c22246"
|
||||||
|
self._MAX_MIC_ENERGY_THRESHOLD = 2000
|
||||||
|
self._MAX_SPEAKER_ENERGY_THRESHOLD = 4000
|
||||||
|
|
||||||
|
# Read Write
|
||||||
self._ENABLE_TRANSLATION = False
|
self._ENABLE_TRANSLATION = False
|
||||||
self._ENABLE_TRANSCRIPTION_SEND = False
|
self._ENABLE_TRANSCRIPTION_SEND = False
|
||||||
self._ENABLE_TRANSCRIPTION_RECEIVE = False
|
self._ENABLE_TRANSCRIPTION_RECEIVE = False
|
||||||
self._ENABLE_FOREGROUND = False
|
self._ENABLE_FOREGROUND = False
|
||||||
self._TRANSPARENCY = 100
|
|
||||||
self._APPEARANCE_THEME = "System"
|
# Save Json Data
|
||||||
self._UI_SCALING = "100%"
|
|
||||||
self._FONT_FAMILY = "Yu Gothic UI"
|
|
||||||
self._UI_LANGUAGE = "en"
|
|
||||||
self._CHOICE_TRANSLATOR = translatorEngine[0]
|
self._CHOICE_TRANSLATOR = translatorEngine[0]
|
||||||
self._SOURCE_LANGUAGE = "Japanese"
|
self._SOURCE_LANGUAGE = "Japanese"
|
||||||
self._SOURCE_COUNTRY = "Japan"
|
self._SOURCE_COUNTRY = "Japan"
|
||||||
self._TARGET_LANGUAGE = "English"
|
self._TARGET_LANGUAGE = "English"
|
||||||
self._TARGET_COUNTRY = "United States"
|
self._TARGET_COUNTRY = "United States"
|
||||||
|
|
||||||
|
## Main Window
|
||||||
|
self._SELECTED_TAB_NO = "1"
|
||||||
|
self._SELECTED_TAB_YOUR_LANGUAGES = {
|
||||||
|
"1":"Japanese\n(Japan)",
|
||||||
|
"2":"Japanese\n(Japan)",
|
||||||
|
"3":"Japanese\n(Japan)",
|
||||||
|
}
|
||||||
|
self._SELECTED_TAB_TARGET_LANGUAGES = {
|
||||||
|
"1":"English\n(United States)",
|
||||||
|
"2":"English\n(United States)",
|
||||||
|
"3":"English\n(United States)",
|
||||||
|
}
|
||||||
|
|
||||||
|
## Config Window
|
||||||
|
self._TRANSPARENCY = 100
|
||||||
|
self._APPEARANCE_THEME = "System"
|
||||||
|
self._UI_SCALING = "100%"
|
||||||
|
self._FONT_FAMILY = "Yu Gothic UI"
|
||||||
|
self._UI_LANGUAGE = "en"
|
||||||
self._CHOICE_MIC_HOST = getDefaultInputDevice()["host"]["name"]
|
self._CHOICE_MIC_HOST = getDefaultInputDevice()["host"]["name"]
|
||||||
self._CHOICE_MIC_DEVICE = getDefaultInputDevice()["device"]["name"]
|
self._CHOICE_MIC_DEVICE = getDefaultInputDevice()["device"]["name"]
|
||||||
self._INPUT_MIC_ENERGY_THRESHOLD = 300
|
self._INPUT_MIC_ENERGY_THRESHOLD = 300
|
||||||
self._INPUT_MIC_DYNAMIC_ENERGY_THRESHOLD = True
|
self._INPUT_MIC_DYNAMIC_ENERGY_THRESHOLD = False
|
||||||
self._INPUT_MIC_RECORD_TIMEOUT = 3
|
self._INPUT_MIC_RECORD_TIMEOUT = 3
|
||||||
self._INPUT_MIC_PHRASE_TIMEOUT = 3
|
self._INPUT_MIC_PHRASE_TIMEOUT = 3
|
||||||
self._INPUT_MIC_MAX_PHRASES = 10
|
self._INPUT_MIC_MAX_PHRASES = 10
|
||||||
self._INPUT_MIC_WORD_FILTER = []
|
self._INPUT_MIC_WORD_FILTER = []
|
||||||
self._CHOICE_SPEAKER_DEVICE = getDefaultOutputDevice()["name"]
|
self._CHOICE_SPEAKER_DEVICE = getDefaultOutputDevice()["name"]
|
||||||
self._INPUT_SPEAKER_ENERGY_THRESHOLD = 300
|
self._INPUT_SPEAKER_ENERGY_THRESHOLD = 300
|
||||||
self._INPUT_SPEAKER_DYNAMIC_ENERGY_THRESHOLD = True
|
self._INPUT_SPEAKER_DYNAMIC_ENERGY_THRESHOLD = False
|
||||||
self._INPUT_SPEAKER_RECORD_TIMEOUT = 3
|
self._INPUT_SPEAKER_RECORD_TIMEOUT = 3
|
||||||
self._INPUT_SPEAKER_PHRASE_TIMEOUT = 3
|
self._INPUT_SPEAKER_PHRASE_TIMEOUT = 3
|
||||||
self._INPUT_SPEAKER_MAX_PHRASES = 10
|
self._INPUT_SPEAKER_MAX_PHRASES = 10
|
||||||
@@ -510,27 +577,7 @@ class Config:
|
|||||||
self._ENABLE_NOTICE_XSOVERLAY = False
|
self._ENABLE_NOTICE_XSOVERLAY = False
|
||||||
self._ENABLE_SEND_MESSAGE_TO_VRC = True
|
self._ENABLE_SEND_MESSAGE_TO_VRC = True
|
||||||
self._STARTUP_OSC_ENABLED_CHECK = True
|
self._STARTUP_OSC_ENABLED_CHECK = True
|
||||||
self._GITHUB_URL = "https://api.github.com/repos/misyaguziya/VRCT/releases/latest"
|
|
||||||
# self._BREAK_KEYSYM_LIST = [
|
|
||||||
# "Delete", "Select", "Up", "Down", "Next", "End", "Print",
|
|
||||||
# "Prior","Insert","Home", "Left", "Clear", "Right", "Linefeed"
|
|
||||||
# ]
|
|
||||||
self._MAX_MIC_ENERGY_THRESHOLD = 2000
|
|
||||||
self._MAX_SPEAKER_ENERGY_THRESHOLD = 4000
|
|
||||||
self._SELECTED_TAB_NO = "1"
|
|
||||||
self._SELECTED_TAB_YOUR_LANGUAGES = {
|
|
||||||
"1":"Japanese\n(Japan)",
|
|
||||||
"2":"Japanese\n(Japan)",
|
|
||||||
"3":"Japanese\n(Japan)",
|
|
||||||
}
|
|
||||||
self._SELECTED_TAB_TARGET_LANGUAGES = {
|
|
||||||
"1":"English\n(United States)",
|
|
||||||
"2":"English\n(United States)",
|
|
||||||
"3":"English\n(United States)",
|
|
||||||
}
|
|
||||||
self._ENABLE_LOGGER = False
|
self._ENABLE_LOGGER = False
|
||||||
|
|
||||||
# Config Window
|
|
||||||
self._IS_CONFIG_WINDOW_COMPACT_MODE = False
|
self._IS_CONFIG_WINDOW_COMPACT_MODE = False
|
||||||
|
|
||||||
def load_config(self):
|
def load_config(self):
|
||||||
@@ -542,13 +589,9 @@ class Config:
|
|||||||
setattr(self, key, config[key])
|
setattr(self, key, config[key])
|
||||||
|
|
||||||
with open(self.PATH_CONFIG, 'w', encoding="utf-8") as fp:
|
with open(self.PATH_CONFIG, 'w', encoding="utf-8") as fp:
|
||||||
setter_methods = [
|
|
||||||
name for name, obj in vars(type(self)).items()
|
|
||||||
if isinstance(obj, property) and obj.fset is not None
|
|
||||||
]
|
|
||||||
config = {}
|
config = {}
|
||||||
for method in setter_methods:
|
for var_name, var_func in json_serializable_vars.items():
|
||||||
config[method] = getattr(self, method)
|
config[var_name] = var_func(self)
|
||||||
json_dump(config, fp, indent=4, ensure_ascii=False)
|
json_dump(config, fp, indent=4, ensure_ascii=False)
|
||||||
|
|
||||||
config = Config()
|
config = Config()
|
||||||
16
main.py
16
main.py
@@ -181,6 +181,20 @@ def messageBoxPressKeyAny(e):
|
|||||||
model.oscStartSendTyping()
|
model.oscStartSendTyping()
|
||||||
|
|
||||||
# func select languages
|
# func select languages
|
||||||
|
def initSetLanguageAndCountry():
|
||||||
|
select = config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO]
|
||||||
|
language, country = model.getLanguageAndCountry(select)
|
||||||
|
config.SOURCE_LANGUAGE = language
|
||||||
|
config.SOURCE_COUNTRY = country
|
||||||
|
|
||||||
|
select = config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO]
|
||||||
|
language, country = model.getLanguageAndCountry(select)
|
||||||
|
config.TARGET_LANGUAGE = language
|
||||||
|
config.TARGET_COUNTRY = country
|
||||||
|
|
||||||
|
config.CHOICE_TRANSLATOR = model.findTranslationEngine(config.SOURCE_LANGUAGE, config.TARGET_LANGUAGE)
|
||||||
|
model.authenticationTranslator(callbackSetAuthKeys)
|
||||||
|
|
||||||
def setYourLanguageAndCountry(select):
|
def setYourLanguageAndCountry(select):
|
||||||
languages = config.SELECTED_TAB_YOUR_LANGUAGES
|
languages = config.SELECTED_TAB_YOUR_LANGUAGES
|
||||||
languages[config.SELECTED_TAB_NO] = select
|
languages[config.SELECTED_TAB_NO] = select
|
||||||
@@ -566,6 +580,8 @@ def callbackSetOscPort(value):
|
|||||||
view.createGUI()
|
view.createGUI()
|
||||||
|
|
||||||
# init config
|
# init config
|
||||||
|
initSetLanguageAndCountry()
|
||||||
|
|
||||||
if model.authenticationTranslator(callbackSetAuthKeys) is False:
|
if model.authenticationTranslator(callbackSetAuthKeys) is False:
|
||||||
# error update Auth key
|
# error update Auth key
|
||||||
view.printToTextbox_AuthenticationError()
|
view.printToTextbox_AuthenticationError()
|
||||||
|
|||||||
Reference in New Issue
Block a user