Merge branch 'models' into for_webui

This commit is contained in:
misyaguziya
2024-08-07 17:06:13 +09:00
3 changed files with 711 additions and 551 deletions

View File

@@ -963,7 +963,7 @@ class Config:
self._VERSION = "2.2.5" self._VERSION = "2.2.5"
self._ENABLE_SPEAKER2CHATBOX = False # Speaker2Chatbox self._ENABLE_SPEAKER2CHATBOX = False # Speaker2Chatbox
self._ENABLE_SPEAKER2CHATBOX_PASS_CONFIRMATION = "VRCT=0YEN" self._ENABLE_SPEAKER2CHATBOX_PASS_CONFIRMATION = "VRCT=0YEN"
self._PATH_LOCAL = os_path.dirname(sys.argv[0]) self._PATH_LOCAL = os_path.dirname(sys.executable)
self._PATH_CONFIG = os_path.join(self._PATH_LOCAL, "config.json") self._PATH_CONFIG = os_path.join(self._PATH_LOCAL, "config.json")
self._PATH_LOGS = os_path.join(self._PATH_LOCAL, "logs") self._PATH_LOGS = os_path.join(self._PATH_LOCAL, "logs")
os_makedirs(self._PATH_LOGS, exist_ok=True) os_makedirs(self._PATH_LOGS, exist_ok=True)

File diff suppressed because it is too large Load Diff

View File

