mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
#1796 Attempt to fix alltalk on remote servers
This commit is contained in:
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user