|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
static void select_output(espeak_ng_OUTPUT_MODE output_mode) |
|
|
|
|
|
|
|
|
#pragma GCC visibility push(default) |
|
|
|
|
|
ESPEAK_NG_API void espeak_ng_InitializeOutput(espeak_ng_OUTPUT_MODE output_mode) |
|
|
{ |
|
|
{ |
|
|
my_mode = output_mode; |
|
|
my_mode = output_mode; |
|
|
my_audio = NULL; |
|
|
my_audio = NULL; |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
#pragma GCC visibility push(default) |
|
|
|
|
|
int GetFileLength(const char *filename) |
|
|
int GetFileLength(const char *filename) |
|
|
{ |
|
|
{ |
|
|
struct stat statbuf; |
|
|
struct stat statbuf; |
|
|
|
|
|
|
|
|
switch (output_type) |
|
|
switch (output_type) |
|
|
{ |
|
|
{ |
|
|
case AUDIO_OUTPUT_PLAYBACK: |
|
|
case AUDIO_OUTPUT_PLAYBACK: |
|
|
select_output(ENOUTPUT_MODE_SPEAK_AUDIO); |
|
|
|
|
|
|
|
|
espeak_ng_InitializeOutput(ENOUTPUT_MODE_SPEAK_AUDIO); |
|
|
break; |
|
|
break; |
|
|
case AUDIO_OUTPUT_RETRIEVAL: |
|
|
case AUDIO_OUTPUT_RETRIEVAL: |
|
|
select_output(0); |
|
|
|
|
|
|
|
|
espeak_ng_InitializeOutput(0); |
|
|
break; |
|
|
break; |
|
|
case AUDIO_OUTPUT_SYNCHRONOUS: |
|
|
case AUDIO_OUTPUT_SYNCHRONOUS: |
|
|
select_output(ENOUTPUT_MODE_SYNCHRONOUS); |
|
|
|
|
|
|
|
|
espeak_ng_InitializeOutput(ENOUTPUT_MODE_SYNCHRONOUS); |
|
|
break; |
|
|
break; |
|
|
case AUDIO_OUTPUT_SYNCH_PLAYBACK: |
|
|
case AUDIO_OUTPUT_SYNCH_PLAYBACK: |
|
|
select_output(ENOUTPUT_MODE_SYNCHRONOUS | ENOUTPUT_MODE_SPEAK_AUDIO); |
|
|
|
|
|
|
|
|
espeak_ng_InitializeOutput(ENOUTPUT_MODE_SYNCHRONOUS | ENOUTPUT_MODE_SPEAK_AUDIO); |
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
|
|
|
|