def callback(wav,numsamples,event):\r
try:\r
global player, isSpeaking, lastIndex\r
+ if not isSpeaking:\r
+ return 1\r
for e in event:\r
if e.type==espeakEVENT_MARK:\r
lastIndex=int(e.id.name)\r
player.idle()\r
isSpeaking = False\r
return 0\r
- if not isSpeaking:\r
- return 1\r
if numsamples > 0:\r
try:\r
player.feed(string_at(wav, numsamples * sizeof(c_short)))\r
_execWhenDone(_speak, text, mustBeAsync=True)\r
\r
def stop():\r
- global isSpeaking, bgQueue\r
+ global isSpeaking, bgQueue, lastIndex\r
# Kill all speech from now.\r
# We still want parameter changes to occur, so requeue them.\r
params = []\r
bgQueue.put(item)\r
isSpeaking = False\r
player.stop()\r
+ lastIndex=None\r
\r
def pause(switch):\r
global player\r