| @@ -2645,6 +2645,11 @@ espeak_ng_STATUS espeak_ng_CompilePhonemeData(long rate, FILE *log, espeak_ng_ER | |||
| if (!log) log = stderr; | |||
| char fname[sizeof(path_home)+40]; | |||
| char phsrc[sizeof(path_home)+40]; // Source: path to the 'phonemes' source file. | |||
| char phdst[sizeof(path_home)+40]; // Destination: path to the phondata/phontab/phonindex output files. | |||
| sprintf(phsrc, "%s/../phsource", path_home); | |||
| sprintf(phdst, "%s", path_home); | |||
| samplerate_native = samplerate = rate; | |||
| LoadPhData(NULL, NULL); | |||
| @@ -2663,13 +2668,13 @@ espeak_ng_STATUS espeak_ng_CompilePhonemeData(long rate, FILE *log, espeak_ng_ER | |||
| strncpy0(current_fname, "phonemes", sizeof(current_fname)); | |||
| sprintf(fname, "%s/../phsource/phonemes", path_home); | |||
| sprintf(fname, "%s/phonemes", phsrc); | |||
| fprintf(log, "Compiling phoneme data: %s\n", fname); | |||
| f_in = fopen(fname, "rb"); | |||
| if (f_in == NULL) | |||
| return create_file_error_context(context, errno, fname); | |||
| sprintf(fname, "%s/../phsource/%s", path_home, "compile_report"); | |||
| sprintf(fname, "%s/%s", phsrc, "compile_report"); | |||
| f_report = fopen(fname, "w"); | |||
| if (f_report == NULL) { | |||
| int error = errno; | |||
| @@ -2677,7 +2682,7 @@ espeak_ng_STATUS espeak_ng_CompilePhonemeData(long rate, FILE *log, espeak_ng_ER | |||
| return create_file_error_context(context, error, fname); | |||
| } | |||
| sprintf(fname, "%s/%s", path_home, "phondata-manifest"); | |||
| sprintf(fname, "%s/%s", phdst, "phondata-manifest"); | |||
| if ((f_phcontents = fopen(fname, "w")) == NULL) | |||
| f_phcontents = stderr; | |||
| @@ -2696,7 +2701,7 @@ espeak_ng_STATUS espeak_ng_CompilePhonemeData(long rate, FILE *log, espeak_ng_ER | |||
| "# Address Data file\n" | |||
| "# ------- ---------\n"); | |||
| sprintf(fname, "%s/%s", path_home, "phondata"); | |||
| sprintf(fname, "%s/%s", phdst, "phondata"); | |||
| f_phdata = fopen(fname, "wb"); | |||
| if (f_phdata == NULL) { | |||
| int error = errno; | |||
| @@ -2706,7 +2711,7 @@ espeak_ng_STATUS espeak_ng_CompilePhonemeData(long rate, FILE *log, espeak_ng_ER | |||
| return create_file_error_context(context, error, fname); | |||
| } | |||
| sprintf(fname, "%s/%s", path_home, "phonindex"); | |||
| sprintf(fname, "%s/%s", phdst, "phonindex"); | |||
| f_phindex = fopen(fname, "wb"); | |||
| if (f_phindex == NULL) { | |||
| int error = errno; | |||
| @@ -2717,7 +2722,7 @@ espeak_ng_STATUS espeak_ng_CompilePhonemeData(long rate, FILE *log, espeak_ng_ER | |||
| return create_file_error_context(context, error, fname); | |||
| } | |||
| sprintf(fname, "%s/%s", path_home, "phontab"); | |||
| sprintf(fname, "%s/%s", phdst, "phontab"); | |||
| f_phtab = fopen(fname, "wb"); | |||
| if (f_phtab == NULL) { | |||
| int error = errno; | |||
| @@ -2729,7 +2734,7 @@ espeak_ng_STATUS espeak_ng_CompilePhonemeData(long rate, FILE *log, espeak_ng_ER | |||
| return create_file_error_context(context, error, fname); | |||
| } | |||
| sprintf(fname, "%s/../phsource/compile_prog_log", path_home); | |||
| sprintf(fname, "%s/compile_prog_log", phsrc); | |||
| f_prog_log = fopen(fname, "wb"); | |||
| // write a word so that further data doesn't start at displ=0 | |||