summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/tts.h
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/tts.h')
-rw-r--r--rbutil/rbutilqt/tts.h126
1 files changed, 62 insertions, 64 deletions
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