| @@ -2,7 +2,7 @@ | |||
| <resources xmlns:android="http://schemas.android.com/apk/res/android" | |||
| xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> | |||
| <string name="tts_settings_label" msgid="2696301846672491410">"eSpeak TTS Settings"</string> | |||
| <string name="setting_default_pitch" msgid="2063082697363767286">"Default pitch"</string> | |||
| <string name="setting_default_pitch" msgid="2063082697363767286">"Pitch"</string> | |||
| <string name="setting_default_gender" msgid="8721577045178419807">"Voice gender"</string> | |||
| <string name="setting_default_rate" msgid="3255750767876184606">"Speech rate multiplier"</string> | |||
| <string name="installing_voice_data" msgid="1199950160686799120">"Installing voice data…"</string> | |||
| @@ -1,13 +1,6 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <resources> | |||
| <string-array name="default_pitch_values"> | |||
| <item>50</item> | |||
| <item>75</item> | |||
| <item>100</item> | |||
| <item>150</item> | |||
| <item>200</item> | |||
| </string-array> | |||
| <string-array name="default_rate_values"> | |||
| <item>100</item> | |||
| <item>200</item> | |||
| @@ -15,7 +15,7 @@ | |||
| Source: Preference title. | |||
| Description: Title for the preference that controls default voice pitch. | |||
| --> | |||
| <string name="setting_default_pitch">Default pitch</string> | |||
| <string name="setting_default_pitch">Pitch</string> | |||
| <!-- | |||
| Source: Preference title. | |||
| Description: Title for the preference that controls default voice gender. | |||
| @@ -100,13 +100,6 @@ | |||
| Source: Pitch preference labels. | |||
| Description: Labels for possible pitch values. | |||
| --> | |||
| <string-array name="default_pitch_entries"> | |||
| <item>Very low</item> | |||
| <item>Low</item> | |||
| <item>Normal</item> | |||
| <item>High</item> | |||
| <item>Very high</item> | |||
| </string-array> | |||
| <!-- | |||
| Source: Gender preference labels. | |||
| Description: Labels for possible gender values. | |||
| @@ -1,13 +1,6 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
| <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > | |||
| <ListPreference | |||
| android:defaultValue="100" | |||
| android:entries="@array/default_pitch_entries" | |||
| android:entryValues="@array/default_pitch_values" | |||
| android:key="default_pitch" | |||
| android:summary="%s" | |||
| android:title="@string/setting_default_pitch" /> | |||
| <ListPreference | |||
| android:defaultValue="100" | |||
| android:entries="@array/default_rate_entries" | |||
| @@ -198,9 +198,14 @@ public class TtsService extends TextToSpeechService { | |||
| final int gender = getPreferenceValue("default_gender", 0); | |||
| final int rate = (getPreferenceValue("default_rate", 100) / 100) * mEngine.Rate.getDefaultValue(); | |||
| final int pitch = getPreferenceValue("default_pitch", 100) / 2; | |||
| final Bundle params = request.getParams(); | |||
| int pitch = getPreferenceValue("espeak_pitch", Integer.MIN_VALUE); | |||
| if (pitch == Integer.MIN_VALUE) { | |||
| // Try the old eyes-free setting: | |||
| pitch = getPreferenceValue("default_pitch", 100) / 2; | |||
| } | |||
| if (DEBUG) { | |||
| Log.i(TAG, "Received synthesis request: {language=\"" + mMatchingVoice.name + "\"}"); | |||
| @@ -122,8 +122,26 @@ public class TtsSettingsActivity extends PreferenceActivity { | |||
| return; | |||
| } | |||
| // Migrate old eyes-free settings to the new settings: | |||
| final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); | |||
| final SharedPreferences.Editor editor = prefs.edit(); | |||
| String pitch = prefs.getString("espeak_pitch", null); | |||
| if (pitch == null) { | |||
| // Try the old eyes-free setting: | |||
| pitch = prefs.getString("default_pitch", "100"); | |||
| int pitchValue = Integer.parseInt(pitch) / 2; | |||
| editor.putString("espeak_pitch", Integer.toString(pitchValue)); | |||
| } | |||
| editor.commit(); | |||
| // Bind eSpeak parameters to preference settings: | |||
| SpeechSynthesis engine = new SpeechSynthesis(context, null); | |||
| group.addPreference(createPreference(context, engine.Pitch, "espeak_pitch", R.string.setting_default_pitch)); | |||
| group.addPreference(createPreference(context, engine.Volume, "espeak_volume", R.string.espeak_volume)); | |||
| } | |||