forked from len0rd/rockbox
rbutil: tts and encoders: preparation for cli interface. installers: make sure all installers correctly emit a done signal.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16255 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
37dc15b672
commit
683da04ce4
10 changed files with 62 additions and 49 deletions
|
|
@ -22,6 +22,8 @@
|
|||
|
||||
#ifndef CONSOLE
|
||||
#include "encodersgui.h"
|
||||
#else
|
||||
#include "encodersguicli.h"
|
||||
#endif
|
||||
|
||||
static QMap<QString,QString> encoderList;
|
||||
|
|
@ -53,20 +55,18 @@ EncBase* getEncoder(QString encoder)
|
|||
return encoderCache.value(encoder);
|
||||
|
||||
EncBase* enc;
|
||||
if(encoder == "rbspeex")
|
||||
{
|
||||
enc = new EncRbSpeex();
|
||||
encoderCache[encoder] = enc;
|
||||
return enc;
|
||||
}
|
||||
else if(encoder == "lame")
|
||||
if(encoder == "lame")
|
||||
{
|
||||
enc = new EncExes(encoder);
|
||||
encoderCache[encoder] = enc;
|
||||
return enc;
|
||||
}
|
||||
else
|
||||
return NULL;
|
||||
else // rbspeex is default
|
||||
{
|
||||
enc = new EncRbSpeex();
|
||||
encoderCache[encoder] = enc;
|
||||
return enc;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -81,7 +81,7 @@ QStringList getEncoderList()
|
|||
/*********************************************************************
|
||||
* Encoder Base
|
||||
**********************************************************************/
|
||||
EncBase::EncBase(QWidget *parent): QDialog(parent)
|
||||
EncBase::EncBase(QObject *parent): QObject(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -89,7 +89,7 @@ EncBase::EncBase(QWidget *parent): QDialog(parent)
|
|||
/*********************************************************************
|
||||
* GEneral Exe Encoder
|
||||
**********************************************************************/
|
||||
EncExes::EncExes(QString name,QWidget *parent) : EncBase(parent)
|
||||
EncExes::EncExes(QString name,QObject *parent) : EncBase(parent)
|
||||
{
|
||||
m_name = name;
|
||||
|
||||
|
|
@ -132,7 +132,11 @@ bool EncExes::encode(QString input,QString output)
|
|||
|
||||
void EncExes::showCfg()
|
||||
{
|
||||
#ifndef CONSOLE
|
||||
EncExesGui gui;
|
||||
#else
|
||||
EncExesGuiCli gui;
|
||||
#endif
|
||||
gui.setCfg(settings);
|
||||
gui.showCfg(m_name);
|
||||
}
|
||||
|
|
@ -152,7 +156,7 @@ bool EncExes::configOk()
|
|||
/*********************************************************************
|
||||
* RB SPEEX ENCODER
|
||||
**********************************************************************/
|
||||
EncRbSpeex::EncRbSpeex(QWidget *parent) : EncBase(parent)
|
||||
EncRbSpeex::EncRbSpeex(QObject *parent) : EncBase(parent)
|
||||
{
|
||||
|
||||
defaultQuality = 8.f;
|
||||
|
|
@ -208,7 +212,11 @@ bool EncRbSpeex::encode(QString input,QString output)
|
|||
|
||||
void EncRbSpeex::showCfg()
|
||||
{
|
||||
#ifndef CONSOLE
|
||||
EncRbSpeexGui gui;
|
||||
#else
|
||||
EncRbSpeexGuiCli gui;
|
||||
#endif
|
||||
gui.setCfg(settings);
|
||||
gui.showCfg(defaultQuality,defaultVolume,defaultComplexity,defaultBand);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,11 +40,11 @@ QString getEncoderName(QString encoder);
|
|||
QStringList getEncoderList(void);
|
||||
|
||||
|
||||
class EncBase : public QDialog
|
||||
class EncBase : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
EncBase(QWidget *parent );
|
||||
EncBase(QObject *parent );
|
||||
|
||||
virtual bool encode(QString input,QString output)
|
||||
{(void)input; (void)output; return false;}
|
||||
|
|
@ -71,7 +71,7 @@ class EncExes : public EncBase
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
EncExes(QString name,QWidget *parent = NULL);
|
||||
EncExes(QString name,QObject *parent = NULL);
|
||||
virtual bool encode(QString input,QString output);
|
||||
virtual bool start();
|
||||
virtual bool stop() {return true;}
|
||||
|
|
@ -90,7 +90,7 @@ class EncRbSpeex : public EncBase
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
EncRbSpeex(QWidget *parent = NULL);
|
||||
EncRbSpeex(QObject *parent = NULL);
|
||||
virtual bool encode(QString input,QString output);
|
||||
virtual bool start();
|
||||
virtual bool stop() {return true;}
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ void ZipInstaller::installContinue()
|
|||
m_dp->addItem(tr("Installation finished successfully."),LOGOK);
|
||||
m_dp->abort();
|
||||
|
||||
emit done(false);
|
||||
emit done(true);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -89,27 +89,17 @@ void ZipInstaller::installStart()
|
|||
getter->setProxy(m_proxy);
|
||||
if(m_cache.exists()) {
|
||||
getter->setCache(m_cache);
|
||||
qDebug() << "installzip: setting cache to" << m_cache;
|
||||
|
||||
}
|
||||
getter->setFile(downloadFile);
|
||||
getter->getFile(QUrl(m_url));
|
||||
|
||||
connect(getter, SIGNAL(done(bool)), this, SLOT(downloadDone(bool)));
|
||||
connect(getter, SIGNAL(downloadDone(int, bool)), this, SLOT(downloadRequestFinished(int, bool)));
|
||||
connect(getter, SIGNAL(dataReadProgress(int, int)), this, SLOT(updateDataReadProgress(int, int)));
|
||||
connect(m_dp, SIGNAL(aborted()), getter, SLOT(abort()));
|
||||
}
|
||||
|
||||
|
||||
void ZipInstaller::downloadRequestFinished(int id, bool error)
|
||||
{
|
||||
qDebug() << "Install::downloadRequestFinished" << id << error;
|
||||
qDebug() << "error:" << getter->errorString();
|
||||
|
||||
downloadDone(error);
|
||||
}
|
||||
|
||||
|
||||
void ZipInstaller::downloadDone(bool error)
|
||||
{
|
||||
qDebug() << "Install::downloadDone, error:" << error;
|
||||
|
|
@ -125,14 +115,14 @@ void ZipInstaller::downloadDone(bool error)
|
|||
if(getter->httpResponse() != 200 && !getter->isCached()) {
|
||||
m_dp->addItem(tr("Download error: received HTTP error %1.").arg(getter->httpResponse()),LOGERROR);
|
||||
m_dp->abort();
|
||||
emit done(true);
|
||||
emit done(false);
|
||||
return;
|
||||
}
|
||||
if(getter->isCached()) m_dp->addItem(tr("Cached file used."), LOGINFO);
|
||||
if(error) {
|
||||
m_dp->addItem(tr("Download error: %1").arg(getter->errorString()),LOGERROR);
|
||||
m_dp->abort();
|
||||
emit done(true);
|
||||
emit done(false);
|
||||
return;
|
||||
}
|
||||
else m_dp->addItem(tr("Download finished."),LOGOK);
|
||||
|
|
|
|||
|
|
@ -56,7 +56,6 @@ signals:
|
|||
private slots:
|
||||
void updateDataReadProgress(int, int);
|
||||
void downloadDone(bool);
|
||||
void downloadRequestFinished(int, bool);
|
||||
void installStart(void);
|
||||
void installContinue(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -60,9 +60,9 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
|
|||
connect(logger,SIGNAL(aborted()),this,SLOT(abort()));
|
||||
m_logger->setProgressMax(0);
|
||||
|
||||
QDirIterator::IteratorFlags flags = QDirIterator::NoIteratorFlags;
|
||||
if(m_recursive)
|
||||
flags = QDirIterator::Subdirectories;
|
||||
QDirIterator::IteratorFlags flags = QDirIterator::NoIteratorFlags;
|
||||
if(m_recursive)
|
||||
flags = QDirIterator::Subdirectories;
|
||||
|
||||
QDirIterator it(m_dir,flags);
|
||||
QSettings installlog(m_mountpoint + "/.rockbox/rbutil.log", QSettings::IniFormat, 0);
|
||||
|
|
@ -141,6 +141,7 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
|
|||
m_logger->abort();
|
||||
m_tts->stop();
|
||||
m_enc->stop();
|
||||
|
||||
return false;
|
||||
}
|
||||
QApplication::processEvents();
|
||||
|
|
@ -152,6 +153,7 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
|
|||
m_logger->abort();
|
||||
m_tts->stop();
|
||||
m_enc->stop();
|
||||
|
||||
return false;
|
||||
}
|
||||
QApplication::processEvents();
|
||||
|
|
|
|||
|
|
@ -130,7 +130,11 @@ bool TTSExes::voice(QString text,QString wavfile)
|
|||
|
||||
void TTSExes::showCfg()
|
||||
{
|
||||
#ifndef CONSOLE
|
||||
TTSExesGui gui;
|
||||
#else
|
||||
TTSExesGuiCli gui;
|
||||
#endif
|
||||
gui.setCfg(settings);
|
||||
gui.showCfg(m_name);
|
||||
}
|
||||
|
|
@ -270,7 +274,11 @@ bool TTSSapi::stop()
|
|||
|
||||
void TTSSapi::showCfg()
|
||||
{
|
||||
#ifndef CONSOLE
|
||||
TTSSapiGui gui(this);
|
||||
#else
|
||||
TTSSapiGuiCli gui(this);
|
||||
#endif
|
||||
gui.setCfg(settings);
|
||||
gui.showCfg();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@
|
|||
|
||||
#ifndef CONSOLE
|
||||
#include "ttsgui.h"
|
||||
#else
|
||||
#include "ttsguicli.h"
|
||||
#endif
|
||||
|
||||
class TTSBase;
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ bool VoiceFileCreator::createVoiceFile(ProgressloggerInterface* logger)
|
|||
{
|
||||
m_logger->addItem(tr("failed to open rockbox-info.txt"),LOGERROR);
|
||||
m_logger->abort();
|
||||
emit done(false);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -94,22 +95,12 @@ bool VoiceFileCreator::createVoiceFile(ProgressloggerInterface* logger)
|
|||
getter->getFile(genlangUrl);
|
||||
|
||||
connect(getter, SIGNAL(done(bool)), this, SLOT(downloadDone(bool)));
|
||||
connect(getter, SIGNAL(downloadDone(int, bool)), this, SLOT(downloadRequestFinished(int, bool)));
|
||||
connect(getter, SIGNAL(dataReadProgress(int, int)), this, SLOT(updateDataReadProgress(int, int)));
|
||||
connect(m_logger, SIGNAL(aborted()), getter, SLOT(abort()));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void VoiceFileCreator::downloadRequestFinished(int id, bool error)
|
||||
{
|
||||
qDebug() << "Install::downloadRequestFinished" << id << error;
|
||||
qDebug() << "error:" << getter->errorString();
|
||||
|
||||
downloadDone(error);
|
||||
}
|
||||
|
||||
|
||||
void VoiceFileCreator::downloadDone(bool error)
|
||||
{
|
||||
qDebug() << "Voice creator::downloadDone, error:" << error;
|
||||
|
|
@ -124,12 +115,14 @@ void VoiceFileCreator::downloadDone(bool error)
|
|||
if(getter->httpResponse() != 200 && !getter->isCached()) {
|
||||
m_logger->addItem(tr("Download error: received HTTP error %1.").arg(getter->httpResponse()),LOGERROR);
|
||||
m_logger->abort();
|
||||
emit done(false);
|
||||
return;
|
||||
}
|
||||
if(getter->isCached()) m_logger->addItem(tr("Cached file used."), LOGINFO);
|
||||
if(error) {
|
||||
m_logger->addItem(tr("Download error: %1").arg(getter->errorString()),LOGERROR);
|
||||
m_logger->abort();
|
||||
emit done(false);
|
||||
return;
|
||||
}
|
||||
else m_logger->addItem(tr("Download finished."),LOGOK);
|
||||
|
|
@ -143,6 +136,7 @@ void VoiceFileCreator::downloadDone(bool error)
|
|||
{
|
||||
m_logger->addItem(tr("failed to open downloaded file"),LOGERROR);
|
||||
m_logger->abort();
|
||||
emit done(false);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -156,6 +150,7 @@ void VoiceFileCreator::downloadDone(bool error)
|
|||
m_logger->addItem(errStr,LOGERROR);
|
||||
m_logger->addItem(tr("Init of TTS engine failed"),LOGERROR);
|
||||
m_logger->abort();
|
||||
emit done(false);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -168,6 +163,7 @@ void VoiceFileCreator::downloadDone(bool error)
|
|||
m_logger->addItem(tr("Init of Encoder engine failed"),LOGERROR);
|
||||
m_tts->stop();
|
||||
m_logger->abort();
|
||||
emit done(false);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -210,6 +206,7 @@ void VoiceFileCreator::downloadDone(bool error)
|
|||
m_logger->addItem(tr("The downloaded file was empty!"),LOGERROR);
|
||||
m_logger->abort();
|
||||
m_tts->stop();
|
||||
emit done(false);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -225,6 +222,7 @@ void VoiceFileCreator::downloadDone(bool error)
|
|||
m_logger->addItem("aborted.",LOGERROR);
|
||||
m_logger->abort();
|
||||
m_tts->stop();
|
||||
emit done(false);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -269,6 +267,7 @@ void VoiceFileCreator::downloadDone(bool error)
|
|||
{
|
||||
m_logger->addItem(tr("Error opening downloaded file"),LOGERROR);
|
||||
m_logger->abort();
|
||||
emit done(false);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -276,6 +275,7 @@ void VoiceFileCreator::downloadDone(bool error)
|
|||
if (output == NULL)
|
||||
{
|
||||
m_logger->addItem(tr("Error opening output file"),LOGERROR);
|
||||
emit done(false);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -291,6 +291,8 @@ void VoiceFileCreator::downloadDone(bool error)
|
|||
m_logger->setProgressValue(100);
|
||||
m_logger->addItem(tr("successfully created."),LOGOK);
|
||||
m_logger->abort();
|
||||
|
||||
emit done(true);
|
||||
}
|
||||
|
||||
void VoiceFileCreator::updateDataReadProgress(int read, int total)
|
||||
|
|
|
|||
|
|
@ -53,9 +53,11 @@ public:
|
|||
void setWavtrimThreshold(int th){m_wavtrimThreshold = th;}
|
||||
void setProxy(QUrl proxy){m_proxy = proxy;}
|
||||
|
||||
signals:
|
||||
void done(bool error);
|
||||
|
||||
private slots:
|
||||
void abort();
|
||||
void downloadRequestFinished(int id, bool error);
|
||||
void downloadDone(bool error);
|
||||
void updateDataReadProgress(int read, int total);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue