From 42fa2a8d0f6891f2d64eeb4de1920655f784e79a Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Wed, 11 Jan 2012 20:18:26 +0100 Subject: Improve error handling and logging. - Fix a warning - Log an error if the file to encode cannot be read. - Adjust some log strings. --- rbutil/rbutilqt/base/encoderlame.cpp | 9 ++++++--- rbutil/rbutilqt/base/talkgenerator.cpp | 5 +++-- rbutil/rbutilqt/base/ttssapi.cpp | 17 ++++++++++------- 3 files changed, 19 insertions(+), 12 deletions(-) (limited to 'rbutil/rbutilqt') diff --git a/rbutil/rbutilqt/base/encoderlame.cpp b/rbutil/rbutilqt/base/encoderlame.cpp index d85453c49b..52937e9109 100644 --- a/rbutil/rbutilqt/base/encoderlame.cpp +++ b/rbutil/rbutilqt/base/encoderlame.cpp @@ -84,7 +84,7 @@ bool EncoderLame::start() bool EncoderLame::encode(QString input,QString output) { - qDebug() << "[EncoderLame] Encoding" << input; + qDebug() << "[EncoderLame] Encoding" << QDir::cleanPath(input); if(!m_symbolsResolved) { qDebug() << "[EncoderLame] Symbols not successfully resolved, cannot run!"; return false; @@ -113,11 +113,14 @@ bool EncoderLame::encode(QString input,QString output) m_lame_set_scale(gfp, 1.0); // scale input volume m_lame_set_mode(gfp, MONO); // mono output mode m_lame_set_VBR(gfp, vbr_default); // enable default VBR mode - m_lame_set_VBR_quality(gfp, 9.999); // VBR quality + m_lame_set_VBR_quality(gfp, 9.999f); // VBR quality m_lame_set_VBR_max_bitrate_kbps(gfp, 64); // maximum bitrate 64kbps m_lame_set_bWriteVbrTag(gfp, 0); // disable LAME tag. - fin.open(QIODevice::ReadOnly); + if(!fin.open(QIODevice::ReadOnly)) { + qDebug() << "[EncoderLame] Could not open input file" << input; + return false; + } // read RIFF header fin.read((char*)header, 12); diff --git a/rbutil/rbutilqt/base/talkgenerator.cpp b/rbutil/rbutilqt/base/talkgenerator.cpp index 427df0ed1d..4e78872240 100644 --- a/rbutil/rbutilqt/base/talkgenerator.cpp +++ b/rbutil/rbutilqt/base/talkgenerator.cpp @@ -286,8 +286,9 @@ void TalkGenerator::encProgress(int value) void TalkGenerator::encFailEntry(const TalkEntry& entry) { - emit logItem(tr("Encoding of %1 failed").arg(entry.wavfilename), LOGERROR); - abort(); + emit logItem(tr("Encoding of %1 failed").arg( + QFileInfo(entry.wavfilename).baseName()), LOGERROR); + abort(); } //! \brief slot, which is connected to the abort of the Logger. Sets a flag, so Creating Talkfiles ends at the next possible position diff --git a/rbutil/rbutilqt/base/ttssapi.cpp b/rbutil/rbutilqt/base/ttssapi.cpp index 4c18ceff2a..b5e6a69624 100644 --- a/rbutil/rbutilqt/base/ttssapi.cpp +++ b/rbutil/rbutilqt/base/ttssapi.cpp @@ -103,7 +103,7 @@ bool TTSSapi::start(QString *errStr) QFileInfo tts(m_TTSexec); if(!tts.exists()) { - *errStr = tr("Could not copy the Sapi-script"); + *errStr = tr("Could not copy the SAPI script"); return false; } // create the voice process @@ -117,14 +117,15 @@ bool TTSSapi::start(QString *errStr) if(m_sapi4) execstring.append(" /sapi4 "); - qDebug() << "init" << execstring; + qDebug() << "[TTSSapi] Start:" << execstring; voicescript = new QProcess(NULL); //connect(voicescript,SIGNAL(readyReadStandardError()),this,SLOT(error())); - voicescript->start(execstring); + qDebug() << "[TTSSapi] wait for process"; if(!voicescript->waitForStarted()) { - *errStr = tr("Could not start the Sapi-script"); + *errStr = tr("Could not start SAPI process"); + qDebug() << "[TTSSapi] starting process timed out!"; return false; } @@ -181,12 +182,14 @@ QStringList TTSSapi::getVoiceList(QString language) if(RbSettings::value(RbSettings::TtsUseSapi4).toBool()) execstring.append(" /sapi4 "); - qDebug() << "init" << execstring; + qDebug() << "[TTSSapi] Start:" << execstring; voicescript = new QProcess(NULL); voicescript->start(execstring); - qDebug() << "wait for started"; - if(!voicescript->waitForStarted()) + qDebug() << "[TTSSapi] wait for process"; + if(!voicescript->waitForStarted()) { + qDebug() << "[TTSSapi] process startup timed out!"; return result; + } voicescript->closeWriteChannel(); voicescript->waitForReadyRead(); -- cgit v1.2.3