1
0
Fork 0
forked from len0rd/rockbox

Split up encoders sources.

Create a separate source / header file for each supported encoder and the base
class and rename classes for better readability. This should also make it
easier adding new encoders.

Remove a few trailing spaces while at it.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31592 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dominik Riebeling 2012-01-06 19:19:32 +00:00
parent f860b57143
commit be0e197190
12 changed files with 337 additions and 239 deletions

View file

@ -0,0 +1,75 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2007 by Dominik Wenger
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#include "encoderbase.h"
#include "utils.h"
#include "rbsettings.h"
#include "encoderrbspeex.h"
#include "encoderexe.h"
/*********************************************************************
* Encoder Base
**********************************************************************/
QMap<QString,QString> EncoderBase::encoderList;
EncoderBase::EncoderBase(QObject *parent): EncTtsSettingInterface(parent)
{
}
// initialize list of encoders
void EncoderBase::initEncodernamesList()
{
encoderList["rbspeex"] = "Rockbox Speex Encoder";
encoderList["lame"] = "Lame Mp3 Encoder";
}
// get nice name for a specific encoder
QString EncoderBase::getEncoderName(QString encoder)
{
if(encoderList.isEmpty())
initEncodernamesList();
return encoderList.value(encoder);
}
// get a specific encoder object
EncoderBase* EncoderBase::getEncoder(QObject* parent,QString encoder)
{
EncoderBase* enc;
if(encoder == "lame")
{
enc = new EncoderExe(encoder,parent);
return enc;
}
else // rbspeex is default
{
enc = new EncoderRbSpeex(parent);
return enc;
}
}
QStringList EncoderBase::getEncoderList()
{
if(encoderList.isEmpty())
initEncodernamesList();
return encoderList.keys();
}

View file

@ -17,21 +17,21 @@
* KIND, either express or implied. * KIND, either express or implied.
* *
****************************************************************************/ ****************************************************************************/
#ifndef ENCODERS_H #ifndef ENCODERS_H
#define ENCODERS_H #define ENCODERS_H
#include <QtCore> #include <QtCore>
#include "encttssettings.h" #include "encttssettings.h"
#include "rbspeex.h" #include "rbspeex.h"
class EncBase : public EncTtsSettingInterface class EncoderBase : public EncTtsSettingInterface
{ {
Q_OBJECT Q_OBJECT
public: public:
EncBase(QObject *parent ); EncoderBase(QObject *parent );
//! Child class should encode a wav file //! Child class should encode a wav file
virtual bool encode(QString input,QString output) =0; virtual bool encode(QString input,QString output) =0;
@ -39,18 +39,18 @@ class EncBase : public EncTtsSettingInterface
virtual bool start()=0; virtual bool start()=0;
//! Child class should stop //! Child class should stop
virtual bool stop()=0; virtual bool stop()=0;
// settings // settings
//! Child class should return true when configuration is ok //! Child class should return true when configuration is ok
virtual bool configOk()=0; virtual bool configOk()=0;
//! Child class should fill in the setttingsList //! Child class should fill in the setttingsList
virtual void generateSettings() = 0; virtual void generateSettings() = 0;
//! Chlid class should commit the from SettingsList to permanent storage //! Chlid class should commit the from SettingsList to permanent storage
virtual void saveSettings() = 0; virtual void saveSettings() = 0;
// static functions // static functions
static QString getEncoderName(QString name); static QString getEncoderName(QString name);
static EncBase* getEncoder(QObject* parent,QString name); static EncoderBase* getEncoder(QObject* parent,QString name);
static QStringList getEncoderList(void); static QStringList getEncoderList(void);
private: private:
@ -60,68 +60,5 @@ class EncBase : public EncTtsSettingInterface
static QMap<QString,QString> encoderList; static QMap<QString,QString> encoderList;
}; };
class EncExes : public EncBase
{
enum ESettings
{
eEXEPATH,
eEXEOPTIONS
};
Q_OBJECT
public:
EncExes(QString name,QObject *parent = NULL);
bool encode(QString input,QString output);
bool start();
bool stop() {return true;}
// setting
bool configOk();
void generateSettings();
void saveSettings();
private:
QString m_name;
QString m_EncExec;
QString m_EncOpts;
QMap<QString,QString> m_TemplateMap;
QString m_EncTemplate;
};
class EncRbSpeex : public EncBase
{
enum ESettings
{
eVOLUME,
eQUALITY,
eCOMPLEXITY,
eNARROWBAND
};
Q_OBJECT
public:
EncRbSpeex(QObject *parent = NULL);
bool encode(QString input,QString output);
bool start();
bool stop() {return true;}
// for settings view
bool configOk();
void generateSettings();
void saveSettings();
private:
float quality;
float volume;
int complexity;
bool narrowband;
float defaultQuality;
float defaultVolume;
int defaultComplexity;
bool defaultBand;
};
#endif #endif

