summaryrefslogtreecommitdiffstats
path: root/rbutil/rbutilqt/base
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2012-09-09 11:26:11 +0200
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2012-09-09 12:07:52 +0200
commit469a614349070eb5731acf96988186b2a95493ad (patch)
treec2a90701c5e85ea62e710542d36ad07c820e4757 /rbutil/rbutilqt/base
parent6be7dabdd952ef114941affca0e16ce8470595d3 (diff)
downloadrockbox-469a614349070eb5731acf96988186b2a95493ad.tar.gz
rockbox-469a614349070eb5731acf96988186b2a95493ad.zip
Add derived SAPI4 class.
Based on the previous change add a derived class for SAPI4 support. Note that SAPI4 support had been disabled, so it's also disabled to not show in the selection dialog for now. Change-Id: Iffda7daafd9327ef8821c4fe4b1b0fc581607f49
Diffstat (limited to 'rbutil/rbutilqt/base')
-rw-r--r--rbutil/rbutilqt/base/ttsbase.cpp34
-rw-r--r--rbutil/rbutilqt/base/ttssapi4.h44
2 files changed, 58 insertions, 20 deletions
diff --git a/rbutil/rbutilqt/base/ttsbase.cpp b/rbutil/rbutilqt/base/ttsbase.cpp
index 9cc12fb586..5955f825b4 100644
--- a/rbutil/rbutilqt/base/ttsbase.cpp
+++ b/rbutil/rbutilqt/base/ttsbase.cpp
@@ -20,6 +20,7 @@
#include "ttsfestival.h"
#include "ttssapi.h"
+#include "ttssapi4.h"
#include "ttsexes.h"
#if defined(Q_OS_MACX)
#include "ttscarbon.h"
@@ -42,7 +43,10 @@ void TTSBase::initTTSList()
ttsList["flite"] = tr("Flite TTS Engine");
ttsList["swift"] = tr("Swift TTS Engine");
#if defined(Q_OS_WIN)
- ttsList["sapi"] = tr("SAPI TTS Engine");
+#if 0 /* SAPI4 has been disabled since long. Keep support for now. */
+ ttsList["sapi4"] = tr("SAPI4 TTS Engine");
+#endif
+ ttsList["sapi"] = tr("SAPI5 TTS Engine");
#endif
#if defined(Q_OS_LINUX)
ttsList["festival"] = tr("Festival TTS Engine");
@@ -56,36 +60,26 @@ void TTSBase::initTTSList()
TTSBase* TTSBase::getTTS(QObject* parent,QString ttsName)
{
- TTSBase* tts;
+ TTSBase* tts = 0;
#if defined(Q_OS_WIN)
if(ttsName == "sapi")
- {
tts = new TTSSapi(parent);
- return tts;
- }
+ else if (ttsName == "sapi4")
+ tts = new TTSSapi4(parent);
else
-#endif
-#if defined(Q_OS_LINUX)
+#elif defined(Q_OS_LINUX)
if (ttsName == "festival")
- {
tts = new TTSFestival(parent);
- return tts;
- }
else
-#endif
-#if defined(Q_OS_MACX)
+#elif defined(Q_OS_MACX)
if(ttsName == "carbon")
- {
tts = new TTSCarbon(parent);
- return tts;
- }
else
#endif
- if (true) // fix for OS other than WIN or LINUX
- {
- tts = new TTSExes(ttsName,parent);
- return tts;
- }
+ // fix for OS other than WIN or LINUX
+ if (true)
+ tts = new TTSExes(ttsName, parent);
+ return tts;
}
// get the list of encoders, nice names
diff --git a/rbutil/rbutilqt/base/ttssapi4.h b/rbutil/rbutilqt/base/ttssapi4.h
new file mode 100644
index 0000000000..bcfb036107
--- /dev/null
+++ b/rbutil/rbutilqt/base/ttssapi4.h
@@ -0,0 +1,44 @@
+/***************************************************************************
+* __________ __ ___.
+* Open \______ \ ____ ____ | | _\_ |__ _______ ___
+* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+* \/ \/ \/ \/ \/
+*
+* Copyright (C) 2012 by Dominik Riebeling
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+* KIND, either express or implied.
+*
+****************************************************************************/
+
+#ifndef TTSSAPI4_H
+#define TTSSAPI4_H
+
+#include "ttsbase.h"
+#include "ttssapi.h"
+
+class TTSSapi4: public TTSSapi
+{
+ //! Enum to identify the settings
+ Q_OBJECT
+ public:
+ TTSSapi4(QObject* parent=NULL)
+ {
+ m_TTSTemplate = "cscript //nologo \"%exe\" "
+ "/language:%lang /voice:\"%voice\" "
+ "/speed:%speed \"%options\" /sapi4";
+ m_TTSVoiceTemplate = "cscript //nologo \"%exe\" "
+ "/language:%lang /listvoices /sapi4";
+ m_TTSType = "sapi4";
+ }
+
+};
+
+#endif