Commit Graph
109 Commits
Author SHA1 Message Date
Reece H. Dunn 16164c1c52 SeekBarPreference: fix handling of the minimum value option. 2013-05-03 16:03:27 +01:00
Reece H. Dunn b2785ce823 Remove the 'Default' gender option as this does not make sense. 2013-05-03 15:32:28 +01:00
Reece H. Dunn 09c79bb013 Make the rate setting use the new SeekBar/Parameter UI. 2013-05-03 13:07:54 +01:00
Reece H. Dunn d0ba13ae1d SeekBarPreference: support resetting to the default value. 2013-05-03 12:43:20 +01:00
Reece H. Dunn 20010daac3 SeekBarPreference: show the formatted current value in the preference dialog. 2013-05-03 12:21:30 +01:00
Reece H. Dunn 8e4b6044dc SeekBarPreference: make formatter an explicit property instead of using the extras bundle. 2013-05-03 11:54:25 +01:00
Reece H. Dunn b60ed6c9ae Display the formatted units on the volume setting. 2013-05-03 11:46:04 +01:00
Reece H. Dunn 5370341abf SeekBarPreference: only commit the preference if requested to. 2013-05-03 11:24:59 +01:00
Reece H. Dunn ac6099ebf1 Hook up the volume parameter to a slider preference dialog. 2013-05-03 11:11:59 +01:00
Reece H. Dunn 233da111db TtsService.java: rework the logic to use the new Parameter API. 2013-05-02 20:33:43 +01:00
Reece H. Dunn de78778210 SpeechSynthesis.java: further refine the Parameter API. 2013-05-02 20:13:00 +01:00
Reece H. Dunn 85836eae92 SpeechSynthesis.java: rename the parameter APIs. 2013-05-02 19:57:52 +01:00
Reece H. Dunn cc72825682 SpeechSynthesis.java: expose the different voice options from eSpeak
This makes the following changes:

1.  setVoice takes a Voice object instead of a language string.

    This is to make the API cleaner and allows SpeechSynthesis
    to pass the correct parameter (identifier for SetVoiceByName,
    or name for SetVoiceByProperties) to espeak.

2.  The espeak_SetVoiceByName API is also exposed to support passing
    the voice variant to use.

3.  The age parameter has been re-added with the constants:
    *  SpeechSynthesis.AGE_ANY
    *  SpeechSynthesis.AGE_YOUNG
    *  SpeechSynthesis.AGE_OLD
    based on the behaviour of the eSpeak voice selection algorithm.

NOTE: Due to the way that voice selection is implemented in eSpeak,
if variant is specified, the age and gender cannot be specified and
vice versa.
2013-05-02 18:06:41 +01:00
Reece H. Dunn 88eab88d8a SpeechSynthesis.java: further simplify the setVoice method.
This renames `setVoiceByProperties` to the more consise `setVoice`
and removes the name parameter as this is not used -- the voice is
set by the language and gender parameters only.
2013-05-02 16:45:46 +01:00
Reece H. Dunn 027217d5f7 SpeechSynthesis.java: Simplify the SetVoiceByProperties parameters.
The `age` parameter is not useful as eSpeak does not use this when
selecting voices. This is always set to `0` by TtsService.java.

The `variant` parameter is not used to select the actual voice
variant (from the `!v` directory) but to select the n^th matching
voice from the list of matching voices. This is always set to
select the first matching voice by TtsService.java.
2013-05-02 16:32:46 +01:00
Reece H. Dunn 23d34d702a SpeechSynthesis.java: provide a binding of the eSpeak Get/SetParameter API. 2013-05-02 16:23:59 +01:00
Reece H. Dunn 3a92ee34f2 Support the new voices. 2013-04-29 10:53:54 +01:00
Reece H. Dunn 31b2bf0c56 CheckVoiceData.java: don't check for any voices as they can change directory layout 2013-03-14 17:14:14 +00:00
Reece H. Dunn 4d44e88dd2 TtsService: support detecting SSML documents 2013-03-14 16:53:22 +00:00
Reece H. Dunn 1ac6d04c48 eSpeakActivity.java: support speaking specified text in the activity. 2013-03-14 16:30:34 +00:00
Reece H. Dunn 36b86799b3 eSpeakActivity.java: fix the 'X has leaked a ServiceConnection' error.
The TTS engine should be destroyed in the onStop method, not the
onDestroy method to prevent it being used in the stopped state.
2013-03-13 22:45:21 +00:00
Reece H. Dunn c6cca792ee Correctly handle the new vi-hue language. 2013-03-13 22:05:41 +00:00
Reece H. Dunn 48fa803bc4 TtsService.java: ensure that the voice data is installed/upgraded correctly.
When using assistive technology like TalkBack and not accessing
either the eSpeak application or the Android TTS settings
directly, the voice data would previously not be installed/upgraded
correctly.

