#1796 Attempt to fix alltalk on remote servers

This commit is contained in:
Cohee
2024-02-14 19:44:47 +02:00
parent 6ab918605e
commit 0da0d490c7

View File

@ -196,14 +196,18 @@ class AllTalkTtsProvider {
$('#narrator_voice').val(this.settings.narrator_voice_gen); $('#narrator_voice').val(this.settings.narrator_voice_gen);
console.debug('AllTalkTTS: Settings loaded'); console.debug('AllTalkTTS: Settings loaded');
await this.initEndpoint();
}
async initEndpoint() {
try { try {
// Check if TTS provider is ready // Check if TTS provider is ready
this.setupEventListeners();
this.updateLanguageDropdown();
await this.checkReady(); await this.checkReady();
await this.updateSettingsFromServer(); // Fetch dynamic settings from the TTS server await this.updateSettingsFromServer(); // Fetch dynamic settings from the TTS server
await this.fetchTtsVoiceObjects(); // Fetch voices only if service is ready await this.fetchTtsVoiceObjects(); // Fetch voices only if service is ready
this.updateNarratorVoicesDropdown(); this.updateNarratorVoicesDropdown();
this.updateLanguageDropdown();
this.setupEventListeners();
this.applySettingsToHTML(); this.applySettingsToHTML();
updateStatus('Ready'); updateStatus('Ready');
} catch (error) { } catch (error) {
@ -488,15 +492,14 @@ class AllTalkTtsProvider {
const modelSelect = document.getElementById('switch_model'); const modelSelect = document.getElementById('switch_model');
if (modelSelect) { if (modelSelect) {
// Remove the event listener if it was previously added // Remove the event listener if it was previously added
modelSelect.removeEventListener('change', debouncedModelSelectChange);
// Add the debounced event listener // Add the debounced event listener
modelSelect.addEventListener('change', debouncedModelSelectChange); $(modelSelect).off('change').on('change', debouncedModelSelectChange);
} }
// DeepSpeed Listener // DeepSpeed Listener
const deepspeedCheckbox = document.getElementById('deepspeed'); const deepspeedCheckbox = document.getElementById('deepspeed');
if (deepspeedCheckbox) { if (deepspeedCheckbox) {
deepspeedCheckbox.addEventListener('change', async (event) => { $(deepspeedCheckbox).off('change').on('change', async (event) => {
const deepSpeedValue = event.target.checked ? 'True' : 'False'; const deepSpeedValue = event.target.checked ? 'True' : 'False';
// Set status to Processing // Set status to Processing
updateStatus('Processing'); updateStatus('Processing');
@ -522,7 +525,7 @@ class AllTalkTtsProvider {
// Low VRAM Listener // Low VRAM Listener
const lowVramCheckbox = document.getElementById('low_vram'); const lowVramCheckbox = document.getElementById('low_vram');
if (lowVramCheckbox) { if (lowVramCheckbox) {
lowVramCheckbox.addEventListener('change', async (event) => { $(lowVramCheckbox).off('change').on('change', async (event) => {
const lowVramValue = event.target.checked ? 'True' : 'False'; const lowVramValue = event.target.checked ? 'True' : 'False';
// Set status to Processing // Set status to Processing
updateStatus('Processing'); updateStatus('Processing');
@ -548,7 +551,7 @@ class AllTalkTtsProvider {
// Narrator Voice Dropdown Listener // Narrator Voice Dropdown Listener
const narratorVoiceSelect = document.getElementById('narrator_voice'); const narratorVoiceSelect = document.getElementById('narrator_voice');
if (narratorVoiceSelect) { if (narratorVoiceSelect) {
narratorVoiceSelect.addEventListener('change', (event) => { $(narratorVoiceSelect).off('change').on('change', (event) => {
this.settings.narrator_voice_gen = `${event.target.value}.wav`; this.settings.narrator_voice_gen = `${event.target.value}.wav`;
this.onSettingsChange(); // Save the settings after change this.onSettingsChange(); // Save the settings after change
}); });
@ -556,7 +559,7 @@ class AllTalkTtsProvider {
const textNotInsideSelect = document.getElementById('at_narrator_text_not_inside'); const textNotInsideSelect = document.getElementById('at_narrator_text_not_inside');
if (textNotInsideSelect) { if (textNotInsideSelect) {
textNotInsideSelect.addEventListener('change', (event) => { $(textNotInsideSelect).off('change').on('change', (event) => {
this.settings.text_not_inside = event.target.value; this.settings.text_not_inside = event.target.value;
this.onSettingsChange(); // Save the settings after change this.onSettingsChange(); // Save the settings after change
}); });
@ -569,7 +572,7 @@ class AllTalkTtsProvider {
const ttsNarrateDialoguesCheckbox = document.getElementById('tts_narrate_dialogues'); // Access the checkbox from index.js const ttsNarrateDialoguesCheckbox = document.getElementById('tts_narrate_dialogues'); // Access the checkbox from index.js
if (atNarratorSelect && textNotInsideSelect && narratorVoiceSelect) { if (atNarratorSelect && textNotInsideSelect && narratorVoiceSelect) {
atNarratorSelect.addEventListener('change', (event) => { $(atNarratorSelect).off('change').on('change', (event) => {
const isNarratorEnabled = event.target.value === 'true'; const isNarratorEnabled = event.target.value === 'true';
this.settings.narrator_enabled = isNarratorEnabled; // Update the setting here this.settings.narrator_enabled = isNarratorEnabled; // Update the setting here
textNotInsideSelect.disabled = !isNarratorEnabled; textNotInsideSelect.disabled = !isNarratorEnabled;
@ -605,7 +608,7 @@ class AllTalkTtsProvider {
const atGenerationMethodSelect = document.getElementById('at_generation_method'); const atGenerationMethodSelect = document.getElementById('at_generation_method');
const atNarratorEnabledSelect = document.getElementById('at_narrator_enabled'); const atNarratorEnabledSelect = document.getElementById('at_narrator_enabled');
if (atGenerationMethodSelect) { if (atGenerationMethodSelect) {
atGenerationMethodSelect.addEventListener('change', (event) => { $(atGenerationMethodSelect).off('change').on('change', (event) => {
const selectedMethod = event.target.value; const selectedMethod = event.target.value;
if (selectedMethod === 'streaming_enabled') { if (selectedMethod === 'streaming_enabled') {
@ -626,7 +629,7 @@ class AllTalkTtsProvider {
// Listener for Language Dropdown // Listener for Language Dropdown
const languageSelect = document.getElementById('language_options'); const languageSelect = document.getElementById('language_options');
if (languageSelect) { if (languageSelect) {
languageSelect.addEventListener('change', (event) => { $(languageSelect).off('change').on('change', (event) => {
this.settings.language = event.target.value; this.settings.language = event.target.value;
this.onSettingsChange(); // Save the settings after change this.onSettingsChange(); // Save the settings after change
}); });
@ -635,7 +638,7 @@ class AllTalkTtsProvider {
// Listener for AllTalk Endpoint Input // Listener for AllTalk Endpoint Input
const atServerInput = document.getElementById('at_server'); const atServerInput = document.getElementById('at_server');
if (atServerInput) { if (atServerInput) {
atServerInput.addEventListener('input', (event) => { $(atServerInput).off('input').on('input', (event) => {
this.settings.provider_endpoint = event.target.value; this.settings.provider_endpoint = event.target.value;
this.onSettingsChange(); // Save the settings after change this.onSettingsChange(); // Save the settings after change
}); });
@ -665,8 +668,7 @@ class AllTalkTtsProvider {
//#########################// //#########################//
async onRefreshClick() { async onRefreshClick() {
await this.checkReady(); // Check if the TTS provider is ready await this.initEndpoint();
await this.loadSettings(this.settings); // Reload the settings
// Additional actions as needed // Additional actions as needed
} }