| @@ -1530,19 +1530,16 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
| return 0; // finished the phoneme list | |||
| } | |||
| static int timer_on = 0; | |||
| int SynthOnTimer() | |||
| { | |||
| if (!timer_on) | |||
| return WavegenCloseSound(); | |||
| do { | |||
| if (WcmdqUsed() > 0) | |||
| WavegenOpenSound(); | |||
| if (Generate(phoneme_list, &n_phoneme_list, 1) == 0) | |||
| SpeakNextClause(NULL, NULL, 1); | |||
| if (Generate(phoneme_list, &n_phoneme_list, 1) == 0) { | |||
| if (SpeakNextClause(NULL, NULL, 1) == 0) | |||
| return WavegenCloseSound(); | |||
| } | |||
| } while (skipping_text); | |||
| return 0; | |||
| @@ -1566,7 +1563,6 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control) | |||
| if (control == 2) { | |||
| // stop speaking | |||
| timer_on = 0; | |||
| p_text = NULL; | |||
| if (f_text != NULL) { | |||
| fclose(f_text); | |||
| @@ -1581,17 +1577,14 @@ int SpeakNextClause(FILE *f_in, const void *text_in, int control) | |||
| if ((f_in != NULL) || (text_in != NULL)) { | |||
| f_text = f_in; | |||
| p_text = text_in; | |||
| timer_on = 1; | |||
| } | |||
| if ((f_text == NULL) && (p_text == NULL)) { | |||
| skipping_text = 0; | |||
| timer_on = 0; | |||
| return 0; | |||
| } | |||
| if ((f_text != NULL) && feof(f_text)) { | |||
| timer_on = 0; | |||
| fclose(f_text); | |||
| f_text = NULL; | |||
| return 0; | |||