cst_voice *flite_voice_select(const char *name) { const cst_val *v; cst_voice *voice; if (flite_voice_list == NULL) return NULL; /* oops, not good */ if (name == NULL) return val_voice(val_car(flite_voice_list)); for (v=flite_voice_list; v; v=val_cdr(v)) { voice = val_voice(val_car(v)); if (cst_streq(name,voice->name)) return voice; } return flite_voice_select(NULL); }
static void flite_voice_list_print(void) { cst_voice *voice; const cst_val *v; printf("Voices available: "); for (v=flite_voice_list; v; v=val_cdr(v)) { voice = val_voice(val_car(v)); printf("%s ",voice->name); } printf("\n"); return; }