update log text color
This commit is contained in:
54
VRCT.py
54
VRCT.py
@@ -237,11 +237,14 @@ class App(customtkinter.CTk):
|
|||||||
|
|
||||||
# add tabview textbox
|
# add tabview textbox
|
||||||
self.tabview_logs = customtkinter.CTkTabview(master=self)
|
self.tabview_logs = customtkinter.CTkTabview(master=self)
|
||||||
|
self.tabview_logs.add("log")
|
||||||
self.tabview_logs.add("send")
|
self.tabview_logs.add("send")
|
||||||
self.tabview_logs.add("receive")
|
self.tabview_logs.add("receive")
|
||||||
self.tabview_logs.add("system")
|
self.tabview_logs.add("system")
|
||||||
self.tabview_logs.grid(row=0, column=1, padx=0, pady=0, sticky="nsew")
|
self.tabview_logs.grid(row=0, column=1, padx=0, pady=0, sticky="nsew")
|
||||||
self.tabview_logs._segmented_button.grid(sticky="W")
|
self.tabview_logs._segmented_button.grid(sticky="W")
|
||||||
|
self.tabview_logs.tab("log").grid_rowconfigure(0, weight=1)
|
||||||
|
self.tabview_logs.tab("log").grid_columnconfigure(0, weight=1)
|
||||||
self.tabview_logs.tab("send").grid_rowconfigure(0, weight=1)
|
self.tabview_logs.tab("send").grid_rowconfigure(0, weight=1)
|
||||||
self.tabview_logs.tab("send").grid_columnconfigure(0, weight=1)
|
self.tabview_logs.tab("send").grid_columnconfigure(0, weight=1)
|
||||||
self.tabview_logs.tab("receive").grid_rowconfigure(0, weight=1)
|
self.tabview_logs.tab("receive").grid_rowconfigure(0, weight=1)
|
||||||
@@ -250,6 +253,14 @@ class App(customtkinter.CTk):
|
|||||||
self.tabview_logs.tab("system").grid_columnconfigure(0, weight=1)
|
self.tabview_logs.tab("system").grid_columnconfigure(0, weight=1)
|
||||||
self.tabview_logs.configure(fg_color="transparent")
|
self.tabview_logs.configure(fg_color="transparent")
|
||||||
|
|
||||||
|
# add textbox message log
|
||||||
|
self.textbox_message_log = customtkinter.CTkTextbox(
|
||||||
|
self.tabview_logs.tab("log"),
|
||||||
|
font=customtkinter.CTkFont(family=self.FONT_FAMILY)
|
||||||
|
)
|
||||||
|
self.textbox_message_log.grid(row=0, column=0, padx=0, pady=0, sticky="nsew")
|
||||||
|
self.textbox_message_log.configure(state='disabled')
|
||||||
|
|
||||||
# add textbox message send log
|
# add textbox message send log
|
||||||
self.textbox_message_send_log = customtkinter.CTkTextbox(
|
self.textbox_message_send_log = customtkinter.CTkTextbox(
|
||||||
self.tabview_logs.tab("send"),
|
self.tabview_logs.tab("send"),
|
||||||
@@ -287,7 +298,8 @@ class App(customtkinter.CTk):
|
|||||||
self.translator = translation.Translator()
|
self.translator = translation.Translator()
|
||||||
if self.translator.authentication(self.CHOICE_TRANSLATOR, self.AUTH_KEYS[self.CHOICE_TRANSLATOR]) is False:
|
if self.translator.authentication(self.CHOICE_TRANSLATOR, self.AUTH_KEYS[self.CHOICE_TRANSLATOR]) is False:
|
||||||
# error update Auth key
|
# error update Auth key
|
||||||
utils.print_textbox(self.textbox_message_system_log, "[error] Auth Key or language setting is incorrect")
|
utils.print_textbox(self.textbox_message_log, "Auth Key or language setting is incorrect", "ERROR")
|
||||||
|
utils.print_textbox(self.textbox_message_system_log, "Auth Key or language setting is incorrect", "ERROR")
|
||||||
|
|
||||||
## set transcription instance
|
## set transcription instance
|
||||||
self.vr = transcription.VoiceRecognizer()
|
self.vr = transcription.VoiceRecognizer()
|
||||||
@@ -354,15 +366,18 @@ class App(customtkinter.CTk):
|
|||||||
def checkbox_translation_callback(self):
|
def checkbox_translation_callback(self):
|
||||||
self.ENABLE_TRANSLATION = self.checkbox_translation.get()
|
self.ENABLE_TRANSLATION = self.checkbox_translation.get()
|
||||||
if self.ENABLE_TRANSLATION:
|
if self.ENABLE_TRANSLATION:
|
||||||
utils.print_textbox(self.textbox_message_system_log, "[info] Start translation")
|
utils.print_textbox(self.textbox_message_log, "Start translation", "INFO")
|
||||||
|
utils.print_textbox(self.textbox_message_system_log, "Start translation", "INFO")
|
||||||
else:
|
else:
|
||||||
utils.print_textbox(self.textbox_message_system_log, "[info] Stop translation")
|
utils.print_textbox(self.textbox_message_log, "Stop translation", "INFO")
|
||||||
|
utils.print_textbox(self.textbox_message_system_log, "Stop translation", "INFO")
|
||||||
utils.save_json(self.PATH_CONFIG, "ENABLE_TRANSLATION", self.ENABLE_TRANSLATION)
|
utils.save_json(self.PATH_CONFIG, "ENABLE_TRANSLATION", self.ENABLE_TRANSLATION)
|
||||||
|
|
||||||
def checkbox_transcription_send_callback(self):
|
def checkbox_transcription_send_callback(self):
|
||||||
self.ENABLE_TRANSCRIPTION_SEND = self.checkbox_transcription_send.get()
|
self.ENABLE_TRANSCRIPTION_SEND = self.checkbox_transcription_send.get()
|
||||||
if self.ENABLE_TRANSCRIPTION_SEND is True:
|
if self.ENABLE_TRANSCRIPTION_SEND is True:
|
||||||
utils.print_textbox(self.textbox_message_system_log, "[info] Start sending transcription from your voice")
|
utils.print_textbox(self.textbox_message_log, "Start voice2chatbox", "INFO")
|
||||||
|
utils.print_textbox(self.textbox_message_system_log, "Start voice2chatbox", "INFO")
|
||||||
# start threading
|
# start threading
|
||||||
self.vr.set_mic(
|
self.vr.set_mic(
|
||||||
device_name=self.CHOICE_MIC_DEVICE,
|
device_name=self.CHOICE_MIC_DEVICE,
|
||||||
@@ -380,13 +395,15 @@ class App(customtkinter.CTk):
|
|||||||
if isinstance(self.th_vr_recognize_mic, utils.thread_fnc):
|
if isinstance(self.th_vr_recognize_mic, utils.thread_fnc):
|
||||||
self.th_vr_recognize_mic.stop()
|
self.th_vr_recognize_mic.stop()
|
||||||
|
|
||||||
utils.print_textbox(self.textbox_message_system_log, "[info] Stop sending transcription from your voice")
|
utils.print_textbox(self.textbox_message_log, "Stop voice2chatbox", "INFO")
|
||||||
|
utils.print_textbox(self.textbox_message_system_log, "Stop voice2chatbox", "INFO")
|
||||||
utils.save_json(self.PATH_CONFIG, "ENABLE_TRANSCRIPTION_SEND", self.ENABLE_TRANSCRIPTION_SEND)
|
utils.save_json(self.PATH_CONFIG, "ENABLE_TRANSCRIPTION_SEND", self.ENABLE_TRANSCRIPTION_SEND)
|
||||||
|
|
||||||
def checkbox_transcription_receive_callback(self):
|
def checkbox_transcription_receive_callback(self):
|
||||||
self.ENABLE_TRANSCRIPTION_RECEIVE = self.checkbox_transcription_receive.get()
|
self.ENABLE_TRANSCRIPTION_RECEIVE = self.checkbox_transcription_receive.get()
|
||||||
if self.ENABLE_TRANSCRIPTION_RECEIVE is True:
|
if self.ENABLE_TRANSCRIPTION_RECEIVE is True:
|
||||||
utils.print_textbox(self.textbox_message_system_log, "[info] Start transcription of speaker's voice")
|
utils.print_textbox(self.textbox_message_log, "Start speaker2log", "INFO")
|
||||||
|
utils.print_textbox(self.textbox_message_system_log, "Start speaker2log", "INFO")
|
||||||
# start threading
|
# start threading
|
||||||
self.vr.set_spk(
|
self.vr.set_spk(
|
||||||
device_name=self.CHOICE_SPEAKER_DEVICE,
|
device_name=self.CHOICE_SPEAKER_DEVICE,
|
||||||
@@ -405,7 +422,8 @@ class App(customtkinter.CTk):
|
|||||||
if isinstance(self.th_vr_recognize_spk, utils.thread_fnc):
|
if isinstance(self.th_vr_recognize_spk, utils.thread_fnc):
|
||||||
self.th_vr_recognize_spk.stop()
|
self.th_vr_recognize_spk.stop()
|
||||||
|
|
||||||
utils.print_textbox(self.textbox_message_system_log, "[info] Stop transcription of speaker's voice")
|
utils.print_textbox(self.textbox_message_log, "Stop speaker2log", "INFO")
|
||||||
|
utils.print_textbox(self.textbox_message_system_log, "Stop speaker2log", "INFO")
|
||||||
utils.save_json(self.PATH_CONFIG, "ENABLE_TRANSCRIPTION_RECEIVE", self.ENABLE_TRANSCRIPTION_RECEIVE)
|
utils.save_json(self.PATH_CONFIG, "ENABLE_TRANSCRIPTION_RECEIVE", self.ENABLE_TRANSCRIPTION_RECEIVE)
|
||||||
|
|
||||||
def vr_listen_mic(self):
|
def vr_listen_mic(self):
|
||||||
@@ -418,7 +436,8 @@ class App(customtkinter.CTk):
|
|||||||
if self.checkbox_translation.get() is False:
|
if self.checkbox_translation.get() is False:
|
||||||
voice_message = f"{message}"
|
voice_message = f"{message}"
|
||||||
elif self.translator.translator_status[self.CHOICE_TRANSLATOR] is False:
|
elif self.translator.translator_status[self.CHOICE_TRANSLATOR] is False:
|
||||||
utils.print_textbox(self.textbox_message_system_log, "[error] Auth Key or language setting is incorrect")
|
utils.print_textbox(self.textbox_message_log, "Auth Key or language setting is incorrect", "ERROR")
|
||||||
|
utils.print_textbox(self.textbox_message_system_log, "Auth Key or language setting is incorrect", "ERROR")
|
||||||
voice_message = f"{message}"
|
voice_message = f"{message}"
|
||||||
else:
|
else:
|
||||||
result = self.translator.translate(
|
result = self.translator.translate(
|
||||||
@@ -431,7 +450,8 @@ class App(customtkinter.CTk):
|
|||||||
# send OSC message
|
# send OSC message
|
||||||
osc_tools.send_message(voice_message, self.OSC_IP_ADDRESS, self.OSC_PORT)
|
osc_tools.send_message(voice_message, self.OSC_IP_ADDRESS, self.OSC_PORT)
|
||||||
# update textbox message log
|
# update textbox message log
|
||||||
utils.print_textbox(self.textbox_message_send_log, f"[voice] {voice_message}")
|
utils.print_textbox(self.textbox_message_log, f"{voice_message}", "SEND")
|
||||||
|
utils.print_textbox(self.textbox_message_send_log, f"{voice_message}", "SEND")
|
||||||
|
|
||||||
def vr_listen_spk(self):
|
def vr_listen_spk(self):
|
||||||
self.vr.listen_spk()
|
self.vr.listen_spk()
|
||||||
@@ -443,7 +463,8 @@ class App(customtkinter.CTk):
|
|||||||
if self.checkbox_translation.get() is False:
|
if self.checkbox_translation.get() is False:
|
||||||
voice_message = f"{message}"
|
voice_message = f"{message}"
|
||||||
elif self.translator.translator_status[self.CHOICE_TRANSLATOR] is False:
|
elif self.translator.translator_status[self.CHOICE_TRANSLATOR] is False:
|
||||||
utils.print_textbox(self.textbox_message_system_log, "[error] Auth Key or language setting is incorrect")
|
utils.print_textbox(self.textbox_message_log, "Auth Key or language setting is incorrect", "ERROR")
|
||||||
|
utils.print_textbox(self.textbox_message_system_log, "Auth Key or language setting is incorrect", "ERROR")
|
||||||
voice_message = f"{message}"
|
voice_message = f"{message}"
|
||||||
else:
|
else:
|
||||||
result = self.translator.translate(
|
result = self.translator.translate(
|
||||||
@@ -456,14 +477,19 @@ class App(customtkinter.CTk):
|
|||||||
# send OSC message
|
# send OSC message
|
||||||
# osc_tools.send_message(voice_message, self.OSC_IP_ADDRESS, self.OSC_PORT)
|
# osc_tools.send_message(voice_message, self.OSC_IP_ADDRESS, self.OSC_PORT)
|
||||||
# update textbox message receive log
|
# update textbox message receive log
|
||||||
utils.print_textbox(self.textbox_message_receive_log, f"[voice] {voice_message}")
|
utils.print_textbox(self.textbox_message_log, f"{voice_message}", "RECEIVE")
|
||||||
|
utils.print_textbox(self.textbox_message_receive_log, f"{voice_message}", "RECEIVE")
|
||||||
|
|
||||||
def checkbox_foreground_callback(self):
|
def checkbox_foreground_callback(self):
|
||||||
self.ENABLE_FOREGROUND = self.checkbox_foreground.get()
|
self.ENABLE_FOREGROUND = self.checkbox_foreground.get()
|
||||||
if self.ENABLE_FOREGROUND:
|
if self.ENABLE_FOREGROUND:
|
||||||
self.attributes("-topmost", True)
|
self.attributes("-topmost", True)
|
||||||
|
utils.print_textbox(self.textbox_message_log, "Start foreground", "INFO")
|
||||||
|
utils.print_textbox(self.textbox_message_system_log, "Start foreground", "INFO")
|
||||||
else:
|
else:
|
||||||
self.attributes("-topmost", False)
|
self.attributes("-topmost", False)
|
||||||
|
utils.print_textbox(self.textbox_message_log, "Stop foreground", "INFO")
|
||||||
|
utils.print_textbox(self.textbox_message_system_log, "Stop foreground", "INFO")
|
||||||
utils.save_json(self.PATH_CONFIG, "ENABLE_FOREGROUND", self.ENABLE_FOREGROUND)
|
utils.save_json(self.PATH_CONFIG, "ENABLE_FOREGROUND", self.ENABLE_FOREGROUND)
|
||||||
|
|
||||||
def entry_message_box_press_key_enter(self, event):
|
def entry_message_box_press_key_enter(self, event):
|
||||||
@@ -479,7 +505,8 @@ class App(customtkinter.CTk):
|
|||||||
if self.checkbox_translation.get() is False:
|
if self.checkbox_translation.get() is False:
|
||||||
chat_message = f"{message}"
|
chat_message = f"{message}"
|
||||||
elif self.translator.translator_status[self.CHOICE_TRANSLATOR] is False:
|
elif self.translator.translator_status[self.CHOICE_TRANSLATOR] is False:
|
||||||
utils.print_textbox(self.textbox_message_system_log, "[error] Auth Key or language setting is incorrect")
|
utils.print_textbox(self.textbox_message_log, "Auth Key or language setting is incorrect", "ERROR")
|
||||||
|
utils.print_textbox(self.textbox_message_system_log, "Auth Key or language setting is incorrect", "ERROR")
|
||||||
chat_message = f"{message}"
|
chat_message = f"{message}"
|
||||||
else:
|
else:
|
||||||
result = self.translator.translate(
|
result = self.translator.translate(
|
||||||
@@ -494,7 +521,8 @@ class App(customtkinter.CTk):
|
|||||||
osc_tools.send_message(chat_message, self.OSC_IP_ADDRESS, self.OSC_PORT)
|
osc_tools.send_message(chat_message, self.OSC_IP_ADDRESS, self.OSC_PORT)
|
||||||
|
|
||||||
# update textbox message log
|
# update textbox message log
|
||||||
utils.print_textbox(self.textbox_message_send_log, f"[chat] {chat_message}")
|
utils.print_textbox(self.textbox_message_log, f"{chat_message}", "SEND")
|
||||||
|
utils.print_textbox(self.textbox_message_send_log, f"{chat_message}", "SEND")
|
||||||
|
|
||||||
# delete message in entry message box
|
# delete message in entry message box
|
||||||
# self.entry_message_box.delete(0, customtkinter.END)
|
# self.entry_message_box.delete(0, customtkinter.END)
|
||||||
|
|||||||
13
utils.py
13
utils.py
@@ -1,6 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
import datetime
|
import datetime
|
||||||
import threading
|
import threading
|
||||||
|
import tkinter as tk
|
||||||
|
|
||||||
def save_json(path, key, value):
|
def save_json(path, key, value):
|
||||||
with open(path, "r") as fp:
|
with open(path, "r") as fp:
|
||||||
@@ -9,11 +10,19 @@ def save_json(path, key, value):
|
|||||||
with open(path, "w") as fp:
|
with open(path, "w") as fp:
|
||||||
json.dump(json_data, fp, indent=4)
|
json.dump(json_data, fp, indent=4)
|
||||||
|
|
||||||
def print_textbox(textbox, message):
|
def print_textbox(textbox, message, tags=None):
|
||||||
now = datetime.datetime.now()
|
now = datetime.datetime.now()
|
||||||
now = now.strftime('%H:%M:%S')
|
now = now.strftime('%H:%M:%S')
|
||||||
|
|
||||||
|
textbox.tag_config("ERROR", foreground="#FF0000")
|
||||||
|
textbox.tag_config("INFO", foreground="#1BFF00")
|
||||||
|
textbox.tag_config("SEND", foreground="#0378e2")
|
||||||
|
textbox.tag_config("RECEIVE", foreground="#ffa500")
|
||||||
|
|
||||||
textbox.configure(state='normal')
|
textbox.configure(state='normal')
|
||||||
textbox.insert("end", f"[{now}]{message}\n")
|
textbox.insert("end", f"[{now}][")
|
||||||
|
textbox.insert("end", f"{tags}", tags)
|
||||||
|
textbox.insert("end", f"]{message}\n")
|
||||||
textbox.configure(state='disabled')
|
textbox.configure(state='disabled')
|
||||||
textbox.see("end")
|
textbox.see("end")
|
||||||
|
|
||||||
|
|||||||
@@ -514,6 +514,7 @@ class ToplevelWindowConfig(customtkinter.CTkToplevel):
|
|||||||
self.parent.checkbox_transcription_send.configure(font=customtkinter.CTkFont(family=choice))
|
self.parent.checkbox_transcription_send.configure(font=customtkinter.CTkFont(family=choice))
|
||||||
self.parent.checkbox_transcription_receive.configure(font=customtkinter.CTkFont(family=choice))
|
self.parent.checkbox_transcription_receive.configure(font=customtkinter.CTkFont(family=choice))
|
||||||
self.parent.checkbox_foreground.configure(font=customtkinter.CTkFont(family=choice))
|
self.parent.checkbox_foreground.configure(font=customtkinter.CTkFont(family=choice))
|
||||||
|
self.parent.textbox_message_log.configure(font=customtkinter.CTkFont(family=choice))
|
||||||
self.parent.textbox_message_send_log.configure(font=customtkinter.CTkFont(family=choice))
|
self.parent.textbox_message_send_log.configure(font=customtkinter.CTkFont(family=choice))
|
||||||
self.parent.textbox_message_receive_log.configure(font=customtkinter.CTkFont(family=choice))
|
self.parent.textbox_message_receive_log.configure(font=customtkinter.CTkFont(family=choice))
|
||||||
self.parent.textbox_message_system_log.configure(font=customtkinter.CTkFont(family=choice))
|
self.parent.textbox_message_system_log.configure(font=customtkinter.CTkFont(family=choice))
|
||||||
@@ -531,7 +532,8 @@ class ToplevelWindowConfig(customtkinter.CTkToplevel):
|
|||||||
|
|
||||||
def optionmenu_translation_translator_callback(self, choice):
|
def optionmenu_translation_translator_callback(self, choice):
|
||||||
if self.parent.translator.authentication(choice, self.parent.AUTH_KEYS[choice]) is False:
|
if self.parent.translator.authentication(choice, self.parent.AUTH_KEYS[choice]) is False:
|
||||||
utils.print_textbox(self.parent.textbox_message_system_log, f"[error] Auth Key or language setting is incorrect")
|
utils.print_textbox(self.parent.textbox_message_log, "Auth Key or language setting is incorrect", "ERROR")
|
||||||
|
utils.print_textbox(self.parent.textbox_message_system_log, "Auth Key or language setting is incorrect", "ERROR")
|
||||||
else:
|
else:
|
||||||
self.optionmenu_translation_input_source_language.configure(
|
self.optionmenu_translation_input_source_language.configure(
|
||||||
values=self.parent.translator.languages[choice],
|
values=self.parent.translator.languages[choice],
|
||||||
@@ -625,11 +627,14 @@ class ToplevelWindowConfig(customtkinter.CTkToplevel):
|
|||||||
def update_authkey(self):
|
def update_authkey(self):
|
||||||
value = self.entry_authkey.get()
|
value = self.entry_authkey.get()
|
||||||
if len(value) > 0:
|
if len(value) > 0:
|
||||||
if self.parent.translator.authentication(self.parent.CHOICE_TRANSLATOR, self.parent.AUTH_KEYS[self.parent.CHOICE_TRANSLATOR]) is True:
|
if self.parent.translator.authentication("DeepL(auth)", self.parent.AUTH_KEYS["DeepL(auth)"]) is True:
|
||||||
self.parent.AUTH_KEYS["DeepL(auth)"] = value
|
self.parent.AUTH_KEYS["DeepL(auth)"] = value
|
||||||
utils.save_json(self.parent.PATH_CONFIG, "AUTH_KEYS", self.parent.AUTH_KEYS)
|
utils.save_json(self.parent.PATH_CONFIG, "AUTH_KEYS", self.parent.AUTH_KEYS)
|
||||||
|
utils.print_textbox(self.parent.textbox_message_log, "Auth key update completed", "INFO")
|
||||||
|
utils.print_textbox(self.parent.textbox_message_system_log, "Auth key update completed", "INFO")
|
||||||
else:
|
else:
|
||||||
utils.print_textbox(self.parent.textbox_message_system_log, f"[error] Auth Key or language setting is incorrect")
|
utils.print_textbox(self.parent.textbox_message_log, "Auth Key or language setting is incorrect", "ERROR")
|
||||||
|
utils.print_textbox(self.parent.textbox_message_system_log, "Auth Key or language setting is incorrect", "ERROR")
|
||||||
|
|
||||||
def update_message_format(self):
|
def update_message_format(self):
|
||||||
value = self.entry_message_format.get()
|
value = self.entry_message_format.get()
|
||||||
|
|||||||
Reference in New Issue
Block a user