|
|
@@ -1994,7 +1994,6 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) |
|
|
|
|
|
|
|
int terminator; |
|
|
|
int tone; |
|
|
|
int tone2; |
|
|
|
|
|
|
|
if (tr == NULL) |
|
|
|
return; |
|
|
@@ -2010,7 +2009,14 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) |
|
|
|
|
|
|
|
for (ix = 0; ix < N_TR_SOURCE; ix++) |
|
|
|
charix[ix] = 0; |
|
|
|
terminator = ReadClause(tr, source, charix, &charix_top, N_TR_SOURCE, &tone2, voice_change_name); |
|
|
|
terminator = ReadClause(tr, source, charix, &charix_top, N_TR_SOURCE, &tone, voice_change_name); |
|
|
|
|
|
|
|
if (tone_out != NULL) { |
|
|
|
if (tone == 0) |
|
|
|
*tone_out = (terminator & CLAUSE_INTONATION_TYPE) >> 12; // tone type not overridden in ReadClause, use default |
|
|
|
else |
|
|
|
*tone_out = tone; // override tone type |
|
|
|
} |
|
|
|
|
|
|
|
charix[charix_top+1] = 0; |
|
|
|
charix[charix_top+2] = 0x7fff; |
|
|
@@ -2020,12 +2026,6 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) |
|
|
|
if (terminator & CLAUSE_PAUSE_LONG) |
|
|
|
clause_pause = clause_pause * 32; // pause value is *320mS not *10mS |
|
|
|
|
|
|
|
tone = (terminator & CLAUSE_INTONATION_TYPE) >> 12; |
|
|
|
if (tone2 != 0) { |
|
|
|
// override the tone type |
|
|
|
tone = tone2; |
|
|
|
} |
|
|
|
|
|
|
|
for (p = source; *p != 0; p++) { |
|
|
|
if (!isspace2(*p)) |
|
|
|
break; |
|
|
@@ -2644,7 +2644,8 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) |
|
|
|
if ((dict_flags & (FLAG_ALLOW_DOT | FLAG_NEEDS_DOT)) && (ix == word_count - 1 - dictionary_skipwords) && (terminator & CLAUSE_DOT_AFTER_LAST_WORD)) { |
|
|
|
// probably an abbreviation such as Mr. or B. rather than end of sentence |
|
|
|
clause_pause = 10; |
|
|
|
tone = 4; |
|
|
|
if (tone_out != NULL) |
|
|
|
*tone_out = 4; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@@ -2690,9 +2691,6 @@ void TranslateClause(Translator *tr, int *tone_out, char **voice_change) |
|
|
|
|
|
|
|
prev_clause_pause = clause_pause; |
|
|
|
|
|
|
|
if (tone_out != NULL) |
|
|
|
*tone_out = tone; |
|
|
|
|
|
|
|
new_sentence = false; |
|
|
|
if (terminator & CLAUSE_TYPE_SENTENCE) |
|
|
|
new_sentence = true; // next clause is a new sentence |