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.h42
1 files changed, 36 insertions, 6 deletions
diff --git a/rbutil/rbutilqt/tts.h b/rbutil/rbutilqt/tts.h
index 7c21fd0d65..d225d46853 100644
--- a/rbutil/rbutilqt/tts.h
+++ b/rbutil/rbutilqt/tts.h
@@ -23,9 +23,13 @@
23#ifndef TTS_H 23#ifndef TTS_H
24#define TTS_H 24#define TTS_H
25 25
26
27#include "rbsettings.h" 26#include "rbsettings.h"
28#include <QtCore> 27#include <QtCore>
28#include <QProcess>
29#include <QProgressDialog>
30#include <QDateTime>
31#include <QRegExp>
32#include <QTcpSocket>
29 33
30#ifndef CONSOLE 34#ifndef CONSOLE
31#include "ttsgui.h" 35#include "ttsgui.h"
@@ -33,14 +37,18 @@
33#include "ttsguicli.h" 37#include "ttsguicli.h"
34#endif 38#endif
35 39
36 40enum TTSStatus{ FatalError, NoError, Warning };
41class TTSSapi;
42#if defined(Q_OS_LINUX)
43class TTSFestival;
44#endif
37class TTSBase : public QObject 45class TTSBase : public QObject
38{ 46{
39 Q_OBJECT 47 Q_OBJECT
40 public: 48 public:
41 TTSBase(); 49 TTSBase();
42 virtual bool voice(QString text,QString wavfile) 50 virtual TTSStatus voice(QString text,QString wavfile, QString* errStr)
43 { (void)text; (void)wavfile; return false; } 51 { (void) text; (void) wavfile; (void) errStr; return FatalError;}
44 virtual bool start(QString *errStr) { (void)errStr; return false; } 52 virtual bool start(QString *errStr) { (void)errStr; return false; }
45 virtual bool stop() { return false; } 53 virtual bool stop() { return false; }
46 virtual void showCfg(){} 54 virtual void showCfg(){}
@@ -72,7 +80,7 @@ class TTSSapi : public TTSBase
72 Q_OBJECT 80 Q_OBJECT
73 public: 81 public:
74 TTSSapi(); 82 TTSSapi();
75 virtual bool voice(QString text,QString wavfile); 83 virtual TTSStatus voice(QString text,QString wavfile, QString *errStr);
76 virtual bool start(QString *errStr); 84 virtual bool start(QString *errStr);
77 virtual bool stop(); 85 virtual bool stop();
78 virtual void showCfg(); 86 virtual void showCfg();
@@ -99,7 +107,7 @@ class TTSExes : public TTSBase
99 Q_OBJECT 107 Q_OBJECT
100 public: 108 public:
101 TTSExes(QString name); 109 TTSExes(QString name);
102 virtual bool voice(QString text,QString wavfile); 110 virtual TTSStatus voice(QString text,QString wavfile, QString *errStr);
103 virtual bool start(QString *errStr); 111 virtual bool start(QString *errStr);
104 virtual bool stop() {return true;} 112 virtual bool stop() {return true;}
105 virtual void showCfg(); 113 virtual void showCfg();
@@ -115,4 +123,26 @@ class TTSExes : public TTSBase
115 QMap<QString,QString> m_TemplateMap; 123 QMap<QString,QString> m_TemplateMap;
116}; 124};
117 125
126class TTSFestival : public TTSBase
127{
128 Q_OBJECT
129public:
130 ~TTSFestival();
131 virtual bool configOk();
132 virtual bool start(QString *errStr);
133 virtual bool stop();
134 virtual void showCfg();
135 virtual TTSStatus voice(QString text,QString wavfile, QString *errStr);
136
137 QStringList getVoiceList();
138 QString getVoiceInfo(QString voice);
139private:
140 inline void startServer();
141 inline void ensureServerRunning();
142 QString queryServer(QString query, int timeout = -1);
143 QProcess serverProcess;
144 QStringList voices;
145 QMap<QString, QString> voiceDescriptions;
146};
147
118#endif 148#endif