mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-15 16:12:28 -05:00
Save the internal name for tts / encoder in the configuration file, not the displayed nice name. Additionally, kill a few warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16233 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
cd31193948
commit
c789f3a8a2
7 changed files with 69 additions and 66 deletions
|
|
@ -134,9 +134,11 @@ void Config::accept()
|
||||||
settings->setCacheOffline(ui.cacheOfflineMode->isChecked());
|
settings->setCacheOffline(ui.cacheOfflineMode->isChecked());
|
||||||
|
|
||||||
// tts settings
|
// tts settings
|
||||||
settings->setCurTTS(ui.comboTts->currentText());
|
int i = ui.comboTts->currentIndex();
|
||||||
|
settings->setCurTTS(ui.comboTts->itemData(i).toString());
|
||||||
//encoder settings
|
//encoder settings
|
||||||
settings->setCurEncoder(ui.comboEncoder->currentText());
|
i = ui.comboEncoder->currentIndex();
|
||||||
|
settings->setCurEncoder(ui.comboEncoder->itemData(i).toString());
|
||||||
|
|
||||||
// sync settings
|
// sync settings
|
||||||
settings->sync();
|
settings->sync();
|
||||||
|
|
@ -286,20 +288,22 @@ void Config::setDevices()
|
||||||
// tts / encoder tab
|
// tts / encoder tab
|
||||||
|
|
||||||
//encoders
|
//encoders
|
||||||
ui.comboEncoder->addItems(getEncoderList());
|
int index;
|
||||||
|
QStringList encoders = getEncoderList();
|
||||||
|
for(int a = 0; a < encoders.size(); a++)
|
||||||
|
ui.comboEncoder->addItem(getEncoderName(encoders.at(a)), encoders.at(a));
|
||||||
//update index of combobox
|
//update index of combobox
|
||||||
int index = ui.comboEncoder->findText(settings->curEncoder(),Qt::MatchExactly);
|
index = ui.comboEncoder->findData(settings->curEncoder());
|
||||||
if(index < 0) index = 0;
|
if(index < 0) index = 0;
|
||||||
ui.comboEncoder->setCurrentIndex(index);
|
ui.comboEncoder->setCurrentIndex(index);
|
||||||
updateEncState(index);
|
updateEncState(index);
|
||||||
|
|
||||||
//tts
|
//tts
|
||||||
ui.comboTts->addItems(getTTSList());
|
QStringList ttslist = getTTSList();
|
||||||
|
for(int a = 0; a < ttslist.size(); a++)
|
||||||
|
ui.comboTts->addItem(getTTSName(ttslist.at(a)), ttslist.at(a));
|
||||||
//update index of combobox
|
//update index of combobox
|
||||||
index = ui.comboTts->findText(settings->curTTS(),Qt::MatchExactly);
|
index = ui.comboTts->findData(settings->curTTS());
|
||||||
if(index < 0) index = 0;
|
if(index < 0) index = 0;
|
||||||
ui.comboTts->setCurrentIndex(index);
|
ui.comboTts->setCurrentIndex(index);
|
||||||
updateTtsState(index);
|
updateTtsState(index);
|
||||||
|
|
@ -309,7 +313,7 @@ void Config::setDevices()
|
||||||
|
|
||||||
void Config::updateTtsState(int index)
|
void Config::updateTtsState(int index)
|
||||||
{
|
{
|
||||||
QString ttsName = ui.comboTts->itemText(index);
|
QString ttsName = ui.comboTts->itemData(index).toString();
|
||||||
TTSBase* tts = getTTS(ttsName);
|
TTSBase* tts = getTTS(ttsName);
|
||||||
tts->setCfg(settings);
|
tts->setCfg(settings);
|
||||||
|
|
||||||
|
|
@ -322,12 +326,12 @@ void Config::updateTtsState(int index)
|
||||||
{
|
{
|
||||||
ui.configTTSstatus->setText("Configuration INVALID");
|
ui.configTTSstatus->setText("Configuration INVALID");
|
||||||
ui.configTTSstatusimg->setPixmap(QPixmap(QString::fromUtf8(":/icons/icons/dialog-error.png")));
|
ui.configTTSstatusimg->setPixmap(QPixmap(QString::fromUtf8(":/icons/icons/dialog-error.png")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Config::updateEncState(int index)
|
void Config::updateEncState(int index)
|
||||||
{
|
{
|
||||||
QString encoder = ui.comboEncoder->itemText(index);
|
QString encoder = ui.comboEncoder->itemData(index).toString();
|
||||||
EncBase* enc = getEncoder(encoder);
|
EncBase* enc = getEncoder(encoder);
|
||||||
enc->setCfg(settings);
|
enc->setCfg(settings);
|
||||||
|
|
||||||
|
|
@ -583,7 +587,8 @@ void Config::cacheClear()
|
||||||
|
|
||||||
void Config::configTts()
|
void Config::configTts()
|
||||||
{
|
{
|
||||||
TTSBase* tts =getTTS(ui.comboTts->currentText());
|
int index = ui.comboTts->currentIndex();
|
||||||
|
TTSBase* tts = getTTS(ui.comboTts->itemData(index).toString());
|
||||||
|
|
||||||
tts->setCfg(settings);
|
tts->setCfg(settings);
|
||||||
tts->showCfg();
|
tts->showCfg();
|
||||||
|
|
@ -593,7 +598,8 @@ void Config::configTts()
|
||||||
|
|
||||||
void Config::configEnc()
|
void Config::configEnc()
|
||||||
{
|
{
|
||||||
EncBase* enc =getEncoder(ui.comboEncoder->currentText());
|
int index = ui.comboEncoder->currentIndex();
|
||||||
|
EncBase* enc = getEncoder(ui.comboEncoder->itemData(index).toString());
|
||||||
|
|
||||||
enc->setCfg(settings);
|
enc->setCfg(settings);
|
||||||
enc->showCfg();
|
enc->showCfg();
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ void CreateVoiceWindow::setSettings(RbSettings* sett)
|
||||||
TTSBase* tts = getTTS(ttsName);
|
TTSBase* tts = getTTS(ttsName);
|
||||||
tts->setCfg(settings);
|
tts->setCfg(settings);
|
||||||
if(tts->configOk())
|
if(tts->configOk())
|
||||||
ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(ttsName));
|
ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(getTTSName(ttsName)));
|
||||||
else
|
else
|
||||||
ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!"));
|
ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!"));
|
||||||
|
|
||||||
|
|
@ -104,7 +104,7 @@ void CreateVoiceWindow::setSettings(RbSettings* sett)
|
||||||
if(enc != NULL) {
|
if(enc != NULL) {
|
||||||
enc->setCfg(settings);
|
enc->setCfg(settings);
|
||||||
if(enc->configOk())
|
if(enc->configOk())
|
||||||
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg(encoder));
|
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg(getEncoderName(encoder)));
|
||||||
else
|
else
|
||||||
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg("Invalid encoder configuration!"));
|
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg("Invalid encoder configuration!"));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,56 +26,55 @@
|
||||||
|
|
||||||
static QMap<QString,QString> encoderList;
|
static QMap<QString,QString> encoderList;
|
||||||
static QMap<QString,EncBase*> encoderCache;
|
static QMap<QString,EncBase*> encoderCache;
|
||||||
|
|
||||||
void initEncoderList()
|
|
||||||
|
// initialize list of encoders
|
||||||
|
void initEncodernamesList()
|
||||||
{
|
{
|
||||||
encoderList["rbspeex"] = "Rockbox Speex Encoder";
|
encoderList["rbspeex"] = "Rockbox Speex Encoder";
|
||||||
encoderList["lame"] = "Lame Mp3 Encoder";
|
encoderList["lame"] = "Lame Mp3 Encoder";
|
||||||
}
|
}
|
||||||
|
|
||||||
// function to get a specific encoder
|
|
||||||
EncBase* getEncoder(QString encname)
|
// get nice name for a specific encoder
|
||||||
|
QString getEncoderName(QString encoder)
|
||||||
|
{
|
||||||
|
if(encoderList.isEmpty())
|
||||||
|
initEncodernamesList();
|
||||||
|
return encoderList.value(encoder);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// get a specific encoder object
|
||||||
|
EncBase* getEncoder(QString encoder)
|
||||||
{
|
{
|
||||||
// init list if its empty
|
|
||||||
if(encoderList.count() == 0) initEncoderList();
|
|
||||||
|
|
||||||
QString encoder = encoderList.key(encname);
|
|
||||||
|
|
||||||
// check cache
|
// check cache
|
||||||
if(encoderCache.contains(encoder))
|
if(encoderCache.contains(encoder))
|
||||||
return encoderCache.value(encoder);
|
return encoderCache.value(encoder);
|
||||||
|
|
||||||
EncBase* enc;
|
EncBase* enc;
|
||||||
if(encoder == "rbspeex")
|
if(encoder == "rbspeex")
|
||||||
{
|
{
|
||||||
enc = new EncRbSpeex();
|
enc = new EncRbSpeex();
|
||||||
encoderCache[encoder] = enc;
|
encoderCache[encoder] = enc;
|
||||||
return enc;
|
return enc;
|
||||||
}
|
}
|
||||||
else if(encoder == "lame")
|
else if(encoder == "lame")
|
||||||
{
|
{
|
||||||
enc = new EncExes(encoder);
|
enc = new EncExes(encoder);
|
||||||
encoderCache[encoder] = enc;
|
encoderCache[encoder] = enc;
|
||||||
return enc;
|
return enc;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// get the list of encoders, nice names
|
|
||||||
QStringList getEncoderList()
|
QStringList getEncoderList()
|
||||||
{
|
{
|
||||||
// init list if its empty
|
if(encoderList.isEmpty())
|
||||||
if(encoderList.count() == 0) initEncoderList();
|
initEncodernamesList();
|
||||||
|
return encoderList.keys();
|
||||||
QStringList encList;
|
|
||||||
QMapIterator<QString, QString> i(encoderList);
|
|
||||||
while (i.hasNext()) {
|
|
||||||
i.next();
|
|
||||||
encList << i.value();
|
|
||||||
}
|
|
||||||
|
|
||||||
return encList;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,11 +32,12 @@ extern "C"
|
||||||
class EncBase;
|
class EncBase;
|
||||||
|
|
||||||
//inits the encoder List
|
//inits the encoder List
|
||||||
void initEncoderList();
|
void initEncodernamesList(void);
|
||||||
// function to get a specific encoder
|
// function to get a specific encoder
|
||||||
EncBase* getEncoder(QString encname);
|
EncBase* getEncoder(QString encname);
|
||||||
// get the list of encoders, nice names
|
// get the list of encoders, nice names
|
||||||
QStringList getEncoderList();
|
QString getEncoderName(QString encoder);
|
||||||
|
QStringList getEncoderList(void);
|
||||||
|
|
||||||
|
|
||||||
class EncBase : public QDialog
|
class EncBase : public QDialog
|
||||||
|
|
@ -45,7 +46,8 @@ class EncBase : public QDialog
|
||||||
public:
|
public:
|
||||||
EncBase(QWidget *parent );
|
EncBase(QWidget *parent );
|
||||||
|
|
||||||
virtual bool encode(QString input,QString output){return false;}
|
virtual bool encode(QString input,QString output)
|
||||||
|
{(void)input; (void)output; return false;}
|
||||||
virtual bool start(){return false;}
|
virtual bool start(){return false;}
|
||||||
virtual bool stop(){return false;}
|
virtual bool stop(){return false;}
|
||||||
virtual void showCfg(){}
|
virtual void showCfg(){}
|
||||||
|
|
|
||||||
|
|
@ -114,7 +114,7 @@ void InstallTalkWindow::setSettings(RbSettings* sett)
|
||||||
TTSBase* tts = getTTS(ttsName);
|
TTSBase* tts = getTTS(ttsName);
|
||||||
tts->setCfg(settings);
|
tts->setCfg(settings);
|
||||||
if(tts->configOk())
|
if(tts->configOk())
|
||||||
ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(ttsName));
|
ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(getTTSName(ttsName)));
|
||||||
else
|
else
|
||||||
ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!"));
|
ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!"));
|
||||||
|
|
||||||
|
|
@ -123,7 +123,7 @@ void InstallTalkWindow::setSettings(RbSettings* sett)
|
||||||
if(enc != NULL) {
|
if(enc != NULL) {
|
||||||
enc->setCfg(settings);
|
enc->setCfg(settings);
|
||||||
if(enc->configOk())
|
if(enc->configOk())
|
||||||
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg(encoder));
|
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg(getEncoderName(encoder)));
|
||||||
else
|
else
|
||||||
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg("Invalid encoder configuration!"));
|
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg("Invalid encoder configuration!"));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,18 +36,13 @@ void initTTSList()
|
||||||
}
|
}
|
||||||
|
|
||||||
// function to get a specific encoder
|
// function to get a specific encoder
|
||||||
TTSBase* getTTS(QString ttsname)
|
TTSBase* getTTS(QString ttsName)
|
||||||
{
|
{
|
||||||
// init list if its empty
|
|
||||||
if(ttsList.count() == 0) initTTSList();
|
|
||||||
|
|
||||||
QString ttsName = ttsList.key(ttsname);
|
|
||||||
|
|
||||||
// check cache
|
// check cache
|
||||||
if(ttsCache.contains(ttsName))
|
if(ttsCache.contains(ttsName))
|
||||||
return ttsCache.value(ttsName);
|
return ttsCache.value(ttsName);
|
||||||
|
|
||||||
TTSBase* tts;
|
TTSBase* tts;
|
||||||
if(ttsName == "sapi")
|
if(ttsName == "sapi")
|
||||||
{
|
{
|
||||||
tts = new TTSSapi();
|
tts = new TTSSapi();
|
||||||
|
|
@ -66,18 +61,18 @@ TTSBase* getTTS(QString ttsname)
|
||||||
QStringList getTTSList()
|
QStringList getTTSList()
|
||||||
{
|
{
|
||||||
// init list if its empty
|
// init list if its empty
|
||||||
if(ttsList.count() == 0) initTTSList();
|
if(ttsList.count() == 0)
|
||||||
|
initTTSList();
|
||||||
|
|
||||||
QStringList ttsNameList;
|
return ttsList.keys();
|
||||||
QMapIterator<QString, QString> i(ttsList);
|
|
||||||
while (i.hasNext()) {
|
|
||||||
i.next();
|
|
||||||
ttsNameList << i.value();
|
|
||||||
}
|
|
||||||
|
|
||||||
return ttsNameList;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString getTTSName(QString tts)
|
||||||
|
{
|
||||||
|
if(ttsList.isEmpty())
|
||||||
|
initTTSList();
|
||||||
|
return ttsList.value(tts);
|
||||||
|
}
|
||||||
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
* TTS Base
|
* TTS Base
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ void initTTSList();
|
||||||
TTSBase* getTTS(QString ttsname);
|
TTSBase* getTTS(QString ttsname);
|
||||||
// get the list of tts, nice names
|
// get the list of tts, nice names
|
||||||
QStringList getTTSList();
|
QStringList getTTSList();
|
||||||
|
QString getTTSName(QString tts);
|
||||||
|
|
||||||
|
|
||||||
class TTSBase : public QObject
|
class TTSBase : public QObject
|
||||||
|
|
@ -44,8 +45,8 @@ class TTSBase : public QObject
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
TTSBase();
|
TTSBase();
|
||||||
virtual bool voice(QString text,QString wavfile) {return false;}
|
virtual bool voice(QString text,QString wavfile) {(void)text; (void)wavfile; return false;}
|
||||||
virtual bool start(QString *errStr){return false;}
|
virtual bool start(QString *errStr){(void)errStr; return false;}
|
||||||
virtual bool stop(){return false;}
|
virtual bool stop(){return false;}
|
||||||
virtual void showCfg(){}
|
virtual void showCfg(){}
|
||||||
virtual bool configOk(){return false;}
|
virtual bool configOk(){return false;}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue