From ef104102ce4fedc5ad6a2abca7d9760f8d60a963 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 6 Sep 2024 21:14:58 +0530 Subject: [PATCH] Piper TTS backend: Fix clicking to start new text after pause causing TTS to stop working --- src/calibre/gui2/tts/piper.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/calibre/gui2/tts/piper.py b/src/calibre/gui2/tts/piper.py index 629b81329a..ad051492dd 100644 --- a/src/calibre/gui2/tts/piper.py +++ b/src/calibre/gui2/tts/piper.py @@ -102,10 +102,12 @@ class UtteranceAudioQueue(QIODevice): def close(self): self.utterances.clear() self.current_audio_data = QByteArray() + self.utterance_being_played = None return super().close() def clear(self): self.utterances.clear() + self.utterance_being_played = None self.current_audio_data = QByteArray() self.audio_state = QAudio.State.IdleState @@ -234,6 +236,7 @@ class Piper(TTSBackend): sip.delete(self._audio_sink) sip.delete(self._process) self._process = self._audio_sink = None + self._set_state(QTextToSpeech.State.Ready) def reload_after_configure(self) -> None: self.shutdown()