From e62cfa7c76a10cc86464aad15a5ae3fae43cd8eb Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Wed, 12 Dec 2012 16:54:59 +0000 Subject: [PATCH] Add LOGE traces for error codes returned by the espeak functions. --- ...oglecode_eyesfree_espeak_eSpeakService.cpp | 63 ++++++++++++------- 1 file changed, 41 insertions(+), 22 deletions(-) diff --git a/jni/jni/com_googlecode_eyesfree_espeak_eSpeakService.cpp b/jni/jni/com_googlecode_eyesfree_espeak_eSpeakService.cpp index 8d55425c..53f94853 100644 --- a/jni/jni/com_googlecode_eyesfree_espeak_eSpeakService.cpp +++ b/jni/jni/com_googlecode_eyesfree_espeak_eSpeakService.cpp @@ -146,11 +146,7 @@ JNICALL Java_com_googlecode_eyesfree_espeak_SpeechSynthesis_nativeCreate( if (c_path) env->ReleaseStringUTFChars(path, c_path); - if (nat->sampleRate > 0) { - return JNI_TRUE; - } else { - return JNI_FALSE; - } + return (nat->sampleRate > 0) ? JNI_TRUE : JNI_FALSE; } JNIEXPORT jboolean @@ -261,10 +257,14 @@ JNICALL Java_com_googlecode_eyesfree_espeak_SpeechSynthesis_nativeSetVoiceByProp if (c_name) env->ReleaseStringUTFChars(name, c_name); if (c_languages) env->ReleaseStringUTFChars(languages, c_languages); - if (result == EE_OK) - return JNI_TRUE; - else - return JNI_FALSE; + switch (result) { + case EE_OK: return JNI_TRUE; + case EE_INTERNAL_ERROR: LOGE("espeak_SetVoiceByProperties: internal error."); break; + case EE_BUFFER_FULL: LOGE("espeak_SetVoiceByProperties: buffer full."); break; + case EE_NOT_FOUND: LOGE("espeak_SetVoiceByProperties: not found."); break; + } + + return JNI_FALSE; } JNIEXPORT jboolean @@ -285,10 +285,14 @@ JNICALL Java_com_googlecode_eyesfree_espeak_SpeechSynthesis_nativeSetLanguage( voice.variant = (int) variant; const espeak_ERROR result = espeak_SetVoiceByProperties(&voice); - if (result == EE_OK) - return JNI_TRUE; - else - return JNI_FALSE; + switch (result) { + case EE_OK: return JNI_TRUE; + case EE_INTERNAL_ERROR: LOGE("espeak_SetVoiceByProperties: internal error."); break; + case EE_BUFFER_FULL: LOGE("espeak_SetVoiceByProperties: buffer full."); break; + case EE_NOT_FOUND: LOGE("espeak_SetVoiceByProperties: not found."); break; + } + + return JNI_FALSE; } JNIEXPORT jboolean @@ -297,10 +301,14 @@ JNICALL Java_com_googlecode_eyesfree_espeak_SpeechSynthesis_nativeSetRate( if (DEBUG) LOGV("%s", __FUNCTION__); const espeak_ERROR result = espeak_SetParameter(espeakRATE, (int) rate, 0); - if (result == EE_OK) - return JNI_TRUE; - else - return JNI_FALSE; + switch (result) { + case EE_OK: return JNI_TRUE; + case EE_INTERNAL_ERROR: LOGE("espeak_SetParameter: internal error."); break; + case EE_BUFFER_FULL: LOGE("espeak_SetParameter: buffer full."); break; + case EE_NOT_FOUND: LOGE("espeak_SetParameter: not found."); break; + } + + return JNI_FALSE; } JNIEXPORT jboolean @@ -309,10 +317,14 @@ JNICALL Java_com_googlecode_eyesfree_espeak_SpeechSynthesis_nativeSetPitch( if (DEBUG) LOGV("%s", __FUNCTION__); const espeak_ERROR result = espeak_SetParameter(espeakPITCH, (int) pitch, 0); - if (result == EE_OK) - return JNI_TRUE; - else - return JNI_FALSE; + switch (result) { + case EE_OK: return JNI_TRUE; + case EE_INTERNAL_ERROR: LOGE("espeak_SetParameter: internal error."); break; + case EE_BUFFER_FULL: LOGE("espeak_SetParameter: buffer full."); break; + case EE_NOT_FOUND: LOGE("espeak_SetParameter: not found."); break; + } + + return JNI_FALSE; } JNIEXPORT jboolean @@ -326,7 +338,7 @@ JNICALL Java_com_googlecode_eyesfree_espeak_SpeechSynthesis_nativeSynthesize( nat->env = env; espeak_SetSynthCallback(SynthCallback); - espeak_Synth(c_text, strlen(c_text), 0, // position + const espeak_ERROR result = espeak_Synth(c_text, strlen(c_text), 0, // position POS_CHARACTER, 0, // end position (0 means no end position) espeakCHARS_UTF8 | espeakSSML, // use or ignore xml tags &unique_identifier, nat); @@ -334,6 +346,13 @@ JNICALL Java_com_googlecode_eyesfree_espeak_SpeechSynthesis_nativeSynthesize( if (c_text) env->ReleaseStringUTFChars(text, c_text); + switch (result) { + case EE_OK: return JNI_TRUE; + case EE_INTERNAL_ERROR: LOGE("espeak_Synth: internal error."); break; + case EE_BUFFER_FULL: LOGE("espeak_Synth: buffer full."); break; + case EE_NOT_FOUND: LOGE("espeak_Synth: not found."); break; + } + return JNI_TRUE; }