diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2012-09-09 11:26:11 +0200 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2012-09-09 12:07:52 +0200 |
commit | 469a614349070eb5731acf96988186b2a95493ad (patch) | |
tree | c2a90701c5e85ea62e710542d36ad07c820e4757 /rbutil/rbutilqt | |
parent | 6be7dabdd952ef114941affca0e16ce8470595d3 (diff) | |
download | rockbox-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')
-rw-r--r-- | rbutil/rbutilqt/base/ttsbase.cpp | 34 | ||||
-rw-r--r-- | rbutil/rbutilqt/base/ttssapi4.h | 44 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutilqt.pri | 1 |
3 files changed, 59 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 diff --git a/rbutil/rbutilqt/rbutilqt.pri b/rbutil/rbutilqt/rbutilqt.pri index 141c5eea75..b6aac3bb43 100644 --- a/rbutil/rbutilqt/rbutilqt.pri +++ b/rbutil/rbutilqt/rbutilqt.pri @@ -113,6 +113,7 @@ HEADERS += \ base/ttsexes.h \ base/ttsfestival.h \ base/ttssapi.h \ + base/ttssapi4.h \ ../../tools/wavtrim.h \ ../../tools/voicefont.h \ base/voicefile.h \ |