summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2008-02-12 21:45:50 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2008-02-12 21:45:50 +0000
commit8820c0114b4ae30dc5ec8df90b0b1f10b720126e (patch)
tree63710c771c4278b85d95459b165417bd3f1196e7
parent341188d68d266c1522c278ed425ffea6b4015a2e (diff)
downloadrockbox-8820c0114b4ae30dc5ec8df90b0b1f10b720126e.tar.gz
rockbox-8820c0114b4ae30dc5ec8df90b0b1f10b720126e.zip
Make TTS name conversion functions static members.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16294 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--rbutil/rbutilqt/configure.cpp8
-rw-r--r--rbutil/rbutilqt/createvoicewindow.cpp4
-rw-r--r--rbutil/rbutilqt/installtalkwindow.cpp4
-rw-r--r--rbutil/rbutilqt/talkfile.cpp2
-rw-r--r--rbutil/rbutilqt/tts.cpp20
-rw-r--r--rbutil/rbutilqt/tts.h126
-rw-r--r--rbutil/rbutilqt/voicefile.cpp2
7 files changed, 83 insertions, 83 deletions
diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp
index 0e8486c68b..ec4bd188e5 100644
--- a/rbutil/rbutilqt/configure.cpp
+++ b/rbutil/rbutilqt/configure.cpp
@@ -299,9 +299,9 @@ void Config::setDevices()
299 updateEncState(index); 299 updateEncState(index);
300 300
301 //tts 301 //tts
302 QStringList ttslist = getTTSList(); 302 QStringList ttslist = TTSBase::getTTSList();
303 for(int a = 0; a < ttslist.size(); a++) 303 for(int a = 0; a < ttslist.size(); a++)
304 ui.comboTts->addItem(getTTSName(ttslist.at(a)), ttslist.at(a)); 304 ui.comboTts->addItem(TTSBase::getTTSName(ttslist.at(a)), ttslist.at(a));
305 //update index of combobox 305 //update index of combobox
306 index = ui.comboTts->findData(settings->curTTS()); 306 index = ui.comboTts->findData(settings->curTTS());
307 if(index < 0) index = 0; 307 if(index < 0) index = 0;
@@ -314,7 +314,7 @@ void Config::setDevices()
314void Config::updateTtsState(int index) 314void Config::updateTtsState(int index)
315{ 315{
316 QString ttsName = ui.comboTts->itemData(index).toString(); 316 QString ttsName = ui.comboTts->itemData(index).toString();
317 TTSBase* tts = getTTS(ttsName); 317 TTSBase* tts = TTSBase::getTTS(ttsName);
318 tts->setCfg(settings); 318 tts->setCfg(settings);
319 319
320 if(tts->configOk()) 320 if(tts->configOk())
@@ -588,7 +588,7 @@ void Config::cacheClear()
588void Config::configTts() 588void Config::configTts()
589{ 589{
590 int index = ui.comboTts->currentIndex(); 590 int index = ui.comboTts->currentIndex();
591 TTSBase* tts = getTTS(ui.comboTts->itemData(index).toString()); 591 TTSBase* tts = TTSBase::getTTS(ui.comboTts->itemData(index).toString());
592 592
593 tts->setCfg(settings); 593 tts->setCfg(settings);
594 tts->showCfg(); 594 tts->showCfg();
diff --git a/rbutil/rbutilqt/createvoicewindow.cpp b/rbutil/rbutilqt/createvoicewindow.cpp
index 5375182fd9..768b1ae117 100644
--- a/rbutil/rbutilqt/createvoicewindow.cpp
+++ b/rbutil/rbutilqt/createvoicewindow.cpp
@@ -91,10 +91,10 @@ void CreateVoiceWindow::setSettings(RbSettings* sett)
91 ui.comboLanguage->setCurrentIndex(sel); 91 ui.comboLanguage->setCurrentIndex(sel);
92 92
93 QString ttsName = settings->curTTS(); 93 QString ttsName = settings->curTTS();
94 TTSBase* tts = getTTS(ttsName); 94 TTSBase* tts = TTSBase::getTTS(ttsName);
95 tts->setCfg(settings); 95 tts->setCfg(settings);
96 if(tts->configOk()) 96 if(tts->configOk())
97 ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(getTTSName(ttsName))); 97 ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(TTSBase::getTTSName(ttsName)));
98 else 98 else
99 ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!")); 99 ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!"));
100 100
diff --git a/rbutil/rbutilqt/installtalkwindow.cpp b/rbutil/rbutilqt/installtalkwindow.cpp
index 4fd1fb15f1..539374a07e 100644
--- a/rbutil/rbutilqt/installtalkwindow.cpp
+++ b/rbutil/rbutilqt/installtalkwindow.cpp
@@ -111,10 +111,10 @@ void InstallTalkWindow::setSettings(RbSettings* sett)
111 settings = sett; 111 settings = sett;
112 112
113 QString ttsName = settings->curTTS(); 113 QString ttsName = settings->curTTS();
114 TTSBase* tts = getTTS(ttsName); 114 TTSBase* tts = TTSBase::getTTS(ttsName);
115 tts->setCfg(settings); 115 tts->setCfg(settings);
116 if(tts->configOk()) 116 if(tts->configOk())
117 ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(getTTSName(ttsName))); 117 ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(TTSBase::getTTSName(ttsName)));
118 else 118 else
119 ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!")); 119 ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!"));
120 120
diff --git a/rbutil/rbutilqt/talkfile.cpp b/rbutil/rbutilqt/talkfile.cpp
index 3b4e82caf6..4390c430b9 100644
--- a/rbutil/rbutilqt/talkfile.cpp
+++ b/rbutil/rbutilqt/talkfile.cpp
@@ -31,7 +31,7 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
31 m_logger->addItem(tr("Starting Talk file generation"),LOGINFO); 31 m_logger->addItem(tr("Starting Talk file generation"),LOGINFO);
32 32
33 //tts 33 //tts
34 m_tts = getTTS(settings->curTTS()); 34 m_tts = TTSBase::getTTS(settings->curTTS());
35 m_tts->setCfg(settings); 35 m_tts->setCfg(settings);
36 36
37 QString errStr; 37 QString errStr;
diff --git a/rbutil/rbutilqt/tts.cpp b/rbutil/rbutilqt/tts.cpp
index 1f40df003b..1cc6c20472 100644
--- a/rbutil/rbutilqt/tts.cpp
+++ b/rbutil/rbutilqt/tts.cpp
@@ -20,11 +20,12 @@
20#include "tts.h" 20#include "tts.h"
21 21
22 22
23// static variables
24QMap<QString,QString> TTSBase::ttsList;
25QMap<QString,TTSBase*> TTSBase::ttsCache;
23 26
24static QMap<QString,QString> ttsList; 27// static functions
25static QMap<QString,TTSBase*> ttsCache; 28void TTSBase::initTTSList()
26
27void initTTSList()
28{ 29{
29 ttsList["espeak"] = "Espeak TTS Engine"; 30 ttsList["espeak"] = "Espeak TTS Engine";
30 ttsList["flite"] = "Flite TTS Engine"; 31 ttsList["flite"] = "Flite TTS Engine";
@@ -32,11 +33,11 @@ void initTTSList()
32#if defined(Q_OS_WIN) 33#if defined(Q_OS_WIN)
33 ttsList["sapi"] = "Sapi TTS Engine"; 34 ttsList["sapi"] = "Sapi TTS Engine";
34#endif 35#endif
35 36
36} 37}
37 38
38// function to get a specific encoder 39// function to get a specific encoder
39TTSBase* getTTS(QString ttsName) 40TTSBase* TTSBase::getTTS(QString ttsName)
40{ 41{
41 // check cache 42 // check cache
42 if(ttsCache.contains(ttsName)) 43 if(ttsCache.contains(ttsName))
@@ -52,13 +53,13 @@ TTSBase* getTTS(QString ttsName)
52 else 53 else
53 { 54 {
54 tts = new TTSExes(ttsName); 55 tts = new TTSExes(ttsName);
55 ttsCache[ttsName] = tts; 56 ttsCache[ttsName] = tts;
56 return tts; 57 return tts;
57 } 58 }
58} 59}
59 60
60// get the list of encoders, nice names 61// get the list of encoders, nice names
61QStringList getTTSList() 62QStringList TTSBase::getTTSList()
62{ 63{
63 // init list if its empty 64 // init list if its empty
64 if(ttsList.count() == 0) 65 if(ttsList.count() == 0)
@@ -67,7 +68,8 @@ QStringList getTTSList()
67 return ttsList.keys(); 68 return ttsList.keys();
68} 69}
69 70
70QString getTTSName(QString tts) 71// get nice name of a specific tts
72QString TTSBase::getTTSName(QString tts)
71{ 73{
72 if(ttsList.isEmpty()) 74 if(ttsList.isEmpty())
73 initTTSList(); 75 initTTSList();
diff --git a/rbutil/rbutilqt/tts.h b/rbutil/rbutilqt/tts.h
index a5427fe05f..251b9b4c6a 100644
--- a/rbutil/rbutilqt/tts.h
+++ b/rbutil/rbutilqt/tts.h
@@ -31,86 +31,84 @@
31#include "ttsguicli.h" 31#include "ttsguicli.h"
32#endif 32#endif
33 33
34class TTSBase;
35
36//inits the tts List
37void initTTSList();
38// function to get a specific tts
39TTSBase* getTTS(QString ttsname);
40// get the list of tts, nice names
41QStringList getTTSList();
42QString getTTSName(QString tts);
43
44 34
45class TTSBase : public QObject 35class TTSBase : public QObject
46{ 36{
47 Q_OBJECT 37 Q_OBJECT
48public: 38 public:
49 TTSBase(); 39 TTSBase();
50 virtual bool voice(QString text,QString wavfile) {(void)text; (void)wavfile; return false;} 40 virtual bool voice(QString text,QString wavfile)
51 virtual bool start(QString *errStr){(void)errStr; return false;} 41 { (void)text; (void)wavfile; return false; }
52 virtual bool stop(){return false;} 42 virtual bool start(QString *errStr) { (void)errStr; return false; }
53 virtual void showCfg(){} 43 virtual bool stop() { return false; }
54 virtual bool configOk(){return false;} 44 virtual void showCfg(){}
55 45 virtual bool configOk() { return false; }
56 void setCfg(RbSettings* sett){settings = sett;}
57
58public slots:
59 virtual void accept(void){}
60 virtual void reject(void){}
61 virtual void reset(void){}
62 46
63protected: 47 void setCfg(RbSettings* sett) { settings = sett; }
64 RbSettings* settings; 48
49 static TTSBase* getTTS(QString ttsname);
50 static QStringList getTTSList();
51 static QString getTTSName(QString tts);
52
53 public slots:
54 virtual void accept(void){}
55 virtual void reject(void){}
56 virtual void reset(void){}
57
58 private:
59 //inits the tts List
60 static void initTTSList();
61
62 protected:
63 RbSettings* settings;
64 static QMap<QString,QString> ttsList;
65 static QMap<QString,TTSBase*> ttsCache;
65}; 66};
66 67
67class TTSSapi : public TTSBase 68class TTSSapi : public TTSBase
68{ 69{
69 Q_OBJECT 70 Q_OBJECT
70public: 71 public:
71 TTSSapi(); 72 TTSSapi();
72 virtual bool voice(QString text,QString wavfile); 73 virtual bool voice(QString text,QString wavfile);
73 virtual bool start(QString *errStr); 74 virtual bool start(QString *errStr);
74 virtual bool stop(); 75 virtual bool stop();
75 virtual void showCfg(); 76 virtual void showCfg();
76 virtual bool configOk(); 77 virtual bool configOk();
77
78 QStringList getVoiceList(QString language);
79private:
80
81 QProcess* voicescript;
82
83 QString defaultLanguage;
84 78
85 QString m_TTSexec; 79 QStringList getVoiceList(QString language);
86 QString m_TTSOpts; 80 private:
87 QString m_TTSTemplate; 81 QProcess* voicescript;
88 QString m_TTSLanguage; 82
89 QString m_TTSVoice; 83 QString defaultLanguage;
90 QString m_TTSSpeed; 84
91 bool m_sapi4; 85 QString m_TTSexec;
86 QString m_TTSOpts;
87 QString m_TTSTemplate;
88 QString m_TTSLanguage;
89 QString m_TTSVoice;
90 QString m_TTSSpeed;
91 bool m_sapi4;
92}; 92};
93 93
94
94class TTSExes : public TTSBase 95class TTSExes : public TTSBase
95{ 96{
96 Q_OBJECT 97 Q_OBJECT
97public: 98 public:
98 TTSExes(QString name); 99 TTSExes(QString name);
99 virtual bool voice(QString text,QString wavfile); 100 virtual bool voice(QString text,QString wavfile);
100 virtual bool start(QString *errStr); 101 virtual bool start(QString *errStr);
101 virtual bool stop() {return true;} 102 virtual bool stop() {return true;}
102 virtual void showCfg(); 103 virtual void showCfg();
103 virtual bool configOk(); 104 virtual bool configOk();
104
105
106
107private:
108 105
109 QString m_name; 106 private:
110 QString m_TTSexec; 107 QString m_name;
111 QString m_TTSOpts; 108 QString m_TTSexec;
112 QString m_TTSTemplate; 109 QString m_TTSOpts;
113 QMap<QString,QString> m_TemplateMap; 110 QString m_TTSTemplate;
111 QMap<QString,QString> m_TemplateMap;
114}; 112};
115 113
116#endif 114#endif
diff --git a/rbutil/rbutilqt/voicefile.cpp b/rbutil/rbutilqt/voicefile.cpp
index 290c298c26..208e134274 100644
--- a/rbutil/rbutilqt/voicefile.cpp
+++ b/rbutil/rbutilqt/voicefile.cpp
@@ -141,7 +141,7 @@ void VoiceFileCreator::downloadDone(bool error)
141 } 141 }
142 142
143 //tts 143 //tts
144 m_tts = getTTS(settings->curTTS()); 144 m_tts = TTSBase::getTTS(settings->curTTS());
145 m_tts->setCfg(settings); 145 m_tts->setCfg(settings);
146 146
147 QString errStr; 147 QString errStr;