This reverts commitsmaster0cc0300328to38d15f8f90. The0cc03003commit breaks MBROLA voice support. As such, there may be other breakages in those commits.
| @@ -36,7 +36,7 @@ | |||
| extern ESPEAK_NG_API void strncpy0(char *to, const char *from, int size); | |||
| extern ESPEAK_NG_API int utf8_in(int *c, const char *buf); | |||
| extern ESPEAK_NG_API size_t GetFileLength(const char *filename); | |||
| extern ESPEAK_NG_API int GetFileLength(const char *filename); | |||
| // This version of the command-line speak program uses the | |||
| // libespeak.so.1 library | |||
| @@ -112,9 +112,9 @@ static const char *help_text = | |||
| int samplerate; | |||
| int quiet = 0; | |||
| int samples_total = 0; | |||
| int samples_split = 0; | |||
| int samples_split_seconds = 0; | |||
| unsigned int samples_total = 0; | |||
| unsigned int samples_split = 0; | |||
| unsigned int samples_split_seconds = 0; | |||
| unsigned int wavefile_count = 0; | |||
| FILE *f_wavfile = NULL; | |||
| @@ -227,7 +227,7 @@ int OpenWavFile(char *path, int rate) | |||
| static void CloseWavFile() | |||
| { | |||
| int pos; | |||
| unsigned int pos; | |||
| if ((f_wavfile == NULL) || (f_wavfile == stdout)) | |||
| return; | |||
| @@ -282,7 +282,7 @@ static int SynthCallback(short *wav, int numsamples, espeak_EVENT *events) | |||
| if (numsamples > 0) { | |||
| samples_total += numsamples; | |||
| fwrite(wav, (size_t)(numsamples*2), 1, f_wavfile); | |||
| fwrite(wav, numsamples*2, 1, f_wavfile); | |||
| } | |||
| return 0; | |||
| } | |||
| @@ -343,13 +343,13 @@ int main(int argc, char **argv) | |||
| int option_index = 0; | |||
| int c; | |||
| size_t ix; | |||
| int ix; | |||
| char *optarg2; | |||
| unsigned int value; | |||
| int value; | |||
| int flag_stdin = 0; | |||
| int flag_compile = 0; | |||
| size_t filesize = 0; | |||
| unsigned int synth_flags = espeakCHARS_AUTO | espeakPHONEMES | espeakENDPAUSE; | |||
| int filesize = 0; | |||
| int synth_flags = espeakCHARS_AUTO | espeakPHONEMES | espeakENDPAUSE; | |||
| int volume = -1; | |||
| int speed = -1; | |||
| @@ -488,7 +488,7 @@ int main(int argc, char **argv) | |||
| strncpy0(wavefile, optarg2, sizeof(filename)); | |||
| break; | |||
| case 'z': // remove pause from the end of a sentence | |||
| synth_flags &= (unsigned int)~espeakENDPAUSE; | |||
| synth_flags &= ~espeakENDPAUSE; | |||
| break; | |||
| case 0x100: // --stdin | |||
| flag_stdin = 1; | |||
| @@ -716,10 +716,11 @@ int main(int argc, char **argv) | |||
| } | |||
| if (p_text != NULL) { | |||
| size_t size = strlen(p_text); | |||
| int size; | |||
| size = strlen(p_text); | |||
| espeak_Synth(p_text, size+1, 0, POS_CHARACTER, 0, synth_flags, NULL, NULL); | |||
| } else if (flag_stdin) { | |||
| size_t max = 1000; | |||
| int max = 1000; | |||
| p_text = (char *)malloc(max); | |||
| if (flag_stdin == 2) { | |||
| @@ -45,6 +45,7 @@ static unsigned int StringToWord(const char *string) | |||
| { | |||
| // Pack 4 characters into a word | |||
| int ix; | |||
| unsigned char c; | |||
| unsigned int word; | |||
| if (string == NULL) | |||
| @@ -53,7 +54,8 @@ static unsigned int StringToWord(const char *string) | |||
| word = 0; | |||
| for (ix = 0; ix < 4; ix++) { | |||
| if (string[ix] == 0) break; | |||
| word |= ((unsigned int)string[ix] << (ix*8)); | |||
| c = string[ix]; | |||
| word |= (c << (ix*8)); | |||
| } | |||
| return word; | |||
| } | |||
| @@ -493,12 +493,12 @@ void clock_gettime2(struct timespec *ts) | |||
| ts->tv_nsec = tv.tv_usec*1000; | |||
| } | |||
| void add_time_in_ms(struct timespec *ts, uint64_t time_in_ms) | |||
| void add_time_in_ms(struct timespec *ts, int time_in_ms) | |||
| { | |||
| if (!ts) | |||
| return; | |||
| uint64_t t_ns = (uint64_t)ts->tv_nsec + 1000000 * time_in_ms; | |||
| uint64_t t_ns = (uint64_t)ts->tv_nsec + 1000000 * (uint64_t)time_in_ms; | |||
| while (t_ns >= ONE_BILLION) { | |||
| ts->tv_sec += 1; | |||
| t_ns -= ONE_BILLION; | |||
| @@ -380,7 +380,7 @@ static int parwave(klatt_frame_ptr frame) | |||
| temp = (int)(out * wdata.amplitude * kt_globals.amp_gain0); // Convert back to integer | |||
| // mix with a recorded WAV if required for this phoneme | |||
| unsigned char c; | |||
| signed char c; | |||
| int sample; | |||
| if (wdata.mix_wavefile_ix < wdata.n_mix_wavefile) { | |||
| @@ -139,7 +139,7 @@ static void SpectFrameDestroy(SpectFrame *frame) | |||
| int LoadFrame(SpectFrame *frame, FILE *stream, int file_format_type) | |||
| { | |||
| short ix; | |||
| unsigned short x; | |||
| short x; | |||
| unsigned short *spect_data; | |||
| frame->time = read_double(stream); | |||
| @@ -275,8 +275,7 @@ static float GetFrameLength(SpectSeq *spect, int frame) | |||
| espeak_ng_STATUS LoadSpectSeq(SpectSeq *spect, const char *filename) | |||
| { | |||
| unsigned short n; | |||
| short temp; | |||
| short n, temp; | |||
| int ix; | |||
| uint32_t id1, id2, name_len; | |||
| int set_max_y = 0; | |||
| @@ -310,7 +309,7 @@ espeak_ng_STATUS LoadSpectSeq(SpectSeq *spect, const char *filename) | |||
| } else | |||
| spect->name = NULL; | |||
| fread(&n, sizeof(unsigned short), 1, stream); | |||
| fread(&n, sizeof(short), 1, stream); | |||
| fread(&spect->amplitude, sizeof(short), 1, stream); | |||
| fread(&spect->max_y, sizeof(short), 1, stream); | |||
| fread(&temp, sizeof(short), 1, stream); // unused | |||
| @@ -237,7 +237,7 @@ ESPEAK_NG_API espeak_ng_STATUS espeak_ng_InitializeOutput(espeak_ng_OUTPUT_MODE | |||
| return ENS_OK; | |||
| } | |||
| size_t GetFileLength(const char *filename) | |||
| int GetFileLength(const char *filename) | |||
| { | |||
| struct stat statbuf; | |||
| @@ -75,7 +75,7 @@ int LookupMnem(MNEM_TAB *table, const char *string); | |||
| extern char path_home[N_PATH_HOME]; // this is the espeak-data directory | |||
| extern ESPEAK_NG_API void strncpy0(char *to, const char *from, int size); | |||
| extern ESPEAK_NG_API size_t GetFileLength(const char *filename); | |||
| extern ESPEAK_NG_API int GetFileLength(const char *filename); | |||
| char *Alloc(int size); | |||
| void Free(void *ptr); | |||
| @@ -355,10 +355,10 @@ typedef struct { | |||
| } SOUND_ICON; | |||
| typedef struct { | |||
| unsigned int name; | |||
| int name; | |||
| unsigned int next_phoneme; | |||
| unsigned int mbr_name; | |||
| unsigned int mbr_name2; | |||
| int mbr_name; | |||
| int mbr_name2; | |||
| int percent; // percentage length of first component | |||
| int control; | |||
| } MBROLA_TAB; | |||
| @@ -55,7 +55,7 @@ extern void wave_set_callback_is_output_enabled(t_wave_callback *cb); | |||
| // general functions | |||
| extern void clock_gettime2(struct timespec *ts); | |||
| extern void add_time_in_ms(struct timespec *ts, uint64_t time_in_ms); | |||
| extern void add_time_in_ms(struct timespec *ts, int time_in_ms); | |||
| // for tests | |||
| extern void *wave_test_get_write_buffer(); | |||