View file

@ -0,0 +1,94 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2007 by Dominik Wenger
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#include <QtCore>
#include "encoderexe.h"
#include "rbsettings.h"
#include "utils.h"
EncoderExe::EncoderExe(QString name,QObject *parent) : EncoderBase(parent)
{
m_name = name;
m_TemplateMap["lame"] = "\"%exe\" %options \"%input\" \"%output\"";
}
void EncoderExe::generateSettings()
{
QString exepath =RbSettings::subValue(m_name,RbSettings::EncoderPath).toString();
if(exepath == "") exepath = Utils::findExecutable(m_name);
insertSetting(eEXEPATH,new EncTtsSetting(this,EncTtsSetting::eSTRING,
tr("Path to Encoder:"),exepath,EncTtsSetting::eBROWSEBTN));
insertSetting(eEXEOPTIONS,new EncTtsSetting(this,EncTtsSetting::eSTRING,
tr("Encoder options:"),RbSettings::subValue(m_name,RbSettings::EncoderOptions)));
}
void EncoderExe::saveSettings()
{
RbSettings::setSubValue(m_name,RbSettings::EncoderPath,getSetting(eEXEPATH)->current().toString());
RbSettings::setSubValue(m_name,RbSettings::EncoderOptions,getSetting(eEXEOPTIONS)->current().toString());
RbSettings::sync();
}
bool EncoderExe::start()
{
m_EncExec = RbSettings::subValue(m_name, RbSettings::EncoderPath).toString();
m_EncOpts = RbSettings::subValue(m_name, RbSettings::EncoderOptions).toString();
m_EncTemplate = m_TemplateMap.value(m_name);
QFileInfo enc(m_EncExec);
if(enc.exists())
{
return true;
}
else
{
return false;
}
}
bool EncoderExe::encode(QString input,QString output)
{
//qDebug() << "encoding..";
QString execstring = m_EncTemplate;
execstring.replace("%exe",m_EncExec);
execstring.replace("%options",m_EncOpts);
execstring.replace("%input",input);
execstring.replace("%output",output);
qDebug() << "[EncoderExe] cmd: " << execstring;
int result = QProcess::execute(execstring);
return (result == 0) ? true : false;
}
bool EncoderExe::configOk()
{
QString path = RbSettings::subValue(m_name, RbSettings::EncoderPath).toString();
if (QFileInfo(path).exists())
return true;
return false;
}

View file

@ -0,0 +1,55 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2007 by Dominik Wenger
*
* 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 ENCODEREXES_H
#define ENCODEREXES_H
#include <QtCore>
#include "encoderbase.h"
class EncoderExe : public EncoderBase
{
enum ESettings
{
eEXEPATH,
eEXEOPTIONS
};
Q_OBJECT
public:
EncoderExe(QString name,QObject *parent = NULL);
bool encode(QString input,QString output);
bool start();
bool stop() {return true;}
// setting
bool configOk();
void generateSettings();
void saveSettings();
private:
QString m_name;
QString m_EncExec;
QString m_EncOpts;
QMap<QString,QString> m_TemplateMap;
QString m_EncTemplate;
};
#endif

View file

