summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/base/ttsbase.cpp
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2012-10-06 13:44:39 +0200
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2012-10-06 13:53:09 +0200
commit2c3b8bd1e2887b8c5c825fa42cced6f8490493b5 (patch)
tree151bbca70fac0f0e90b99f436a60a422f0903091 /rbutil/rbutilqt/base/ttsbase.cpp
parent7f76bb48b352984c4de8f40509618763e39f181f (diff)
downloadrockbox-2c3b8bd1e2887b8c5c825fa42cced6f8490493b5.tar.gz
rockbox-2c3b8bd1e2887b8c5c825fa42cced6f8490493b5.zip
Factor out executable based TTS engines to separate subclasses.
Similar as done with SAPI / MSSP make the current implementation for executable based TTS engines a base class and create derived classes for each supported TTS. Removes the need for the implementation to know about the individual TTS engines. Add support for speaking directly (i.e. without going through a temporary wave file, currently only used by espeak). Change-Id: I59bbbd6ee4c2c009b2a8d8e0ab4a9b39ea723d6e
Diffstat (limited to 'rbutil/rbutilqt/base/ttsbase.cpp')
-rw-r--r--rbutil/rbutilqt/base/ttsbase.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/rbutil/rbutilqt/base/ttsbase.cpp b/rbutil/rbutilqt/base/ttsbase.cpp
index ae2a78f606..3b8384f534 100644
--- a/rbutil/rbutilqt/base/ttsbase.cpp
+++ b/rbutil/rbutilqt/base/ttsbase.cpp
@@ -16,6 +16,7 @@
16 * 16 *
17 ****************************************************************************/ 17 ****************************************************************************/
18 18
19#include <QtCore>
19#include "ttsbase.h" 20#include "ttsbase.h"
20 21
21#include "ttsfestival.h" 22#include "ttsfestival.h"
@@ -23,6 +24,9 @@
23#include "ttssapi4.h" 24#include "ttssapi4.h"
24#include "ttsmssp.h" 25#include "ttsmssp.h"
25#include "ttsexes.h" 26#include "ttsexes.h"
27#include "ttsespeak.h"
28#include "ttsflite.h"
29#include "ttsswift.h"
26#if defined(Q_OS_MACX) 30#if defined(Q_OS_MACX)
27#include "ttscarbon.h" 31#include "ttscarbon.h"
28#endif 32#endif
@@ -32,7 +36,6 @@ QMap<QString,QString> TTSBase::ttsList;
32 36
33TTSBase::TTSBase(QObject* parent): EncTtsSettingInterface(parent) 37TTSBase::TTSBase(QObject* parent): EncTtsSettingInterface(parent)
34{ 38{
35
36} 39}
37 40
38// static functions 41// static functions
@@ -80,9 +83,15 @@ TTSBase* TTSBase::getTTS(QObject* parent,QString ttsName)
80 tts = new TTSCarbon(parent); 83 tts = new TTSCarbon(parent);
81 else 84 else
82#endif 85#endif
83 // fix for OS other than WIN or LINUX 86 if(ttsName == "espeak")
84 if (true) 87 tts = new TTSEspeak(parent);
85 tts = new TTSExes(ttsName, parent); 88 else if(ttsName == "flite")
89 tts = new TTSFlite(parent);
90 else if(ttsName == "swift")
91 tts = new TTSSwift(parent);
92 else if(ttsName == "user")
93 tts = new TTSExes(parent);
94
86 return tts; 95 return tts;
87} 96}
88 97