espeak_SetSynthCallback() can be called either before or after espeak_Initialize(). git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@31 d46cf337-b52f-0410-862d-fd96e6ae7743master
| @@ -31,9 +31,9 @@ _2M1 k'e:t,EzER | |||
| _0M2 m'illio: | |||
| _1M2 m'illio: | |||
| _2M2 k'e:tm,illio: | |||
| _0M3 m'illia:rd | |||
| _1M3 m'illia:rd | |||
| _1M3 k'e:tm,illia:rd | |||
| _0M3 m'illia:Rd | |||
| _1M3 m'illia:Rd | |||
| _1M3 k'e:tm,illia:Rd | |||
| _0M4 b'illio: | |||
| _1M4 b'illio: | |||
| _2M4 k'e:tb,illio: | |||
| @@ -152,6 +152,11 @@ szer $u | |||
| ször $u | |||
| // word pairs | |||
| (hogy az) hoJ,Az | |||
| // Verbs | |||
| vagyok $u // to be, present | |||
| @@ -176,8 +176,8 @@ _minde) gy (ik J: | |||
| r R | |||
| A) r (A * | |||
| C) r (A R | |||
| r (C r | |||
| rr R | |||
| r (C R | |||
| rr R* | |||
| .group s | |||
| s S | |||
| @@ -230,6 +230,7 @@ | |||
| r (B r# | |||
| r (_ r# | |||
| r R | |||
| rr R* | |||
| rl dl | |||
| rl (K rtl# | |||
| rn rdn# | |||
| @@ -609,7 +609,7 @@ | |||
| 1 w/wu base | |||
| 5 w/xw base | |||
| 20 x/b base hi ro is | |||
| 2 x/b_ base is | |||
| 1 x/b_ base | |||
| 9 x/d base hi hr el is | |||
| 14 x/d_ base fi fr hi pl hr ru it ro el is sw | |||
| 23 x/d_dnt base fi fr hi hu pl ru it ro sw | |||
| @@ -223,11 +223,11 @@ endphoneme | |||
| phoneme b | |||
| vls blb stop | |||
| vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk | |||
| vowelin f1=2 f2=1000 -300 -200 f3=-200 80 rms=30 | |||
| vowelin f1=1 f2=1000 -300 -200 f3=-200 80 rms=27 | |||
| vowelout f1=2 f2=1000 -300 -300 f3=-300 80 brk | |||
| lengthmod 5 | |||
| wave x/b | |||
| before _ x/b_ | |||
| // before _ x/b_ | |||
| endphoneme | |||
| @@ -74,12 +74,15 @@ static void* polling_thread(void*); | |||
| //> | |||
| //<event_init | |||
| void event_init(t_espeak_callback* SynthCallback) | |||
| { | |||
| ENTER("event_init"); | |||
| void event_set_callback(t_espeak_callback* SynthCallback) | |||
| { | |||
| my_callback = SynthCallback; | |||
| SHOW("event_init > my_callback=0x%x\n", my_callback); | |||
| } | |||
| void event_init(void) | |||
| { | |||
| ENTER("event_init"); | |||
| my_event_is_running=0; | |||
| @@ -193,6 +196,10 @@ ENTER("event_notify"); | |||
| static unsigned int a_old_uid = 0; | |||
| espeak_EVENT events[2]; | |||
| memcpy(&events[0],event,sizeof(espeak_EVENT)); // the event parameter in the callback function should be an array of eventd | |||
| events[1].type = espeakEVENT_LIST_TERMINATED; // ... terminated by an event type=0 | |||
| if (event && my_callback) | |||
| { | |||
| event_display(event); | |||
| @@ -27,7 +27,8 @@ Note: the timeout is checked against the real progress of the audio stream, whic | |||
| // First function to be called. | |||
| // the callback will be called when the event actually occurs. | |||
| // The callback is detailled in speak_lib.h . | |||
| void event_init(t_espeak_callback* cb); | |||
| void event_init(void); | |||
| void event_set_callback(t_espeak_callback* cb); | |||
| // Clear any pending event. | |||
| // | |||
| @@ -225,7 +225,7 @@ static void select_output(espeak_AUDIO_OUTPUT output_type) | |||
| wave_init(); | |||
| wave_set_callback_is_output_enabled( fifo_is_command_enabled); | |||
| my_audio = wave_open("alsa"); | |||
| event_init(synth_callback); | |||
| event_init(); | |||
| #endif | |||
| break; | |||
| @@ -624,6 +624,9 @@ ESPEAK_API void espeak_SetSynthCallback(t_espeak_callback* SynthCallback) | |||
| {//====================================================================== | |||
| ENTER("espeak_SetSynthCallback"); | |||
| synth_callback = SynthCallback; | |||
| #ifdef USE_ASYNC | |||
| event_set_callback(synth_callback); | |||
| #endif | |||
| } | |||
| ESPEAK_API void espeak_SetUriCallback(int (* UriCallback)(int, const char*, const char *)) | |||
| @@ -35,7 +35,7 @@ | |||
| #include "translate.h" | |||
| #include "wave.h" | |||
| const char *version_string = "1.25.14 31.May.07"; | |||
| const char *version_string = "1.25.15 01.Jun.07"; | |||
| const int version_phdata = 0x012514; | |||
| int option_device_number = -1; | |||
| @@ -343,7 +343,7 @@ Translator *SelectTranslator(const char *name) | |||
| case L('i','s'): // Icelandic | |||
| { | |||
| static int stress_amps_is[] = {16,16, 20,20, 20,24, 24,22 }; | |||
| static int stress_lengths_is[8] = {180,155, 200,200, 0,0, 240,250}; | |||
| static int stress_lengths_is[8] = {180,160, 200,200, 0,0, 240,250}; | |||
| static const wchar_t is_lettergroup_B[] = {'c','f','h','k','p','t','x',0xfe,0}; // voiceless conants, including 'þ' ?? 's' | |||
| tr = new Translator(); | |||