@ -16,145 +16,16 @@
* *
****************************************************************************/ ****************************************************************************/
#include "encoders.h" #include <QtCore>
#include "utils.h" #include "encoderrbspeex.h"
#include "rbsettings.h" #include "rbsettings.h"
/********************************************************************* EncoderRbSpeex::EncoderRbSpeex(QObject *parent) : EncoderBase(parent)
* Encoder Base
**********************************************************************/
QMap<QString,QString> EncBase::encoderList;
EncBase::EncBase(QObject *parent): EncTtsSettingInterface(parent)
{ {
} }
// initialize list of encoders void EncoderRbSpeex::generateSettings()
void EncBase::initEncodernamesList()
{
encoderList["rbspeex"] = "Rockbox Speex Encoder";
encoderList["lame"] = "Lame Mp3 Encoder";
}
// get nice name for a specific encoder
QString EncBase::getEncoderName(QString encoder)
{
if(encoderList.isEmpty())
initEncodernamesList();
return encoderList.value(encoder);
}
// get a specific encoder object
EncBase* EncBase::getEncoder(QObject* parent,QString encoder)
{
EncBase* enc;
if(encoder == "lame")
{
enc = new EncExes(encoder,parent);
return enc;
}
else // rbspeex is default
{
enc = new EncRbSpeex(parent);
return enc;
}
}
QStringList EncBase::getEncoderList()
{
if(encoderList.isEmpty())
initEncodernamesList();
return encoderList.keys();
}
/*********************************************************************
* GEneral Exe Encoder
**********************************************************************/
EncExes::EncExes(QString name,QObject *parent) : EncBase(parent)
{
m_name = name;
m_TemplateMap["lame"] = "\"%exe\" %options \"%input\" \"%output\"";
}
void EncExes::generateSettings()
{
QString exepath =RbSettings::subValue(m_name,RbSettings::EncoderPath).toString();
if(exepath == "") exepath = Utils::findExecutable(m_name);
insertSetting(eEXEPATH,new EncTtsSetting(this,EncTtsSetting::eSTRING,
tr("Path to Encoder:"),exepath,EncTtsSetting::eBROWSEBTN));
insertSetting(eEXEOPTIONS,new EncTtsSetting(this,EncTtsSetting::eSTRING,
tr("Encoder options:"),RbSettings::subValue(m_name,RbSettings::EncoderOptions)));
}
void EncExes::saveSettings()
{
RbSettings::setSubValue(m_name,RbSettings::EncoderPath,getSetting(eEXEPATH)->current().toString());
RbSettings::setSubValue(m_name,RbSettings::EncoderOptions,getSetting(eEXEOPTIONS)->current().toString());
RbSettings::sync();
}
bool EncExes::start()
{
m_EncExec = RbSettings::subValue(m_name, RbSettings::EncoderPath).toString();
m_EncOpts = RbSettings::subValue(m_name, RbSettings::EncoderOptions).toString();
m_EncTemplate = m_TemplateMap.value(m_name);
QFileInfo enc(m_EncExec);
if(enc.exists())
{
return true;
}
else
{
return false;
}
}
bool EncExes::encode(QString input,QString output)
{
//qDebug() << "encoding..";
QString execstring = m_EncTemplate;
execstring.replace("%exe",m_EncExec);
execstring.replace("%options",m_EncOpts);
execstring.replace("%input",input);
execstring.replace("%output",output);
qDebug() << "[EncExes] cmd: " << execstring;
int result = QProcess::execute(execstring);
return (result == 0) ? true : false;
}
bool EncExes::configOk()
{
QString path = RbSettings::subValue(m_name, RbSettings::EncoderPath).toString();
if (QFileInfo(path).exists())
return true;
return false;
}
/*********************************************************************
* RB SPEEX ENCODER
**********************************************************************/
EncRbSpeex::EncRbSpeex(QObject *parent) : EncBase(parent)
{
}
void EncRbSpeex::generateSettings()
{ {
insertSetting(eVOLUME,new EncTtsSetting(this,EncTtsSetting::eDOUBLE, insertSetting(eVOLUME,new EncTtsSetting(this,EncTtsSetting::eDOUBLE,
tr("Volume:"),RbSettings::subValue("rbspeex",RbSettings::EncoderVolume),1.0,10.0)); tr("Volume:"),RbSettings::subValue("rbspeex",RbSettings::EncoderVolume),1.0,10.0));
@ -166,7 +37,7 @@ void EncRbSpeex::generateSettings()
tr("Use Narrowband:"),RbSettings::subValue("rbspeex",RbSettings::EncoderNarrowBand))); tr("Use Narrowband:"),RbSettings::subValue("rbspeex",RbSettings::EncoderNarrowBand)));
} }
void EncRbSpeex::saveSettings() void EncoderRbSpeex::saveSettings()
{ {
//save settings in user config //save settings in user config
RbSettings::setSubValue("rbspeex",RbSettings::EncoderVolume, RbSettings::setSubValue("rbspeex",RbSettings::EncoderVolume,
@ -181,7 +52,7 @@ void EncRbSpeex::saveSettings()
RbSettings::sync(); RbSettings::sync();
} }
bool EncRbSpeex::start() bool EncoderRbSpeex::start()
{ {
// try to get config from settings // try to get config from settings
@ -194,7 +65,7 @@ bool EncRbSpeex::start()
return true; return true;
} }
bool EncRbSpeex::encode(QString input,QString output) bool EncoderRbSpeex::encode(QString input,QString output)
{ {
qDebug() << "[RbSpeex] Encoding " << input << " to "<< output; qDebug() << "[RbSpeex] Encoding " << input << " to "<< output;
char errstr[512]; char errstr[512];
@ -224,7 +95,7 @@ bool EncRbSpeex::encode(QString input,QString output)
return true; return true;
} }
bool EncRbSpeex::configOk() bool EncoderRbSpeex::configOk()
{ {
bool result=true; bool result=true;
// check config // check config

View file

@ -0,0 +1,60 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2007 by Dominik Wenger
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef ENCODERRBSPEEX_H
#define ENCODERRBSPEEX_H
#include <QtCore>
#include "encoderbase.h"
class EncoderRbSpeex : public EncoderBase
{
enum ESettings
{
eVOLUME,
eQUALITY,
eCOMPLEXITY,
eNARROWBAND
};
Q_OBJECT
public:
EncoderRbSpeex(QObject *parent = NULL);
bool encode(QString input,QString output);
bool start();
bool stop() {return true;}
// for settings view
bool configOk();
void generateSettings();
void saveSettings();
private:
float quality;
float volume;
int complexity;
bool narrowband;
float defaultQuality;
float defaultVolume;
int defaultComplexity;
bool defaultBand;
};
#endif

View file

@ -48,7 +48,7 @@ TalkGenerator::Status TalkGenerator::process(QList<TalkEntry>* list,int wavtrimt
// Encoder // Encoder
emit logItem(tr("Starting Encoder Engine"),LOGINFO); emit logItem(tr("Starting Encoder Engine"),LOGINFO);
m_enc = EncBase::getEncoder(this,SystemInfo::value(SystemInfo::CurEncoder).toString()); m_enc = EncoderBase::getEncoder(this,SystemInfo::value(SystemInfo::CurEncoder).toString());
if(!m_enc->start()) if(!m_enc->start())
{ {
emit logItem(tr("Init of Encoder engine failed"),LOGERROR); emit logItem(tr("Init of Encoder engine failed"),LOGERROR);

View file

@ -25,7 +25,7 @@
#include <QtCore> #include <QtCore>
#include "progressloggerinterface.h" #include "progressloggerinterface.h"
#include "encoders.h" #include "encoderbase.h"
#include "ttsbase.h" #include "ttsbase.h"
//! \brief Talk generator, generates .wav and .talk files out of a list. //! \brief Talk generator, generates .wav and .talk files out of a list.
@ -57,9 +57,9 @@ public:
* for error checking */ * for error checking */
struct struct
{ {
EncBase* encoder; EncoderBase* encoder;
TTSBase* tts; TTSBase* tts;
TalkGenerator* generator; TalkGenerator* generator;
int wavtrim; int wavtrim;
} refs; } refs;
}; };
@ -92,7 +92,7 @@ private:
static void ttsEntryPoint(TalkEntry& entry); static void ttsEntryPoint(TalkEntry& entry);
TTSBase* m_tts; TTSBase* m_tts;
EncBase* m_enc; EncoderBase* m_enc;
bool m_ttsWarnings; bool m_ttsWarnings;
bool m_userAborted; bool m_userAborted;

View file

@ -22,7 +22,7 @@
#include "configure.h" #include "configure.h"
#include "autodetection.h" #include "autodetection.h"
#include "ui_configurefrm.h" #include "ui_configurefrm.h"
#include "encoders.h" #include "encoderbase.h"
#include "ttsbase.h" #include "ttsbase.h"
#include "system.h" #include "system.h"
#include "encttscfggui.h" #include "encttscfggui.h"
@ -40,6 +40,8 @@
#endif #endif
#include "rbutilqt.h" #include "rbutilqt.h"
#include "systrace.h"
#define DEFAULT_LANG "English (en)" #define DEFAULT_LANG "English (en)"
#define DEFAULT_LANG_CODE "en" #define DEFAULT_LANG_CODE "en"
@ -436,10 +438,10 @@ void Config::updateEncState()
QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString(); QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString();
QString encoder = SystemInfo::platformValue(devname, QString encoder = SystemInfo::platformValue(devname,
SystemInfo::CurEncoder).toString(); SystemInfo::CurEncoder).toString();
ui.encoderName->setText(EncBase::getEncoderName(SystemInfo::platformValue(devname, ui.encoderName->setText(EncoderBase::getEncoderName(SystemInfo::platformValue(devname,
SystemInfo::CurEncoder).toString())); SystemInfo::CurEncoder).toString()));
EncBase* enc = EncBase::getEncoder(this,encoder); EncoderBase* enc = EncoderBase::getEncoder(this,encoder);
if(enc->configOk()) if(enc->configOk())
{ {
@ -893,13 +895,13 @@ void Config::configEnc()
QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString(); QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString();
QString encoder = SystemInfo::platformValue(devname, QString encoder = SystemInfo::platformValue(devname,
SystemInfo::CurEncoder).toString(); SystemInfo::CurEncoder).toString();
ui.encoderName->setText(EncBase::getEncoderName(SystemInfo::platformValue(devname, ui.encoderName->setText(EncoderBase::getEncoderName(SystemInfo::platformValue(devname,
SystemInfo::CurEncoder).toString())); SystemInfo::CurEncoder).toString()));
EncBase* enc = EncBase::getEncoder(this,encoder); EncoderBase* enc = EncoderBase::getEncoder(this,encoder);
EncTtsCfgGui gui(this,enc,EncBase::getEncoderName(encoder)); EncTtsCfgGui gui(this,enc,EncoderBase::getEncoderName(encoder));
gui.exec(); gui.exec();
updateEncState(); updateEncState();

View file

@ -99,14 +99,14 @@ void CreateVoiceWindow::updateSettings(void)
else else
ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>") ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>")
.arg("Invalid TTS configuration!")); .arg("Invalid TTS configuration!"));
QString encoder = SystemInfo::value(SystemInfo::CurEncoder).toString(); QString encoder = SystemInfo::value(SystemInfo::CurEncoder).toString();
// only proceed if encoder setting is set // only proceed if encoder setting is set
EncBase* enc = EncBase::getEncoder(this,encoder); EncoderBase* enc = EncoderBase::getEncoder(this,encoder);
if(enc != NULL) { if(enc != NULL) {
if(enc->configOk()) if(enc->configOk())
ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>") ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>")
.arg(EncBase::getEncoderName(encoder))); .arg(EncoderBase::getEncoderName(encoder)));
else else
ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>") ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>")
.arg("Invalid encoder configuration!")); .arg("Invalid encoder configuration!"));