The approach here is to move the logic to onIsLanguageAvailable so
that if the espeak voice data is not installed or is upgradable
then trigger an install of the voice data and return
TextToSpeech.LANG_MISSING_DATA.
2013-02-12 12:21:34 +00:00
Reece H. Dunn 199029e97e TtsService.java: use the context from the TtsService object itself 2013-02-11 19:03:53 +00:00
Reece H. Dunn 9d0a23bb1c TtsService.java: also report TextToSpeech.LANG_MISSING_DATA if the base resources are not found or the data can be upgraded. 2013-02-11 01:00:06 +00:00
Reece H. Dunn 1e52512637 TtsService.java: report TextToSpeech.LANG_MISSING_DATA if the engine has not been initialized. 2013-02-11 00:49:10 +00:00
Reece H. Dunn a7a810a009 CheckVoiceData.java: remove unused import statement. 2013-02-01 11:38:03 +00:00
Reece H. Dunn 7f6bfd929b TtsSettingsActivity.java: use PreferenceFragment on Honeycomb and later. 2013-02-01 11:35:48 +00:00
Reece H. Dunn 3f5b5bb521 android: support the Aragonese and Farsi/Persian voices from 1.46.31 2013-01-25 17:14:27 +00:00
Reece H. Dunn f455a466c3 Do not add a voice if the Locale assigns a blank ISO3 language code. 2013-01-16 18:42:33 +00:00
Reece H. Dunn df1adcfcfb Use zh-HK for Cantonese Chinese as Android does not properly support the yue language code. 2013-01-16 18:27:07 +00:00
Reece H. Dunn 920dc0ad0c Report the eSpeak version in the main activity. 2013-01-16 18:16:10 +00:00
Reece H. Dunn c386d46925 Remove the explicit 'Update voices' menu option now that this is done automatically. 2012-12-23 14:34:58 +00:00
Reece H. Dunn 9f2293221d Support installing the voices if the voice data signature has changed. 2012-12-23 14:15:44 +00:00
Reece H. Dunn e64fd4fa39 Fix displaying the error message on download failure. 2012-12-23 13:22:11 +00:00
Reece H. Dunn b6ef2a607d Make sure that error states take priority when reporting status messages. 2012-12-20 13:09:17 +00:00
Reece H. Dunn 09b62785c1 Remove an unused import. 2012-12-19 16:21:12 +00:00
Reece H. Dunn 2564e75444 Display error messages in a status field instead of via dialogs. 2012-12-19 16:19:07 +00:00
Reece H. Dunn 2e40b92ad6 Use finsItem instead of getItem to avoid crashing on sub-API 14 devices. 2012-12-19 15:59:39 +00:00
Reece H. Dunn 55e58682ab Display a status message in the main UI instead of displaying a dialog if eSpeak is not the default engine. 2012-12-19 15:57:12 +00:00
Reece H. Dunn d92abbe342 Move the buttons to the options menu UI accessible via the menu button. 2012-12-19 15:20:03 +00:00
Reece H. Dunn 42aba8a20b Update the UI to use a preferences-style display for the information items (default voice and installed voices). 2012-12-19 14:52:46 +00:00
Reece H. Dunn eea0946e82 Ensure that the copyright notices are ordered latest to oldest. 2012-12-19 13:07:19 +00:00
Reece H. Dunn beb82cb6fd eSpeakActivity: use the correct intent for launching the TTS settings on Android 3.x. 2012-12-18 21:09:09 +00:00
Reece H. Dunn 7dd1d66e4a Fix the shared object name for API 8 compatibility, with tests. 2012-12-18 19:25:09 +00:00
Reece H. Dunn dc4f85865d SpeechSynthesis: fix the getSampleText behaviour when passed Java-style locale codes. 2012-12-18 15:39:00 +00:00
Reece H. Dunn 2a3a1a0a81 Move the sample text logic into SpeechSynthesis.getSampleText and add test cases for it. 2012-12-18 14:38:57 +00:00
Reece H. Dunn 026110c64d CheckVoiceData: MODE_WORLD_READABLE is deprecated; use MODE_PRIVATE instead (the data is accessed via a Service). 2012-12-18 10:17:16 +00:00
Reece H. Dunn 0a69c19112 SpeechSynthesis.Voice.toString should report the language code (not the voice name), so the correct language name is displayed 2012-12-17 18:54:44 +00:00
Reece H. Dunn b5db940457 Note where the languages come from for language selection. 2012-12-17 11:06:26 +00:00