summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt')
-rw-r--r--rbutil/rbutilqt/base/rbsettings.cpp1
-rw-r--r--rbutil/rbutilqt/base/rbsettings.h1
-rw-r--r--rbutil/rbutilqt/base/ttscarbon.cpp16
-rw-r--r--rbutil/rbutilqt/base/ttscarbon.h3
4 files changed, 20 insertions, 1 deletions
diff --git a/rbutil/rbutilqt/base/rbsettings.cpp b/rbutil/rbutilqt/base/rbsettings.cpp
index c6f1bfcf6b..4026fb5ee9 100644
--- a/rbutil/rbutilqt/base/rbsettings.cpp
+++ b/rbutil/rbutilqt/base/rbsettings.cpp
@@ -46,6 +46,7 @@ const static struct {
46 { RbSettings::VoiceLanguage, "voicelanguage", "" }, 46 { RbSettings::VoiceLanguage, "voicelanguage", "" },
47 { RbSettings::TtsLanguage, ":tts:/language", "" }, 47 { RbSettings::TtsLanguage, ":tts:/language", "" },
48 { RbSettings::TtsOptions, ":tts:/options", "" }, 48 { RbSettings::TtsOptions, ":tts:/options", "" },
49 { RbSettings::TtsPitch, ":tts:/pitch", "0" },
49 { RbSettings::TtsPath, ":tts:/path", "" }, 50 { RbSettings::TtsPath, ":tts:/path", "" },
50 { RbSettings::TtsVoice, ":tts:/voice", "" }, 51 { RbSettings::TtsVoice, ":tts:/voice", "" },
51 { RbSettings::EncoderPath, ":encoder:/encoderpath", "" }, 52 { RbSettings::EncoderPath, ":encoder:/encoderpath", "" },
diff --git a/rbutil/rbutilqt/base/rbsettings.h b/rbutil/rbutilqt/base/rbsettings.h
index d66a01d3e2..277b2197d1 100644
--- a/rbutil/rbutilqt/base/rbsettings.h
+++ b/rbutil/rbutilqt/base/rbsettings.h
@@ -48,6 +48,7 @@ class RbSettings : public QObject
48 TtsOptions, 48 TtsOptions,
49 TtsPath, 49 TtsPath,
50 TtsVoice, 50 TtsVoice,
51 TtsPitch,
51 EncoderPath, 52 EncoderPath,
52 EncoderOptions, 53 EncoderOptions,
53 WavtrimThreshold, 54 WavtrimThreshold,
diff --git a/rbutil/rbutilqt/base/ttscarbon.cpp b/rbutil/rbutilqt/base/ttscarbon.cpp
index ba744b5fcf..96a9bf6852 100644
--- a/rbutil/rbutilqt/base/ttscarbon.cpp
+++ b/rbutil/rbutilqt/base/ttscarbon.cpp
@@ -89,6 +89,12 @@ bool TTSCarbon::start(QString *errStr)
89 RbSettings::TtsSpeed).toInt()); 89 RbSettings::TtsSpeed).toInt());
90 if(rate != 0) 90 if(rate != 0)
91 SetSpeechRate(m_channel, rate); 91 SetSpeechRate(m_channel, rate);
92
93 Fixed pitch = (Fixed)(0x10000 * RbSettings::subValue("carbon",
94 RbSettings::TtsPitch).toInt());
95 if(pitch != 0)
96 SetSpeechPitch(m_channel, pitch);
97
92 return (error == 0) ? true : false; 98 return (error == 0) ? true : false;
93} 99}
94 100
@@ -139,6 +145,14 @@ void TTSCarbon::generateSettings(void)
139 tr("Speed (words/min):"), speed, 80, 500, 145 tr("Speed (words/min):"), speed, 80, 500,
140 EncTtsSetting::eNOBTN); 146 EncTtsSetting::eNOBTN);
141 insertSetting(ConfigSpeed, setting); 147 insertSetting(ConfigSpeed, setting);
148
149 // pitch
150 int pitch = RbSettings::subValue("carbon", RbSettings::TtsPitch).toInt();
151 setting = new EncTtsSetting(this, EncTtsSetting::eINT,
152 tr("Pitch (0 for default):"), pitch, 0, 65,
153 EncTtsSetting::eNOBTN);
154 insertSetting(ConfigPitch, setting);
155
142} 156}
143 157
144 158
@@ -149,6 +163,8 @@ void TTSCarbon::saveSettings(void)
149 getSetting(ConfigVoice)->current().toString()); 163 getSetting(ConfigVoice)->current().toString());
150 RbSettings::setSubValue("carbon", RbSettings::TtsSpeed, 164 RbSettings::setSubValue("carbon", RbSettings::TtsSpeed,
151 getSetting(ConfigSpeed)->current().toInt()); 165 getSetting(ConfigSpeed)->current().toInt());
166 RbSettings::setSubValue("carbon", RbSettings::TtsPitch,
167 getSetting(ConfigPitch)->current().toInt());
152 RbSettings::sync(); 168 RbSettings::sync();
153} 169}
154 170
diff --git a/rbutil/rbutilqt/base/ttscarbon.h b/rbutil/rbutilqt/base/ttscarbon.h
index fd5f84849b..be7590240a 100644
--- a/rbutil/rbutilqt/base/ttscarbon.h
+++ b/rbutil/rbutilqt/base/ttscarbon.h
@@ -33,7 +33,8 @@ class TTSCarbon : public TTSBase
33 enum ConfigValuesCarbon 33 enum ConfigValuesCarbon
34 { 34 {
35 ConfigVoice, 35 ConfigVoice,
36 ConfigSpeed 36 ConfigSpeed,
37 ConfigPitch
37 }; 38 };
38 public: 39 public:
39 TTSCarbon(QObject *parent = NULL); 40 TTSCarbon(QObject *parent = NULL);