@@ -143,41 +143,54 @@ controller_mapping = {
"/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,
"/controller/callback_check_speaker_threshold": controller.callbackCheckSpeakerThreshold, "/controller/callback_enable_check_speaker_threshold": controller.callbackEnableCheckSpeakerThreshold,
"/controller/callback_disable_check_speaker_threshold": controller.callbackDisableCheckSpeakerThreshold,
"/controller/callback_set_speaker_record_timeout": controller.callbackSetSpeakerRecordTimeout, "/controller/callback_set_speaker_record_timeout": controller.callbackSetSpeakerRecordTimeout,
"/controller/callback_set_speaker_phrase_timeout": controller.callbackSetSpeakerPhraseTimeout, "/controller/callback_set_speaker_phrase_timeout": controller.callbackSetSpeakerPhraseTimeout,
"/controller/callback_set_speaker_max_phrases": controller.callbackSetSpeakerMaxPhrases, "/controller/callback_set_speaker_max_phrases": controller.callbackSetSpeakerMaxPhrases,
"/controller/callback_set_use_whisper_feature": controller.callbackSetUserWhisperFeature, "/controller/callback_set_use_whisper_feature": controller.callbackSetUserWhisperFeature,
"/controller/callback_set_whisper_weight_type": controller.callbackSetWhisperWeightType, "/controller/callback_set_whisper_weight_type": controller.callbackSetWhisperWeightType,
"/controller/callback_set_overlay_settings": controller.callbackSetOverlaySettings, "/controller/callback_set_overlay_settings_opacity": controller.callbackSetOverlaySettingsOpacity,
"/controller/callback_set_enable_overlay_small_log": controller.callbackSetEnableOverlaySmallLog, "/controller/callback_set_overlay_settings_ui_scaling": controller.callbackSetOverlaySettingsUiScaling,
"/controller/callback_set_overlay_small_log_settings": controller.callbackSetOverlaySmallLogSettings, "/controller/callback_enable_overlay_small_log": controller.callbackEnableOverlaySmallLog,
"/controller/callback_disable_overlay_small_log": controller.callbackDisableOverlaySmallLog,
"/controller/callback_set_overlay_small_log_settings_x_pos": controller.callbackSetOverlaySmallLogSettingsXPos,
"/controller/callback_set_overlay_small_log_settings_y_pos": controller.callbackSetOverlaySmallLogSettingsYPos,
"/controller/callback_set_overlay_small_log_settings_z_pos": controller.callbackSetOverlaySmallLogSettingsZPos,
"/controller/callback_set_overlay_small_log_settings_x_rotation": controller.callbackSetOverlaySmallLogSettingsXRotation,
"/controller/callback_set_overlay_small_log_settings_y_rotation": controller.callbackSetOverlaySmallLogSettingsYRotation,
"/controller/callback_set_overlay_small_log_settings_z_rotation": controller.callbackSetOverlaySmallLogSettingsZRotation,
"/controller/callback_set_enable_auto_clear_chatbox": controller.callbackSetEnableAutoClearMessageBox, "/controller/callback_set_enable_auto_clear_chatbox": controller.callbackSetEnableAutoClearMessageBox,
"/controller/callback_set_send_only_translated_messages": controller.callbackSetEnableSendOnlyTranslatedMessages, "/controller/callback_set_send_only_translated_messages": controller.callbackSetEnableSendOnlyTranslatedMessages,
"/controller/callback_set_send_message_button_type": controller.callbackSetSendMessageButtonType, "/controller/callback_set_send_message_button_type": controller.callbackSetSendMessageButtonType,
"/controller/callback_set_enable_notice_xsoverlay": controller.callbackSetEnableNoticeXsoverlay, "/controller/callback_enable_notice_xsoverlay": controller.callbackEnableNoticeXsoverlay,
"/controller/callback_set_enable_auto_export_message_logs": controller.callbackSetEnableAutoExportMessageLogs, "/controller/callback_disable_notice_xsoverlay": controller.callbackDisableNoticeXsoverlay,
"/controller/callback_set_enable_vrc_mic_mute_sync": controller.callbackSetEnableVrcMicMuteSync, "/controller/callback_enable_auto_export_message_logs": controller.callbackEnableAutoExportMessageLogs,
"/controller/callback_set_enable_send_message_to_vrc": controller.callbackSetEnableSendMessageToVrc, "/controller/callback_disable_auto_export_message_logs": controller.callbackDisableAutoExportMessageLogs,
"/controller/callback_enable_vrc_mic_mute_sync": controller.callbackEnableVrcMicMuteSync,
"/controller/callback_disable_vrc_mic_mute_sync": controller.callbackDisableVrcMicMuteSync,
"/controller/callback_enable_send_message_to_vrc": controller.callbackEnableSendMessageToVrc,
"/controller/callback_disable_send_message_to_vrc": controller.callbackDisableSendMessageToVrc,
"/controller/callback_set_send_message_format": controller.callbackSetSendMessageFormat, "/controller/callback_set_send_message_format": controller.callbackSetSendMessageFormat,
"/controller/callback_set_send_message_format_with_t": controller.callbackSetSendMessageFormatWithT, "/controller/callback_set_send_message_format_with_t": controller.callbackSetSendMessageFormatWithT,
"/controller/callback_set_received_message_format": controller.callbackSetReceivedMessageFormat, "/controller/callback_set_received_message_format": controller.callbackSetReceivedMessageFormat,
"/controller/callback_set_received_message_format_with_t": controller.callbackSetReceivedMessageFormatWithT, "/controller/callback_set_received_message_format_with_t": controller.callbackSetReceivedMessageFormatWithT,
"/controller/callback_set_enable_send_received_message_to_vrc": controller.callbackSetEnableSendReceivedMessageToVrc, "/controller/callback_enable_send_received_message_to_vrc": controller.callbackEnableSendReceivedMessageToVrc,
"/controller/callback_disable_send_received_message_to_vrc": controller.callbackDisableSendReceivedMessageToVrc,
"/controller/callback_set_osc_ip_address": controller.callbackSetOscIpAddress, "/controller/callback_set_osc_ip_address": controller.callbackSetOscIpAddress,
"/controller/callback_set_osc_port": controller.callbackSetOscPort, "/controller/callback_set_osc_port": controller.callbackSetOscPort,
} }
action_mapping = { action_mapping = {
"/controller/callback_enable_transcription_send": "/action/transcription_send_message", "/controller/callback_close_config_window": {"mic":"/action/transcription_send_message", "speaker":"/action/transcription_receive_message"},
"/controller/callback_disable_transcription_send": "/action/transcription_send_stopped", "/controller/callback_enable_transcription_send": {"mic":"/action/transcription_send_message"},
"/controller/callback_enable_transcription_receive": "/action/transcription_receive_message", "/controller/callback_disable_transcription_send": {"mic":"/action/transcription_send_stopped"},
"/controller/callback_disable_transcription_receive": "/action/transcription_receive_stopped", "/controller/callback_enable_transcription_receive": {"speaker":"/action/transcription_receive_message"},
"/controller/callback_enable_check_mic_threshold": "/action/check_mic_threshold_energy", "/controller/callback_disable_transcription_receive": {"speaker":"/action/transcription_receive_stopped"},
"/controller/callback_enable_check_mic_threshold": {"mic":"/action/check_mic_threshold_energy"},
} }
def handleConfigRequest(endpoint): def handleConfigRequest(endpoint):
@@ -205,12 +218,12 @@ def handleControllerRequest(endpoint, data=None):
return response, status return response, status
class Action: class Action:
def __init__(self, endpoint:str) -> None: def __init__(self, endpoints:dict) -> None:
self.endpoint = endpoint self.endpoints = endpoints
def transmit(self, data:dict) -> None: def transmit(self, key:str, data:dict) -> None:
response = { response = {
"endpoint": self.endpoint, "endpoint": self.endpoints[key],
"status": 200, "status": 200,
"data": data, "data": data,
} }
@@ -221,37 +234,49 @@ def main():
received_data = sys.stdin.readline().strip() received_data = sys.stdin.readline().strip()
received_data = json.loads(received_data) received_data = json.loads(received_data)
if received_data is True: with open('process.log', 'a') as f:
response_data = { f.write(f"received_data: {received_data}\n")
"status": "ok",
"id": received_data["id"],
"data": received_data["data"],
}
response = json.dumps(response_data)
time.sleep(2)
print(response, flush=True)
# endpoint = received_data.get("endpoint", None) if received_data:
# data = received_data.get("data", None) # response_data = {
# "status": 200,
# match endpoint.split("/")[1]: # "id": received_data["id"],
# case "config": # "data": received_data["data"],
# response_data, status = handleConfigRequest(endpoint, data)
# case "controller":
# response_data, status = handleControllerRequest(endpoint, data)
# case _:
# pass
# response = {
# "status": status,
# "endpoint": endpoint,
# "data": response_data,
# } # }
# response = json.dumps(response_data)
# response = json.dumps(response)
# time.sleep(2) # time.sleep(2)
# print(response, flush=True) # print(response, flush=True)
endpoint = received_data.get("endpoint", None)
data = received_data.get("data", None)
with open('process.log', 'a') as f:
f.write(f"received_data : endpoint: {endpoint}, data:{data}\n")
try:
match endpoint.split("/")[1]:
case "config":
result_data, status = handleConfigRequest(endpoint, data)
case "controller":
result_data, status = handleControllerRequest(endpoint, data)
case _:
pass
except Exception as e:
result_data = str(e)
status = 500
response = {
"status": status,
"endpoint": endpoint,
"result": result_data,
}
response = json.dumps(response)
with open('process.log', 'a') as f:
f.write(f"response: {response}\n")
print(response, flush=True)
if __name__ == "__main__": if __name__ == "__main__":
# endpoint = "/controller/list_mic_host" # endpoint = "/controller/list_mic_host"
# data = None # data = None
@@ -265,6 +290,7 @@ if __name__ == "__main__":
# print(response, flush=True) # print(response, flush=True)
try: try:
controller.init()
print(json.dumps({"init_key_from_py": "Initialization from Python."}), flush=True) print(json.dumps({"init_key_from_py": "Initialization from Python."}), flush=True)
while True: while True:
main() main()