event_notify currently introduces an arbitrary 50ms delay between speech
requests. This is usually unnoticed since it's small. But when
cancelling a long series of events, they add up to potentially seconds
of delays, while the user was precisely requesting to just cancel
everything as fast as possible.
This 50ms delay was probably meant to work around some issues elsewhere.
If they are still there, they should be fixed, not worked around.
If a thread is cancelled while it holds a mutex, other threads waiting for
the mutex will never be woken, even if destroying the mutex, thus
leading to a deadlock.
Better just make the thread loops have a proper exit case than risking
the tricky semantic of pthread_cancel.
See issue #8, https://github.com/espeak-ng/espeak-ng/issues/8
There might still be some ints that could be changed to boolean.
Possible regressions in fifo.c:
int fifo_is_busy() and int fifo_is_command_enabled() used to return an int. Now they return a boolean. This might cause problems on systems where stdbool true/false is something else than 1/0.
This logic was implemented to limit the number of audio events sent
to a device, but the logic is not too relevant in practice (these
calls return 0 most of the time), and the logic is broken (e.g. when
calling Synthesize with a very long block of text).
This reverts commits 0cc0300328 to
38d15f8f90.
The 0cc03003 commit breaks MBROLA voice support. As such, there
may be other breakages in those commits.
The debugging code is done inconsistently, mainly to trace the
event and audio output logic. This makes it harder to understand
the code flow for logic that is not enabled by default.
As such the debugging code makes the code harder to maintain.
Fixed bug where SSML voice change didn't remember an initially specified Klatt variant.
Removed some unused variables and redundant initializations.
Patch to fix a spike from Klatt function setzeroabc()
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@275 d46cf337-b52f-0410-862d-fd96e6ae7743
Return espeakEVENT_MARK events in AUDIO_OUTPUT_PLAYBACK mode.
New phoneme [ _;_ ] a pause which ends intonation for a clause (the equivalent of a comma).
lang=en-r: adjusted phonemes
git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@129 d46cf337-b52f-0410-862d-fd96e6ae7743