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