| event_list[0].user_data = my_user_data; | event_list[0].user_data = my_user_data; | ||||
| if (SpeakNextClause(NULL, NULL, 1) == 0) { | if (SpeakNextClause(NULL, NULL, 1) == 0) { | ||||
| finished = 0; | |||||
| if ((my_mode & ENOUTPUT_MODE_SPEAK_AUDIO) == ENOUTPUT_MODE_SPEAK_AUDIO) { | if ((my_mode & ENOUTPUT_MODE_SPEAK_AUDIO) == ENOUTPUT_MODE_SPEAK_AUDIO) { | ||||
| if (dispatch_audio(NULL, 0, NULL) < 0) | if (dispatch_audio(NULL, 0, NULL) < 0) | ||||
| return ENS_AUDIO_ERROR; | return ENS_AUDIO_ERROR; | ||||
| } else if (synth_callback) | } else if (synth_callback) | ||||
| synth_callback(NULL, 0, event_list); // NULL buffer ptr indicates end of data | |||||
| finished = synth_callback(NULL, 0, event_list); // NULL buffer ptr indicates end of data | |||||
| if (finished) { | |||||
| SpeakNextClause(NULL, 0, 2); // stop | |||||
| return ENS_SPEECH_STOPPED; | |||||
| } | |||||
| return ENS_OK; | return ENS_OK; | ||||
| } | } | ||||
| } | } |