View file

@ -34,7 +34,7 @@ InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent)
ui.recursive->setChecked(true); ui.recursive->setChecked(true);
ui.GenerateOnlyNew->setChecked(true); ui.GenerateOnlyNew->setChecked(true);
ui.StripExtensions->setChecked(true); ui.StripExtensions->setChecked(true);
updateSettings(); updateSettings();
} }
@ -62,28 +62,28 @@ void InstallTalkWindow::browseFolder()
void InstallTalkWindow::change() void InstallTalkWindow::change()
{ {
Config *cw = new Config(this,4); Config *cw = new Config(this,4);
// make sure the current selected folder doesn't get lost on settings // make sure the current selected folder doesn't get lost on settings
// changes. If the current selection is invalid don't accept it so // changes. If the current selection is invalid don't accept it so
// it gets reset to the old value after closing the settings dialog. // it gets reset to the old value after closing the settings dialog.
QString folderToTalk = ui.lineTalkFolder->text(); QString folderToTalk = ui.lineTalkFolder->text();
if(QFileInfo(folderToTalk).isDir()) if(QFileInfo(folderToTalk).isDir())
RbSettings::setValue(RbSettings::LastTalkedFolder, folderToTalk); RbSettings::setValue(RbSettings::LastTalkedFolder, folderToTalk);
connect(cw, SIGNAL(settingsUpdated()), this, SLOT(updateSettings())); connect(cw, SIGNAL(settingsUpdated()), this, SLOT(updateSettings()));
cw->show(); cw->show();
} }
void InstallTalkWindow::accept() void InstallTalkWindow::accept()
{ {
logger = new ProgressLoggerGui(this); logger = new ProgressLoggerGui(this);
connect(logger,SIGNAL(closed()),this,SLOT(close())); connect(logger,SIGNAL(closed()),this,SLOT(close()));
logger->show(); logger->show();
QString folderToTalk = ui.lineTalkFolder->text(); QString folderToTalk = ui.lineTalkFolder->text();
if(!QFileInfo(folderToTalk).isDir()) if(!QFileInfo(folderToTalk).isDir())
{ {
logger->addItem(tr("The Folder to Talk is wrong!"),LOGERROR); logger->addItem(tr("The Folder to Talk is wrong!"),LOGERROR);
@ -97,19 +97,19 @@ void InstallTalkWindow::accept()
talkcreator->setDir(QDir(folderToTalk)); talkcreator->setDir(QDir(folderToTalk));
talkcreator->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString()); talkcreator->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString());
talkcreator->setGenerateOnlyNew(ui.GenerateOnlyNew->isChecked()); talkcreator->setGenerateOnlyNew(ui.GenerateOnlyNew->isChecked());
talkcreator->setRecursive(ui.recursive->isChecked()); talkcreator->setRecursive(ui.recursive->isChecked());
talkcreator->setStripExtensions(ui.StripExtensions->isChecked()); talkcreator->setStripExtensions(ui.StripExtensions->isChecked());
talkcreator->setTalkFolders(ui.talkFolders->isChecked()); talkcreator->setTalkFolders(ui.talkFolders->isChecked());
talkcreator->setTalkFiles(ui.talkFiles->isChecked()); talkcreator->setTalkFiles(ui.talkFiles->isChecked());
talkcreator->setIgnoreFiles(ui.ignoreFiles->text().split(",",QString::SkipEmptyParts)); talkcreator->setIgnoreFiles(ui.ignoreFiles->text().split(",",QString::SkipEmptyParts));
connect(talkcreator, SIGNAL(done(bool)), logger, SLOT(setFinished())); connect(talkcreator, SIGNAL(done(bool)), logger, SLOT(setFinished()));
connect(talkcreator, SIGNAL(logItem(QString, int)), logger, SLOT(addItem(QString, int))); connect(talkcreator, SIGNAL(logItem(QString, int)), logger, SLOT(addItem(QString, int)));
connect(talkcreator, SIGNAL(logProgress(int, int)), logger, SLOT(setProgress(int, int))); connect(talkcreator, SIGNAL(logProgress(int, int)), logger, SLOT(setProgress(int, int)));
connect(logger,SIGNAL(aborted()),talkcreator,SLOT(abort())); connect(logger,SIGNAL(aborted()),talkcreator,SLOT(abort()));
talkcreator->createTalkFiles(); talkcreator->createTalkFiles();
} }
@ -124,13 +124,13 @@ void InstallTalkWindow::updateSettings(void)
else else
ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>") ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>")
.arg("Invalid TTS configuration!")); .arg("Invalid TTS configuration!"));
QString encoder = SystemInfo::value(SystemInfo::CurEncoder).toString(); QString encoder = SystemInfo::value(SystemInfo::CurEncoder).toString();
EncBase* enc = EncBase::getEncoder(this,encoder); EncoderBase* enc = EncoderBase::getEncoder(this,encoder);
if(enc != NULL) { if(enc != NULL) {
if(enc->configOk()) if(enc->configOk())
ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>") ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>")
.arg(EncBase::getEncoderName(encoder))); .arg(EncoderBase::getEncoderName(encoder)));
else else
ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>") ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>")
.arg("Invalid encoder configuration!")); .arg("Invalid encoder configuration!"));

View file

@ -33,7 +33,9 @@ SOURCES += \
uninstallwindow.cpp \ uninstallwindow.cpp \
base/utils.cpp \ base/utils.cpp \
preview.cpp \ preview.cpp \
base/encoders.cpp \ base/encoderbase.cpp \
base/encoderrbspeex.cpp \
base/encoderexe.cpp \
encttscfggui.cpp \ encttscfggui.cpp \
base/encttssettings.cpp \ base/encttssettings.cpp \
base/ttsbase.cpp \ base/ttsbase.cpp \
@ -95,7 +97,9 @@ HEADERS += \
uninstallwindow.h \ uninstallwindow.h \
base/utils.h \ base/utils.h \
preview.h \ preview.h \
base/encoders.h \ base/encoderbase.h \
base/encoderrbspeex.h \
base/encoderexe.h \
encttscfggui.h \ encttscfggui.h \
base/encttssettings.h \ base/encttssettings.h \
base/ttsbase.h \ base/ttsbase.h \