@@ -116,7 +116,7 @@ static const char *help_text = | |||
"-h, --help Show this help.\n"; | |||
int samplerate; | |||
int quiet = 0; | |||
bool quiet = false; | |||
unsigned int samples_total = 0; | |||
unsigned int samples_split = 0; | |||
unsigned int samples_split_seconds = 0; | |||
@@ -405,7 +405,7 @@ int main(int argc, char **argv) | |||
pitch = atoi(optarg2); | |||
break; | |||
case 'q': | |||
quiet = 1; | |||
quiet = true; | |||
break; | |||
case 'f': | |||
strncpy0(filename, optarg2, sizeof(filename)); | |||
@@ -443,7 +443,7 @@ int main(int argc, char **argv) | |||
case 0x102: // --compile | |||
strncpy0(voicename, optarg2, sizeof(voicename)); | |||
flag_compile = c; | |||
quiet = 1; | |||
quiet = true; | |||
break; | |||
case 0x103: // --punct | |||
option_punctuation = 1; |
@@ -39,17 +39,17 @@ | |||
// my_mutex: protects my_thread_is_talking, | |||
static pthread_mutex_t my_mutex; | |||
static pthread_cond_t my_cond_start_is_required; | |||
static int my_start_is_required = 0; | |||
static bool my_start_is_required = false; | |||
static pthread_cond_t my_cond_stop_is_required; | |||
static int my_stop_is_required = 0; | |||
static bool my_stop_is_required = false; | |||
static pthread_cond_t my_cond_stop_is_acknowledged; | |||
static int my_stop_is_acknowledged = 0; | |||
static bool my_stop_is_acknowledged = false; | |||
// my_thread: polls the audio duration and compares it to the duration of the first event. | |||
static pthread_t my_thread; | |||
static bool thread_inited; | |||
static t_espeak_callback *my_callback = NULL; | |||
static int my_event_is_running = 0; | |||
static bool my_event_is_running = false; | |||
enum { | |||
MIN_TIMEOUT_IN_MS = 10, | |||
@@ -77,7 +77,7 @@ void event_set_callback(t_espeak_callback *SynthCallback) | |||
void event_init(void) | |||
{ | |||
my_event_is_running = 0; | |||
my_event_is_running = false; | |||
// security | |||
pthread_mutex_init(&my_mutex, (const pthread_mutexattr_t *)NULL); | |||
@@ -205,7 +205,7 @@ espeak_ng_STATUS event_declare(espeak_EVENT *event) | |||
espeak_ng_STATUS status; | |||
if ((status = pthread_mutex_lock(&my_mutex)) != ENS_OK) { | |||
my_start_is_required = 1; | |||
my_start_is_required = true; | |||
return status; | |||
} | |||
@@ -214,7 +214,7 @@ espeak_ng_STATUS event_declare(espeak_EVENT *event) | |||
event_delete(a_event); | |||
pthread_mutex_unlock(&my_mutex); | |||
} else { | |||
my_start_is_required = 1; | |||
my_start_is_required = true; | |||
pthread_cond_signal(&my_cond_start_is_required); | |||
status = pthread_mutex_unlock(&my_mutex); | |||
} | |||
@@ -231,14 +231,14 @@ espeak_ng_STATUS event_clear_all() | |||
int a_event_is_running = 0; | |||
if (my_event_is_running) { | |||
my_stop_is_required = 1; | |||
my_stop_is_required = true; | |||
pthread_cond_signal(&my_cond_stop_is_required); | |||
a_event_is_running = 1; | |||
} else | |||
init(); // clear pending events | |||
if (a_event_is_running) { | |||
while (my_stop_is_acknowledged == 0) { | |||
while (my_stop_is_acknowledged == false) { | |||
while ((pthread_cond_wait(&my_cond_stop_is_acknowledged, &my_mutex) == -1) && errno == EINTR) | |||
continue; // Restart when interrupted by handler | |||
} | |||
@@ -255,24 +255,24 @@ static void *polling_thread(void *p) | |||
(void)p; // unused | |||
while (1) { | |||
int a_stop_is_required = 0; | |||
bool a_stop_is_required = false; | |||
(void)pthread_mutex_lock(&my_mutex); | |||
my_event_is_running = 0; | |||
my_event_is_running = false; | |||
while (my_start_is_required == 0) { | |||
while (my_start_is_required == false) { | |||
while ((pthread_cond_wait(&my_cond_start_is_required, &my_mutex) == -1) && errno == EINTR) | |||
continue; // Restart when interrupted by handler | |||
} | |||
my_event_is_running = 1; | |||
a_stop_is_required = 0; | |||
my_start_is_required = 0; | |||
my_event_is_running = true; | |||
a_stop_is_required = false; | |||
my_start_is_required = false; | |||
pthread_mutex_unlock(&my_mutex); | |||
// In this loop, my_event_is_running = 1 | |||
while (head && (a_stop_is_required == 0)) { | |||
// In this loop, my_event_is_running = true | |||
while (head && (a_stop_is_required == false)) { | |||
espeak_EVENT *event = (espeak_EVENT *)(head->data); | |||
assert(event); | |||
@@ -287,32 +287,32 @@ static void *polling_thread(void *p) | |||
(void)pthread_mutex_lock(&my_mutex); | |||
event_delete((espeak_EVENT *)pop()); | |||
a_stop_is_required = my_stop_is_required; | |||
if (a_stop_is_required > 0) | |||
my_stop_is_required = 0; | |||
if (a_stop_is_required == true) | |||
my_stop_is_required = false; | |||
(void)pthread_mutex_unlock(&my_mutex); | |||
} | |||
(void)pthread_mutex_lock(&my_mutex); | |||
my_event_is_running = 0; | |||
my_event_is_running = false; | |||
if (a_stop_is_required == 0) { | |||
if (a_stop_is_required == false) { | |||
a_stop_is_required = my_stop_is_required; | |||
if (a_stop_is_required > 0) | |||
my_stop_is_required = 0; | |||
if (a_stop_is_required == true) | |||
my_stop_is_required = false; | |||
} | |||
(void)pthread_mutex_unlock(&my_mutex); | |||
if (a_stop_is_required > 0) { | |||
if (a_stop_is_required == true) { | |||
// no mutex required since the stop command is synchronous | |||
// and waiting for my_cond_stop_is_acknowledged | |||
init(); | |||
// acknowledge the stop request | |||
(void)pthread_mutex_lock(&my_mutex); | |||
my_stop_is_acknowledged = 1; | |||
my_stop_is_acknowledged = true; | |||
(void)pthread_cond_signal(&my_cond_stop_is_acknowledged); | |||
(void)pthread_mutex_unlock(&my_mutex); | |||
} |
@@ -23,6 +23,7 @@ | |||
#include <assert.h> | |||
#include <errno.h> | |||
#include <pthread.h> | |||
#include <stdbool.h> | |||
#include <stdint.h> | |||
#include <stdlib.h> | |||
#include <string.h> | |||
@@ -42,18 +43,18 @@ | |||
// my_mutex: protects my_thread_is_talking, | |||
// my_stop_is_required, and the command fifo | |||
static pthread_mutex_t my_mutex; | |||
static int my_command_is_running = 0; | |||
static bool my_command_is_running = false; | |||
static pthread_cond_t my_cond_command_is_running; | |||
static int my_stop_is_required = 0; | |||
static bool my_stop_is_required = false; | |||
// my_thread: reads commands from the fifo, and runs them. | |||
static pthread_t my_thread; | |||
static pthread_cond_t my_cond_start_is_required; | |||
static int my_start_is_required = 0; | |||
static bool my_start_is_required = false; | |||
static pthread_cond_t my_cond_stop_is_acknowledged; | |||
static int my_stop_is_acknowledged = 0; | |||
static bool my_stop_is_acknowledged = false; | |||
static void *say_thread(void *); | |||
@@ -92,11 +93,11 @@ void fifo_init() | |||
// leave once the thread is actually started | |||
assert(-1 != pthread_mutex_lock(&my_mutex)); | |||
while (my_stop_is_acknowledged == 0) { | |||
while (my_stop_is_acknowledged == false) { | |||
while ((pthread_cond_wait(&my_cond_stop_is_acknowledged, &my_mutex) == -1) && errno == EINTR) | |||
; | |||
} | |||
my_stop_is_acknowledged = 0; | |||
my_stop_is_acknowledged = false; | |||
pthread_mutex_unlock(&my_mutex); | |||
} | |||
@@ -111,7 +112,7 @@ espeak_ng_STATUS fifo_add_command(t_espeak_command *the_command) | |||
return status; | |||
} | |||
my_start_is_required = 1; | |||
my_start_is_required = true; | |||
pthread_cond_signal(&my_cond_start_is_required); | |||
while (my_start_is_required && !my_command_is_running) { | |||
@@ -147,7 +148,7 @@ espeak_ng_STATUS fifo_add_commands(t_espeak_command *command1, t_espeak_command | |||
return status; | |||
} | |||
my_start_is_required = 1; | |||
my_start_is_required = true; | |||
pthread_cond_signal(&my_cond_start_is_required); | |||
while (my_start_is_required && !my_command_is_running) { | |||
@@ -168,21 +169,21 @@ espeak_ng_STATUS fifo_stop() | |||
if ((status = pthread_mutex_lock(&my_mutex)) != ENS_OK) | |||
return status; | |||
int a_command_is_running = 0; | |||
bool a_command_is_running = false; | |||
if (my_command_is_running) { | |||
a_command_is_running = 1; | |||
my_stop_is_required = 1; | |||
my_stop_is_acknowledged = 0; | |||
a_command_is_running = true; | |||
my_stop_is_required = true; | |||
my_stop_is_acknowledged = false; | |||
} | |||
if (a_command_is_running) { | |||
while (my_stop_is_acknowledged == 0) { | |||
while (my_stop_is_acknowledged == false) { | |||
while ((pthread_cond_wait(&my_cond_stop_is_acknowledged, &my_mutex) == -1) && errno == EINTR) | |||
continue; // Restart when interrupted by handler | |||
} | |||
} | |||
my_stop_is_required = 0; | |||
my_stop_is_required = false; | |||
if ((status = pthread_mutex_unlock(&my_mutex)) != ENS_OK) | |||
return status; | |||
@@ -196,7 +197,7 @@ int fifo_is_busy() | |||
static int sleep_until_start_request_or_inactivity() | |||
{ | |||
int a_start_is_required = 0; | |||
int a_start_is_required = false; | |||
// Wait for the start request (my_cond_start_is_required). | |||
// Besides this, if the audio stream is still busy, | |||
@@ -224,7 +225,7 @@ static int sleep_until_start_request_or_inactivity() | |||
assert(gettimeofday(&tv, NULL) != -1); | |||
if (err == 0) | |||
a_start_is_required = 1; | |||
a_start_is_required = true; | |||
} | |||
pthread_mutex_unlock(&my_mutex); | |||
return a_start_is_required; | |||
@@ -236,9 +237,9 @@ static espeak_ng_STATUS close_stream() | |||
if (status != ENS_OK) | |||
return status; | |||
int a_stop_is_required = my_stop_is_required; | |||
bool a_stop_is_required = my_stop_is_required; | |||
if (!a_stop_is_required) | |||
my_command_is_running = 1; | |||
my_command_is_running = true; | |||
status = pthread_mutex_unlock(&my_mutex); | |||
@@ -247,7 +248,7 @@ static espeak_ng_STATUS close_stream() | |||
if (status == ENS_OK) | |||
status = a_status; | |||
my_command_is_running = 0; | |||
my_command_is_running = false; | |||
a_stop_is_required = my_stop_is_required; | |||
a_status = pthread_mutex_unlock(&my_mutex); | |||
@@ -263,7 +264,7 @@ static espeak_ng_STATUS close_stream() | |||
if((a_status = pthread_mutex_lock(&my_mutex)) != ENS_OK) | |||
return a_status; | |||
my_stop_is_acknowledged = 1; | |||
my_stop_is_acknowledged = true; | |||
a_status = pthread_cond_signal(&my_cond_stop_is_acknowledged); | |||
if(a_status != ENS_OK) | |||
return a_status; | |||
@@ -283,33 +284,33 @@ static void *say_thread(void *p) | |||
// announce that thread is started | |||
assert(-1 != pthread_mutex_lock(&my_mutex)); | |||
my_stop_is_acknowledged = 1; | |||
my_stop_is_acknowledged = true; | |||
assert(-1 != pthread_cond_signal(&my_cond_stop_is_acknowledged)); | |||
assert(-1 != pthread_mutex_unlock(&my_mutex)); | |||
int look_for_inactivity = 0; | |||
bool look_for_inactivity = false; | |||
while (1) { | |||
int a_start_is_required = 0; | |||
bool a_start_is_required = false; | |||
if (look_for_inactivity) { | |||
a_start_is_required = sleep_until_start_request_or_inactivity(); | |||
if (!a_start_is_required) | |||
close_stream(); | |||
} | |||
look_for_inactivity = 1; | |||
look_for_inactivity = true; | |||
int a_status = pthread_mutex_lock(&my_mutex); | |||
assert(!a_status); | |||
if (!a_start_is_required) { | |||
while (my_start_is_required == 0) { | |||
while (my_start_is_required == false) { | |||
while ((pthread_cond_wait(&my_cond_start_is_required, &my_mutex) == -1) && errno == EINTR) | |||
continue; // Restart when interrupted by handler | |||
} | |||
} | |||
my_command_is_running = 1; | |||
my_command_is_running = true; | |||
assert(-1 != pthread_cond_broadcast(&my_cond_command_is_running)); | |||
assert(-1 != pthread_mutex_unlock(&my_mutex)); | |||
@@ -320,13 +321,13 @@ static void *say_thread(void *p) | |||
t_espeak_command *a_command = (t_espeak_command *)pop(); | |||
if (a_command == NULL) { | |||
my_command_is_running = 0; | |||
my_command_is_running = false; | |||
a_status = pthread_mutex_unlock(&my_mutex); | |||
} else { | |||
my_start_is_required = 0; | |||
my_start_is_required = false; | |||
if (my_stop_is_required) | |||
my_command_is_running = 0; | |||
my_command_is_running = false; | |||
a_status = pthread_mutex_unlock(&my_mutex); | |||
if (my_command_is_running) | |||
@@ -341,10 +342,10 @@ static void *say_thread(void *p) | |||
init(1); | |||
assert(-1 != pthread_mutex_lock(&my_mutex)); | |||
my_start_is_required = 0; | |||
my_start_is_required = false; | |||
// acknowledge the stop request | |||
my_stop_is_acknowledged = 1; | |||
my_stop_is_acknowledged = true; | |||
int a_status = pthread_cond_signal(&my_cond_stop_is_acknowledged); | |||
assert(a_status != -1); | |||
pthread_mutex_unlock(&my_mutex); |
@@ -19,6 +19,7 @@ | |||
#include "config.h" | |||
#include <stdbool.h> | |||
#include <stdint.h> | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
@@ -118,8 +119,8 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
int alternative; | |||
int delete_count; | |||
int word_start; | |||
int inserted; | |||
int deleted; | |||
bool inserted; | |||
bool deleted; | |||
PHONEME_DATA phdata; | |||
int n_ph_list3; | |||
@@ -285,8 +286,8 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
for (j = 0; insert_ph || ((j < n_ph_list3) && (ix < N_PHONEME_LIST-3)); j++) { | |||
plist3 = &ph_list3[j]; | |||
inserted = 0; | |||
deleted = 0; | |||
inserted = false; | |||
deleted = false; | |||
if (insert_ph != 0) { | |||
// we have a (linking) phoneme which we need to insert here | |||
next = phoneme_tab[plist3->phcode]; // this phoneme, i.e. after the insert | |||
@@ -311,7 +312,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
ph = phoneme_tab[insert_ph]; | |||
plist3->ph = ph; | |||
insert_ph = 0; | |||
inserted = 1; // don't insert the same phoneme repeatedly | |||
inserted = true; // don't insert the same phoneme repeatedly | |||
} else { | |||
// otherwise get the next phoneme from the list | |||
if (plist3->sourceix != 0) | |||
@@ -339,7 +340,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
next = phoneme_tab[alternative]; | |||
} | |||
if (((alternative = phdata.pd_param[pd_INSERTPHONEME]) > 0) && (inserted == 0)) { | |||
if (((alternative = phdata.pd_param[pd_INSERTPHONEME]) > 0) && (inserted == false)) { | |||
// PROBLEM: if we insert a phoneme before a vowel then we loose the stress. | |||
PHONEME_TAB *ph2; | |||
ph2 = ph; | |||
@@ -369,7 +370,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
plist3->phcode = alternative; | |||
if (alternative == 1) | |||
deleted = 1; // NULL phoneme, discard | |||
deleted = true; // NULL phoneme, discard | |||
else { | |||
if (ph->type == phVOWEL) { | |||
plist3->synthflags |= SFLAG_SYLLABLE; | |||
@@ -384,7 +385,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
} | |||
} | |||
if ((ph->type == phVOWEL) && (deleted == 0)) { | |||
if ((ph->type == phVOWEL) && (deleted == false)) { | |||
PHONEME_LIST *p; | |||
// Check for consecutive unstressed syllables, even across word boundaries. | |||
@@ -483,7 +484,7 @@ void MakePhonemeList(Translator *tr, int post_pause, int start_sentence) | |||
if ((insert_ph == 0) && (phdata.pd_param[pd_APPENDPHONEME] != 0)) | |||
insert_ph = phdata.pd_param[pd_APPENDPHONEME]; | |||
if (deleted == 0) { | |||
if (deleted == false) { | |||
phlist[ix].ph = ph; | |||
phlist[ix].type = ph->type; | |||
phlist[ix].env = PITCHfall; // default, can be changed in the "intonation" module |
@@ -22,6 +22,7 @@ | |||
#include <ctype.h> | |||
#include <errno.h> | |||
#include <math.h> | |||
#include <stdbool.h> | |||
#include <stdint.h> | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
@@ -303,7 +304,7 @@ static char *WritePitch(int env, int pitch1, int pitch2, int split, int final) | |||
return output; | |||
} | |||
int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbrola) | |||
int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, bool resume, FILE *f_mbrola) | |||
{ | |||
// Generate a mbrola pho file | |||
unsigned int name; | |||
@@ -317,7 +318,7 @@ int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbr | |||
PHONEME_DATA phdata; | |||
FMT_PARAMS fmtp; | |||
int pause = 0; | |||
int released; | |||
bool released; | |||
int name2; | |||
int control; | |||
int done; | |||
@@ -418,11 +419,11 @@ int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbr | |||
done = 1; | |||
break; | |||
case phSTOP: | |||
released = 0; | |||
if (next->type == phVOWEL) released = 1; | |||
if (next->type == phLIQUID && !next->newword) released = 1; | |||
released = false; | |||
if (next->type == phVOWEL) released = true; | |||
if (next->type == phLIQUID && !next->newword) released = true; | |||
if (released == 0) | |||
if (released == false) | |||
p->synthflags |= SFLAG_NEXT_PAUSE; | |||
InterpretPhoneme(NULL, 0, p, &phdata, NULL); | |||
len = DoSample3(&phdata, 0, -1); | |||
@@ -505,7 +506,7 @@ int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbr | |||
return 0; | |||
} | |||
int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume) | |||
{ | |||
FILE *f_mbrola = NULL; | |||
@@ -517,13 +518,13 @@ int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
f_mbrola = f_trans; | |||
} | |||
int again = MbrolaTranslate(phoneme_list, *n_ph, resume, f_mbrola); | |||
int again = MbrolaTranslate(phoneme_list, *n_ph, resume, f_mbrola); | |||
if (!again) | |||
*n_ph = 0; | |||
return again; | |||
} | |||
int MbrolaFill(int length, int resume, int amplitude) | |||
int MbrolaFill(int length, bool resume, int amplitude) | |||
{ | |||
// Read audio data from Mbrola (length is in millisecs) | |||
@@ -578,7 +579,7 @@ espeak_ng_STATUS LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, | |||
return ENS_NOT_SUPPORTED; | |||
} | |||
int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume) | |||
{ | |||
(void)phoneme_list; // unused parameter | |||
(void)n_ph; // unused parameter | |||
@@ -586,7 +587,7 @@ int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
return 0; | |||
} | |||
int MbrolaFill(int length, int resume, int amplitude) | |||
int MbrolaFill(int length, bool resume, int amplitude) | |||
{ | |||
(void)length; // unused parameter | |||
(void)resume; // unused parameter |
@@ -333,19 +333,19 @@ unsigned char *GetEnvelope(int index) | |||
return (unsigned char *)&phondata_ptr[index]; | |||
} | |||
static void SetUpPhonemeTable(int number, int recursing) | |||
static void SetUpPhonemeTable(int number, bool recursing) | |||
{ | |||
int ix; | |||
int includes; | |||
int ph_code; | |||
PHONEME_TAB *phtab; | |||
if (recursing == 0) | |||
if (recursing == false) | |||
memset(phoneme_tab_flags, 0, sizeof(phoneme_tab_flags)); | |||
if ((includes = phoneme_tab_list[number].includes) > 0) { | |||
// recursively include base phoneme tables | |||
SetUpPhonemeTable(includes-1, 1); | |||
SetUpPhonemeTable(includes-1, true); | |||
} | |||
// now add the phonemes from this table | |||
@@ -364,7 +364,7 @@ static void SetUpPhonemeTable(int number, int recursing) | |||
void SelectPhonemeTable(int number) | |||
{ | |||
n_phoneme_tab = 0; | |||
SetUpPhonemeTable(number, 0); // recursively for included phoneme tables | |||
SetUpPhonemeTable(number, false); // recursively for included phoneme tables | |||
n_phoneme_tab++; | |||
current_phoneme_table = number; | |||
} |
@@ -22,6 +22,7 @@ | |||
#include <ctype.h> | |||
#include <errno.h> | |||
#include <math.h> | |||
#include <stdbool.h> | |||
#include <stdint.h> | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
@@ -1127,7 +1128,7 @@ void DoEmbedded(int *embix, int sourceix) | |||
} while ((word & 0x80) == 0); | |||
} | |||
int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
int Generate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume) | |||
{ | |||
static int ix; | |||
static int embedded_ix; | |||
@@ -1136,10 +1137,10 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
PHONEME_LIST *next; | |||
PHONEME_LIST *next2; | |||
PHONEME_LIST *p; | |||
int released; | |||
bool released; | |||
int stress; | |||
int modulation; | |||
int pre_voiced; | |||
bool pre_voiced; | |||
int free_min; | |||
int value; | |||
unsigned char *pitch_env = NULL; | |||
@@ -1164,7 +1165,7 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
if (mbrola_name[0] != 0) | |||
return MbrolaGenerate(phoneme_list, n_ph, resume); | |||
if (resume == 0) { | |||
if (resume == false) { | |||
ix = 1; | |||
embedded_ix = 0; | |||
word_count = 0; | |||
@@ -1239,14 +1240,14 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
p->std_length = p->ph->std_length; | |||
break; | |||
case phSTOP: | |||
released = 0; | |||
released = false; | |||
ph = p->ph; | |||
if (next->type == phVOWEL) | |||
released = 1; | |||
released = true; | |||
else if (!next->newword) { | |||
if (next->type == phLIQUID) released = 1; | |||
if (next->type == phLIQUID) released = true; | |||
} | |||
if (released == 0) | |||
if (released == false) | |||
p->synthflags |= SFLAG_NEXT_PAUSE; | |||
if (ph->phflags & phPREVOICE) { | |||
@@ -1280,15 +1281,15 @@ int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume) | |||
memset(&fmtp, 0, sizeof(fmtp)); | |||
fmtp.fmt_control = pd_DONTLENGTHEN; | |||
pre_voiced = 0; | |||
pre_voiced = false; | |||
if (next->type == phVOWEL) { | |||
DoAmplitude(p->amp, NULL); | |||
DoPitch(envelope_data[p->env], p->pitch1, p->pitch2); | |||
pre_voiced = 1; | |||
pre_voiced = true; | |||
} else if ((next->type == phLIQUID) && !next->newword) { | |||
DoAmplitude(next->amp, NULL); | |||
DoPitch(envelope_data[next->env], next->pitch1, next->pitch2); | |||
pre_voiced = 1; | |||
pre_voiced = true; | |||
} else { | |||
if (last_pitch_cmd < 0) { | |||
DoAmplitude(next->amp, NULL); |
@@ -17,6 +17,8 @@ | |||
* along with this program; if not, see: <http://www.gnu.org/licenses/>. | |||
*/ | |||
#include <stdbool.h> | |||
#ifdef __cplusplus | |||
extern "C" | |||
{ | |||
@@ -492,7 +494,7 @@ unsigned char *LookupEnvelope(int ix); | |||
espeak_ng_STATUS LoadPhData(int *srate, espeak_ng_ERROR_CONTEXT *context); | |||
void SynthesizeInit(void); | |||
int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume); | |||
int Generate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume); | |||
void MakeWave2(PHONEME_LIST *p, int n_ph); | |||
int SpeakNextClause(int control); | |||
void SetSpeed(int control); | |||
@@ -536,9 +538,9 @@ extern SOUND_ICON soundicon_tab[N_SOUNDICON_TAB]; | |||
espeak_ng_STATUS LoadMbrolaTable(const char *mbrola_voice, const char *phtrans, int *srate); | |||
espeak_ng_STATUS SetParameter(int parameter, int value, int relative); | |||
int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, int resume, FILE *f_mbrola); | |||
int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, int resume); | |||
int MbrolaFill(int length, int resume, int amplitude); | |||
int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, bool resume, FILE *f_mbrola); | |||
int MbrolaGenerate(PHONEME_LIST *phoneme_list, int *n_ph, bool resume); | |||
int MbrolaFill(int length, bool resume, int amplitude); | |||
void MbrolaReset(void); | |||
void DoEmbedded(int *embix, int sourceix); | |||
void DoMarker(int type, int char_posn, int length, int value); |
@@ -20,6 +20,7 @@ | |||
#include "config.h" | |||
#include <ctype.h> | |||
#include <stdbool.h> | |||
#include <stdint.h> | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
@@ -549,7 +550,7 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char | |||
char word_copy2[N_WORD_BYTES]; | |||
int word_copy_length; | |||
char prefix_chars[0x3f + 2]; | |||
int found = 0; | |||
bool found = false; | |||
int end_flags; | |||
int c_temp; // save a character byte while we temporarily replace it with space | |||
int first_char; | |||
@@ -650,7 +651,7 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char | |||
strcpy(word_out, word1); | |||
return dictionary_flags[0]; | |||
} else if ((found == 0) && (dictionary_flags[0] & FLAG_SKIPWORDS) && !(dictionary_flags[0] & FLAG_ABBREV)) { | |||
} else if ((found == false) && (dictionary_flags[0] & FLAG_SKIPWORDS) && !(dictionary_flags[0] & FLAG_ABBREV)) { | |||
// grouped words, but no translation. Join the words with hyphens. | |||
wordx = word1; | |||
ix = 0; | |||
@@ -741,7 +742,7 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char | |||
if (wflags & FLAG_TRANSLATOR2) | |||
return 0; | |||
return dictionary_flags[0] & FLAG_SKIPWORDS; // for "b.c.d" | |||
} else if (found == 0) { | |||
} else if (found == false) { | |||
// word's pronunciation is not given in the dictionary list, although | |||
// dictionary_flags may have ben set there | |||
@@ -812,7 +813,7 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char | |||
c_temp = wordx[-1]; | |||
found = 0; | |||
found = false; | |||
confirm_prefix = 1; | |||
for (loopcount = 0; (loopcount < 50) && (end_type & SUFX_P); loopcount++) { | |||
// Found a standard prefix, remove it and retranslate | |||
@@ -903,7 +904,7 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char | |||
dictionary_flags[1] = dictionary_flags2[1]; | |||
} else | |||
prefix_flags = 1; | |||
if (found == 0) { | |||
if (found == false) { | |||
end_type = TranslateRules(tr, wordx, phonemes, N_WORD_PHONEMES, end_phonemes, wflags & (FLAG_HYPHEN_AFTER | FLAG_PREFIX_REMOVED), dictionary_flags); | |||
if (phonemes[0] == phonSWITCH) { | |||
@@ -945,10 +946,10 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char | |||
if (found) | |||
prefix_phonemes[0] = 0; // matched whole word, don't need prefix now | |||
if ((found == 0) && (dictionary_flags2[0] != 0)) | |||
if ((found == false) && (dictionary_flags2[0] != 0)) | |||
prefix_flags = 1; | |||
} | |||
if (found == 0) { | |||
if (found == false) { | |||
found = LookupDictList(tr, &wordx, phonemes, dictionary_flags2, end_flags, wtab); // without prefix and suffix | |||
if (phonemes[0] == phonSWITCH) { | |||
// change to another language in order to translate this word | |||
@@ -962,7 +963,7 @@ static int TranslateWord3(Translator *tr, char *word_start, WORD_TAB *wtab, char | |||
dictionary_flags[1] = dictionary_flags2[1]; | |||
} | |||
} | |||
if (found == 0) { | |||
if (found == false) { | |||
if (end_type & SUFX_Q) { | |||
// don't retranslate, use the original lookup result | |||
strcpy(phonemes, phonemes2); |
@@ -23,6 +23,7 @@ | |||
#include "config.h" | |||
#include <math.h> | |||
#include <stdbool.h> | |||
#include <stdint.h> | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
@@ -892,7 +893,7 @@ static int Wavegen() | |||
} | |||
} | |||
static int PlaySilence(int length, int resume) | |||
static int PlaySilence(int length, bool resume) | |||
{ | |||
static int n_samples; | |||
int value = 0; | |||
@@ -904,7 +905,7 @@ static int PlaySilence(int length, int resume) | |||
if (length == 0) | |||
return 0; | |||
if (resume == 0) | |||
if (resume == false) | |||
n_samples = length; | |||
while (n_samples-- > 0) { | |||
@@ -926,14 +927,14 @@ static int PlaySilence(int length, int resume) | |||
return 0; | |||
} | |||
static int PlayWave(int length, int resume, unsigned char *data, int scale, int amp) | |||
static int PlayWave(int length, bool resume, unsigned char *data, int scale, int amp) | |||
{ | |||
static int n_samples; | |||
static int ix = 0; | |||
int value; | |||
signed char c; | |||
if (resume == 0) { | |||
if (resume == false) { | |||
n_samples = length; | |||
ix = 0; | |||
} | |||
@@ -1231,9 +1232,9 @@ static void SetSynth(int length, int modn, frame_t *fr1, frame_t *fr2, voice_t * | |||
} | |||
} | |||
static int Wavegen2(int length, int modulation, int resume, frame_t *fr1, frame_t *fr2) | |||
static int Wavegen2(int length, int modulation, bool resume, frame_t *fr1, frame_t *fr2) | |||
{ | |||
if (resume == 0) | |||
if (resume == false) | |||
SetSynth(length, modulation, fr1, fr2, wvoice); | |||
return Wavegen(); | |||
@@ -1259,7 +1260,7 @@ static int WavegenFill2() | |||
int length; | |||
int result; | |||
int marker_type; | |||
static int resume = 0; | |||
static bool resume = false; | |||
static int echo_complete = 0; | |||
while (out_ptr < out_end) { | |||
@@ -1267,7 +1268,7 @@ static int WavegenFill2() | |||
if (echo_complete > 0) { | |||
// continue to play silence until echo is completed | |||
resume = PlaySilence(echo_complete, resume); | |||
if (resume == 1) | |||
if (resume == true) | |||
return 0; // not yet finished | |||
} | |||
return 1; // queue empty, close sound channel | |||
@@ -1283,7 +1284,7 @@ static int WavegenFill2() | |||
SetPitch(length, (unsigned char *)q[2], q[3] >> 16, q[3] & 0xffff); | |||
break; | |||
case WCMD_PAUSE: | |||
if (resume == 0) | |||
if (resume == false) | |||
echo_complete -= length; | |||
wdata.n_mix_wavefile = 0; | |||
wdata.amplitude_fmt = 100; | |||
@@ -1361,9 +1362,9 @@ static int WavegenFill2() | |||
if (result == 0) { | |||
WcmdqIncHead(); | |||
resume = 0; | |||
resume = false; | |||
} else | |||
resume = 1; | |||
resume = true; | |||
} | |||
return 0; |