[1.29.22] Remember voice variant over <speak> </speak> tags.

git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@108 d46cf337-b52f-0410-862d-fd96e6ae7743
This commit is contained in:
jonsd
2007-11-26 09:55:02 +00:00
parent 40c466b36e
commit b1a45dcdf5
6 changed files with 20 additions and 9 deletions
+12 -4
View File
@@ -1529,7 +1529,7 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int &outix, int n_outb
return(CLAUSE_COLON);
case SSML_SENTENCE:
if(ssml_sp->tag_type == SSML_SENTENCE)
if((ssml_sp != NULL) && (ssml_sp->tag_type == SSML_SENTENCE))
{
// new sentence implies end-of-sentence
voice_change_flag = GetVoiceAttributes(px, SSML_SENTENCE+SSML_CLOSE);
@@ -1539,10 +1539,18 @@ static int ProcessSsmlTag(wchar_t *xml_buf, char *outbuf, int &outix, int n_outb
case SSML_PARAGRAPH:
if((ssml_sp->tag_type == SSML_SENTENCE) || (ssml_sp->tag_type == SSML_PARAGRAPH))
if(ssml_sp != NULL)
{
// new paragraph implies end-of-sentence or end-of-paragraph
voice_change_flag = GetVoiceAttributes(px, SSML_SENTENCE+SSML_CLOSE);
if(ssml_sp->tag_type == SSML_SENTENCE)
{
// new paragraph implies end-of-sentence or end-of-paragraph
voice_change_flag = GetVoiceAttributes(px, SSML_SENTENCE+SSML_CLOSE);
}
if(ssml_sp->tag_type == SSML_PARAGRAPH)
{
// new paragraph implies end-of-sentence or end-of-paragraph
voice_change_flag |= GetVoiceAttributes(px, SSML_PARAGRAPH+SSML_CLOSE);
}
}
voice_change_flag |= GetVoiceAttributes(px, tag_type);
return(CLAUSE_PARAGRAPH + voice_change_flag);
+1 -1
View File
@@ -35,7 +35,7 @@
#include "translate.h"
#include "wave.h"
const char *version_string = "1.29.21 21.Nov.07";
const char *version_string = "1.29.22 26.Nov.07";
const int version_phdata = 0x012901;
int option_device_number = -1;
+2 -1
View File
@@ -1485,7 +1485,8 @@ espeak_ERROR SetVoiceByName(const char *name)
variant_name = ExtractVoiceVariantName(buf,0);
memset(&voice_selector,0,sizeof(voice_selector));
voice_selector.name = buf;
// voice_selector.name = buf;
voice_selector.name = name; // include variant name in voice stack ??
// first check for a voice with this filename
// This may avoid the need to call espeak_ListVoices().