hide play when disabled, prevent tts gen on pause

This commit is contained in:
ouoertheo
2023-04-21 12:52:47 -05:00
parent 7ce03d71ff
commit d0f7792bcd

View File

@ -26,7 +26,7 @@ async function moduleWorker() {
processTtsQueue(); processTtsQueue();
processAudioJobQueue(); processAudioJobQueue();
updateUiPlayState(); updateUiAudioPlayState();
// no characters or group selected // no characters or group selected
if (!context.groupId && !context.characterId) { if (!context.groupId && !context.characterId) {
@ -246,7 +246,7 @@ async function tts(text, voiceId) {
async function processTtsQueue() { async function processTtsQueue() {
// Called each moduleWorker iteration to pull chat messages from queue // Called each moduleWorker iteration to pull chat messages from queue
if (currentTtsJob || ttsJobQueue.length <= 0) { if (currentTtsJob || ttsJobQueue.length <= 0 || audioPaused) {
return; return;
} }
@ -385,6 +385,7 @@ async function updateVoiceMap() {
function onElevenlabsApplyClick() { function onElevenlabsApplyClick() {
Promise.all([updateApiKey(), updateVoiceMap()]) Promise.all([updateApiKey(), updateVoiceMap()])
.then(([result1, result2]) => { .then(([result1, result2]) => {
updateUiAudioPlayState()
setElevenLabsStatus("Successfully applied settings", true) setElevenLabsStatus("Successfully applied settings", true)
}) })
.catch((error) => { .catch((error) => {
@ -394,24 +395,30 @@ function onElevenlabsApplyClick() {
function onElevenlabsEnableClick() { function onElevenlabsEnableClick() {
extension_settings.elevenlabstts.enabled = $("#elevenlabs_enabled").is(':checked'); extension_settings.elevenlabstts.enabled = $("#elevenlabs_enabled").is(':checked');
updateUiAudioPlayState()
saveSettingsDebounced(); saveSettingsDebounced();
} }
function updateUiPlayState() { function updateUiAudioPlayState() {
const img = !audioElement.paused? "fa-solid fa-circle-pause": "fa-solid fa-circle-play" if (extension_settings.elevenlabstts.enabled == true){
audioControl.className = img audioControl.style.display = 'flex'
const img = !audioElement.paused? "fa-solid fa-circle-pause": "fa-solid fa-circle-play"
audioControl.className = img
} else {
audioControl.style.display = 'none'
}
} }
function onAudioControlClicked(){ function onAudioControlClicked(){
audioElement.paused? audioElement.play(): audioElement.pause() audioElement.paused? audioElement.play(): audioElement.pause()
updateUiPlayState() updateUiAudioPlayState()
} }
function addAudioControl() { function addAudioControl() {
$('#send_but_sheld').prepend('<div id="tts_media_control"/>') $('#send_but_sheld').prepend('<div id="tts_media_control"/>')
$('#send_but_sheld').on('click',onAudioControlClicked) $('#send_but_sheld').on('click',onAudioControlClicked)
audioControl = document.getElementById('tts_media_control'); audioControl = document.getElementById('tts_media_control');
audioControl.className = "fa-solid fa-circle-play"; updateUiAudioPlayState();
} }
$(document).ready(function () { $(document).ready(function () {
@ -443,7 +450,6 @@ $(document).ready(function () {
$('#elevenlabs_apply').on('click', onElevenlabsApplyClick); $('#elevenlabs_apply').on('click', onElevenlabsApplyClick);
$('#elevenlabs_enabled').on('click', onElevenlabsEnableClick); $('#elevenlabs_enabled').on('click', onElevenlabsEnableClick);
} }
$('#send_form').css = "grid-template-columns: 40px auto 120px;"
addAudioControl(); addAudioControl();
addExtensionControls(); addExtensionControls();
loadSettings(); loadSettings();