piper: ensure an utterance is queued only once

regression introduced in the piper re-write
This commit is contained in:
Kovid Goyal 2025-08-05 22:36:32 +05:30
parent e9c1216ded
commit 36b690538f
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -395,9 +395,10 @@ class Piper(TTSBackend):
def _queue_current_utterance(self) -> None:
if self._utterances_being_synthesized:
u = self._utterances_being_synthesized[0]
global_piper_instance().synthesize(u.id, u.sentence)
u.started = True
debug(f'Utterance {u.id} synthesis queued')
if not u.started:
global_piper_instance().synthesize(u.id, u.sentence)
u.started = True
debug(f'Utterance {u.id} synthesis queued')
def audio_sink_state_changed(self, state: QAudio.State) -> None:
self._update_status()