From cbca8cd43dddef04e5f2ece1ba3d0258abb6fc32 Mon Sep 17 00:00:00 2001 From: rdkartono Date: Wed, 10 Dec 2025 10:59:22 +0700 Subject: [PATCH] commit 12/10/2025 --- html/webpage/assets/js/script.js | 11 +++ html/webpage/assets/js/tts.js | 78 +++++++++++++++++++ html/webpage/homeadmin.html | 13 ++++ html/webpage/tts.html | 129 +++++++++++++++++++++++++++++++ src/codes/Somecodes.kt | 4 + src/google/GoogleTTS.kt | 111 +++++++++++++++++++++++++- src/google/GoogleTTSLanguage.kt | 19 ++++- src/google/autoadd.kt | 7 ++ src/google/fileoperation.kt | 7 ++ src/web/WebApp.kt | 28 +++++++ 10 files changed, 403 insertions(+), 4 deletions(-) create mode 100644 html/webpage/assets/js/tts.js create mode 100644 html/webpage/tts.html create mode 100644 src/google/autoadd.kt create mode 100644 src/google/fileoperation.kt diff --git a/html/webpage/assets/js/script.js b/html/webpage/assets/js/script.js index 90e42a7..2d27e9d 100644 --- a/html/webpage/assets/js/script.js +++ b/html/webpage/assets/js/script.js @@ -592,6 +592,17 @@ $(document).ready(function () { } }); }) + $('#ttsgenerator').click(() => { + sidemenu.hide(); + $('#content').load('tts.html', function (response, status, xhr) { + if (status === "success") { + console.log("TTS Generator content loaded successfully"); + // pindah ke ttsgenerator.js + } else { + console.error("Error loading TTS Generator content:", xhr.status, xhr.statusText); + } + }); + }); $('#filemanagement').click(() => { sidemenu.hide(); $('#content').load('filemanagement.html', function (response, status, xhr) { diff --git a/html/webpage/assets/js/tts.js b/html/webpage/assets/js/tts.js new file mode 100644 index 0000000..f09e112 --- /dev/null +++ b/html/webpage/assets/js/tts.js @@ -0,0 +1,78 @@ +function websocket_init() { + window.addEventListener('ws_connected', () => { + console.log("tts.js ws_connected event triggered"); + }); + + window.addEventListener('ws_disconnected', () => { + console.log("tts.js ws_disconnected event triggered"); + + }); + window.addEventListener('ws_message', (event) => { + let rep = event.detail; + let cmd = rep.reply; + let data = rep.data; + if (cmd && cmd.length > 0) { + switch (cmd) { + case "start_generate_tts": + if (data && data.length>0 && "ok"===data){ + add_to_list("TTS generation started."); + $('#startstopgeneration').text("Stop Generating"); + } + break; + case "stop_generate_tts": + if (data && data.length>0 && "ok"===data){ + add_to_list("TTS generation stopped."); + $('#startstopgeneration').text("Start Generating"); + } + break; + case "tts_generate_progress": + if (data && data.length>0){ + let xx = JSON.parse(data); + if ("progress" in xx){ + if ("message" in xx){ + add_to_list(xx.message + "(" + xx.progress+" %)"); + } + } + } + } + } + }); +} + +function add_to_list(message){ + // add message to generatelogs list, with date time prefix + let li = document.createElement("li"); + let now = new Date(); + let datetime = now.toLocaleString(); + li.appendChild(document.createTextNode("[" + datetime + "] " + message)); + $('#generatelogs').append(li); +} + +$(document).ready(function () { + console.log("TTS module loaded."); + websocket_init(); + + $('#uploadjson').on('click', function () { + // TODO upload JSON file and process it + }); + $('#startstopgeneration').on('click', function () { + if ($('#startstopgeneration').text() === "Start Generating") { + // clear list generatelogs + $('#generatelogs').empty(); + let data = { + voicetype: $('#voicetype').val(), + languagetogenerate: $('#languagetogenerate').val(), + databasesource: $('#databasesource').val(), + targetas: $('#targetas').val(), + fileoperation: $('input[name="fileoperation"]:checked').val(), + autoadd: $('input[name="autoadd"]:checked').val() + } + sendCommand("start_generate_tts", JSON.stringify(data)); + } else { + sendCommand("stop_generate_tts", ""); + } + + + + }); +}); \ No newline at end of file diff --git a/html/webpage/homeadmin.html b/html/webpage/homeadmin.html index 9fdb09c..a34be78 100644 --- a/html/webpage/homeadmin.html +++ b/html/webpage/homeadmin.html @@ -88,6 +88,19 @@  Setting +