unsigned int *unique_identifier, | unsigned int *unique_identifier, | ||||
void *user_data); | void *user_data); | ||||
ESPEAK_NG_API espeak_ng_STATUS | |||||
espeak_ng_SynthesizeMark(const void *text, | |||||
size_t size, | |||||
const char *index_mark, | |||||
unsigned int end_position, | |||||
unsigned int flags, | |||||
unsigned int *unique_identifier, | |||||
void *user_data); | |||||
ESPEAK_NG_API espeak_ng_STATUS | ESPEAK_NG_API espeak_ng_STATUS | ||||
espeak_ng_SpeakKeyName(const char *key_name); | espeak_ng_SpeakKeyName(const char *key_name); | ||||
return status_to_espeak_error(espeak_ng_Synthesize(text, size, position, position_type, end_position, flags, unique_identifier, user_data)); | return status_to_espeak_error(espeak_ng_Synthesize(text, size, position, position_type, end_position, flags, unique_identifier, user_data)); | ||||
} | } | ||||
ESPEAK_API espeak_ERROR espeak_Synth_Mark(const void *text, size_t size, | |||||
const char *index_mark, | |||||
unsigned int end_position, | |||||
unsigned int flags, | |||||
unsigned int *unique_identifier, | |||||
void *user_data) | |||||
{ | |||||
return status_to_espeak_error(espeak_ng_SynthesizeMark(text, size, index_mark, end_position, flags, unique_identifier, user_data)); | |||||
} | |||||
ESPEAK_API espeak_ERROR espeak_Key(const char *key_name) | ESPEAK_API espeak_ERROR espeak_Key(const char *key_name) | ||||
{ | { | ||||
return status_to_espeak_error(espeak_ng_SpeakKeyName(key_name)); | return status_to_espeak_error(espeak_ng_SpeakKeyName(key_name)); |
espeak_ng_STATUS sync_espeak_Synth(unsigned int unique_identifier, const void *text, | espeak_ng_STATUS sync_espeak_Synth(unsigned int unique_identifier, const void *text, | ||||
unsigned int position, espeak_POSITION_TYPE position_type, | unsigned int position, espeak_POSITION_TYPE position_type, | ||||
unsigned int end_position, unsigned int flags, void *user_data); | unsigned int end_position, unsigned int flags, void *user_data); | ||||
espeak_ERROR sync_espeak_Synth_Mark(unsigned int unique_identifier, const void *text, | |||||
const char *index_mark, unsigned int end_position, | |||||
unsigned int flags, void *user_data); | |||||
espeak_ng_STATUS sync_espeak_Synth_Mark(unsigned int unique_identifier, const void *text, | |||||
const char *index_mark, unsigned int end_position, | |||||
unsigned int flags, void *user_data); | |||||
espeak_ng_STATUS sync_espeak_Key(const char *key); | espeak_ng_STATUS sync_espeak_Key(const char *key); | ||||
espeak_ng_STATUS sync_espeak_Char(wchar_t character); | espeak_ng_STATUS sync_espeak_Char(wchar_t character); | ||||
void sync_espeak_SetPunctuationList(const wchar_t *punctlist); | void sync_espeak_SetPunctuationList(const wchar_t *punctlist); |
return aStatus; | return aStatus; | ||||
} | } | ||||
espeak_ERROR sync_espeak_Synth_Mark(unsigned int unique_identifier, const void *text, | |||||
const char *index_mark, unsigned int end_position, | |||||
unsigned int flags, void *user_data) | |||||
espeak_ng_STATUS sync_espeak_Synth_Mark(unsigned int unique_identifier, const void *text, | |||||
const char *index_mark, unsigned int end_position, | |||||
unsigned int flags, void *user_data) | |||||
{ | { | ||||
InitText(flags); | InitText(flags); | ||||
end_character_position = end_position; | end_character_position = end_position; | ||||
return status_to_espeak_error(Synthesize(unique_identifier, text, flags | espeakSSML)); | |||||
return Synthesize(unique_identifier, text, flags | espeakSSML); | |||||
} | } | ||||
espeak_ng_STATUS sync_espeak_Key(const char *key) | espeak_ng_STATUS sync_espeak_Key(const char *key) | ||||
#endif | #endif | ||||
} | } | ||||
ESPEAK_API espeak_ERROR espeak_Synth_Mark(const void *text, size_t size, | |||||
const char *index_mark, | |||||
unsigned int end_position, | |||||
unsigned int flags, | |||||
unsigned int *unique_identifier, | |||||
void *user_data) | |||||
ESPEAK_NG_API espeak_ng_STATUS | |||||
espeak_ng_SynthesizeMark(const void *text, | |||||
size_t size, | |||||
const char *index_mark, | |||||
unsigned int end_position, | |||||
unsigned int flags, | |||||
unsigned int *unique_identifier, | |||||
void *user_data) | |||||
{ | { | ||||
(void)size; // unused | |||||
(void)size; // unused in non-async modes | |||||
espeak_ERROR a_error = EE_OK; | |||||
static unsigned int temp_identifier; | static unsigned int temp_identifier; | ||||
if (unique_identifier == NULL) | if (unique_identifier == NULL) | ||||
// Try to add these 2 commands (single transaction) | // Try to add these 2 commands (single transaction) | ||||
if (c1 && c2) { | if (c1 && c2) { | ||||
a_error = status_to_espeak_error(fifo_add_commands(c1, c2)); | |||||
if (a_error != EE_OK) { | |||||
espeak_ng_STATUS status = fifo_add_commands(c1, c2); | |||||
if (status != ENS_OK) { | |||||
delete_espeak_command(c1); | delete_espeak_command(c1); | ||||
delete_espeak_command(c2); | delete_espeak_command(c2); | ||||
c1 = c2 = NULL; | |||||
} | } | ||||
} else { | |||||
delete_espeak_command(c1); | |||||
delete_espeak_command(c2); | |||||
return status; | |||||
} | } | ||||
delete_espeak_command(c1); | |||||
delete_espeak_command(c2); | |||||
return ENOMEM; | |||||
#else | |||||
return sync_espeak_Synth_Mark(0, text, index_mark, end_position, flags, user_data); | |||||
#endif | #endif | ||||
return a_error; | |||||
} | } | ||||
ESPEAK_NG_API espeak_ng_STATUS espeak_ng_SpeakKeyName(const char *key_name) | ESPEAK_NG_API espeak_ng_STATUS espeak_ng_SpeakKeyName(const char *key_name) |