Browse Source

Make the rate setting use the new SeekBar/Parameter UI.

master
Reece H. Dunn 12 years ago
parent
commit
09c79bb013

+ 1
- 1
android/res/values-en-rGB/strings.xml View File

<resources xmlns:android="http://schemas.android.com/apk/res/android" <resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="tts_settings_label" msgid="2696301846672491410">"eSpeak TTS Settings"</string> <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_gender" msgid="8721577045178419807">"Voice gender"</string>
<string name="setting_default_rate" msgid="3255750767876184606">"Speech rate multiplier"</string> <string name="setting_default_rate" msgid="3255750767876184606">"Speech rate multiplier"</string>
<string name="installing_voice_data" msgid="1199950160686799120">"Installing voice data…"</string> <string name="installing_voice_data" msgid="1199950160686799120">"Installing voice data…"</string>

+ 0
- 7
android/res/values/donottranslate.xml View File

<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <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"> <string-array name="default_rate_values">
<item>100</item> <item>100</item>
<item>200</item> <item>200</item>

+ 1
- 8
android/res/values/strings.xml View File

Source: Preference title. Source: Preference title.
Description: Title for the preference that controls default voice pitch. 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. Source: Preference title.
Description: Title for the preference that controls default voice gender. Description: Title for the preference that controls default voice gender.
Source: Pitch preference labels. Source: Pitch preference labels.
Description: Labels for possible pitch values. 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. Source: Gender preference labels.
Description: Labels for possible gender values. Description: Labels for possible gender values.

+ 0
- 7
android/res/xml/preferences.xml View File

<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > <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 <ListPreference
android:defaultValue="100" android:defaultValue="100"
android:entries="@array/default_rate_entries" android:entries="@array/default_rate_entries"

+ 6
- 1
android/src/com/reecedunn/espeak/TtsService.java View File



final int gender = getPreferenceValue("default_gender", 0); final int gender = getPreferenceValue("default_gender", 0);
final int rate = (getPreferenceValue("default_rate", 100) / 100) * mEngine.Rate.getDefaultValue(); final int rate = (getPreferenceValue("default_rate", 100) / 100) * mEngine.Rate.getDefaultValue();
final int pitch = getPreferenceValue("default_pitch", 100) / 2;
final Bundle params = request.getParams(); 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) { if (DEBUG) {
Log.i(TAG, "Received synthesis request: {language=\"" + mMatchingVoice.name + "\"}"); Log.i(TAG, "Received synthesis request: {language=\"" + mMatchingVoice.name + "\"}");



+ 18
- 0
android/src/com/reecedunn/espeak/TtsSettingsActivity.java View File

return; 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); 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)); group.addPreference(createPreference(context, engine.Volume, "espeak_volume", R.string.espeak_volume));
} }



Loading…
Cancel
Save