1
0
Fork 0
forked from len0rd/rockbox

Make TTS name conversion functions static members.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16294 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dominik Riebeling 2008-02-12 21:45:50 +00:00
parent 341188d68d
commit 8820c0114b
7 changed files with 83 additions and 83 deletions

View file

@ -299,9 +299,9 @@ void Config::setDevices()
updateEncState(index);
//tts
QStringList ttslist = getTTSList();
QStringList ttslist = TTSBase::getTTSList();
for(int a = 0; a < ttslist.size(); a++)
ui.comboTts->addItem(getTTSName(ttslist.at(a)), ttslist.at(a));
ui.comboTts->addItem(TTSBase::getTTSName(ttslist.at(a)), ttslist.at(a));
//update index of combobox
index = ui.comboTts->findData(settings->curTTS());
if(index < 0) index = 0;
@ -314,7 +314,7 @@ void Config::setDevices()
void Config::updateTtsState(int index)
{
QString ttsName = ui.comboTts->itemData(index).toString();
TTSBase* tts = getTTS(ttsName);
TTSBase* tts = TTSBase::getTTS(ttsName);
tts->setCfg(settings);
if(tts->configOk())
@ -588,7 +588,7 @@ void Config::cacheClear()
void Config::configTts()
{
int index = ui.comboTts->currentIndex();
TTSBase* tts = getTTS(ui.comboTts->itemData(index).toString());
TTSBase* tts = TTSBase::getTTS(ui.comboTts->itemData(index).toString());
tts->setCfg(settings);
tts->showCfg();

View file

@ -91,10 +91,10 @@ void CreateVoiceWindow::setSettings(RbSettings* sett)
ui.comboLanguage->setCurrentIndex(sel);
QString ttsName = settings->curTTS();
TTSBase* tts = getTTS(ttsName);
TTSBase* tts = TTSBase::getTTS(ttsName);
tts->setCfg(settings);
if(tts->configOk())
ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(getTTSName(ttsName)));
ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(TTSBase::getTTSName(ttsName)));
else
ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!"));

View file

@ -111,10 +111,10 @@ void InstallTalkWindow::setSettings(RbSettings* sett)
settings = sett;
QString ttsName = settings->curTTS();
TTSBase* tts = getTTS(ttsName);
TTSBase* tts = TTSBase::getTTS(ttsName);
tts->setCfg(settings);
if(tts->configOk())
ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(getTTSName(ttsName)));
ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(TTSBase::getTTSName(ttsName)));
else
ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!"));

View file

@ -31,7 +31,7 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
m_logger->addItem(tr("Starting Talk file generation"),LOGINFO);
//tts
m_tts = getTTS(settings->curTTS());
m_tts = TTSBase::getTTS(settings->curTTS());
m_tts->setCfg(settings);
QString errStr;

View file

@ -20,11 +20,12 @@
#include "tts.h"
// static variables
QMap<QString,QString> TTSBase::ttsList;
QMap<QString,TTSBase*> TTSBase::ttsCache;
static QMap<QString,QString> ttsList;
static QMap<QString,TTSBase*> ttsCache;
void initTTSList()
// static functions
void TTSBase::initTTSList()
{
ttsList["espeak"] = "Espeak TTS Engine";
ttsList["flite"] = "Flite TTS Engine";
@ -36,7 +37,7 @@ void initTTSList()
}
// function to get a specific encoder
TTSBase* getTTS(QString ttsName)
TTSBase* TTSBase::getTTS(QString ttsName)
{
// check cache
if(ttsCache.contains(ttsName))
@ -58,7 +59,7 @@ TTSBase* getTTS(QString ttsName)
}
// get the list of encoders, nice names
QStringList getTTSList()
QStringList TTSBase::getTTSList()
{
// init list if its empty
if(ttsList.count() == 0)
@ -67,7 +68,8 @@ QStringList getTTSList()
return ttsList.keys();
}
QString getTTSName(QString tts)
// get nice name of a specific tts
QString TTSBase::getTTSName(QString tts)
{
if(ttsList.isEmpty())
initTTSList();

View file

@ -31,23 +31,14 @@
#include "ttsguicli.h"
#endif
class TTSBase;
//inits the tts List
void initTTSList();
// function to get a specific tts
TTSBase* getTTS(QString ttsname);
// get the list of tts, nice names
QStringList getTTSList();
QString getTTSName(QString tts);
class TTSBase : public QObject
{
Q_OBJECT
public:
TTSBase();
virtual bool voice(QString text,QString wavfile) {(void)text; (void)wavfile; return false;}
virtual bool voice(QString text,QString wavfile)
{ (void)text; (void)wavfile; return false; }
virtual bool start(QString *errStr) { (void)errStr; return false; }
virtual bool stop() { return false; }
virtual void showCfg(){}
@ -55,13 +46,23 @@ public:
void setCfg(RbSettings* sett) { settings = sett; }
static TTSBase* getTTS(QString ttsname);
static QStringList getTTSList();
static QString getTTSName(QString tts);
public slots:
virtual void accept(void){}
virtual void reject(void){}
virtual void reset(void){}
private:
//inits the tts List
static void initTTSList();
protected:
RbSettings* settings;
static QMap<QString,QString> ttsList;
static QMap<QString,TTSBase*> ttsCache;
};
class TTSSapi : public TTSBase
@ -77,7 +78,6 @@ public:
QStringList getVoiceList(QString language);
private:
QProcess* voicescript;
QString defaultLanguage;
@ -91,6 +91,7 @@ private:
bool m_sapi4;
};
class TTSExes : public TTSBase
{
Q_OBJECT
@ -102,10 +103,7 @@ public:
virtual void showCfg();
virtual bool configOk();
private:
QString m_name;
QString m_TTSexec;
QString m_TTSOpts;

View file

@ -141,7 +141,7 @@ void VoiceFileCreator::downloadDone(bool error)
}
//tts
m_tts = getTTS(settings->curTTS());
m_tts = TTSBase::getTTS(settings->curTTS());
m_tts->setCfg(settings);
QString errStr;