From 9db5c124af8eb7b950b64f0942262f549e661d4a Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Sun, 15 Jan 2012 12:24:54 +0100 Subject: Fix wavtrim on voicefile creation. Pass the threshold value for wavtrim to the TalkGenerator object instead of using the default value. Makes wavtrim to be actually used. Furthermore, check the result of the wavtrim call and respect its return value. --- rbutil/rbutilqt/base/talkgenerator.cpp | 13 ++++++++++--- rbutil/rbutilqt/base/voicefile.cpp | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/rbutil/rbutilqt/base/talkgenerator.cpp b/rbutil/rbutilqt/base/talkgenerator.cpp index 6dc0ceb..ecb39ca 100644 --- a/rbutil/rbutilqt/base/talkgenerator.cpp +++ b/rbutil/rbutilqt/base/talkgenerator.cpp @@ -145,7 +145,8 @@ TalkGenerator::Status TalkGenerator::voiceList(QList* list,int wavtri // voice entry QString error; - qDebug() << "[TalkGenerator] voicing: " << list->at(i).toSpeak << "to" << list->at(i).wavfilename; + qDebug() << "[TalkGenerator] voicing: " << list->at(i).toSpeak + << "to" << list->at(i).wavfilename; TTSStatus status = m_tts->voice(list->at(i).toSpeak,list->at(i).wavfilename, &error); if(status == Warning) { @@ -162,11 +163,17 @@ TalkGenerator::Status TalkGenerator::voiceList(QList* list,int wavtri else (*list)[i].voiced = true; - //wavetrim if needed + // wavtrim if needed if(wavtrimth != -1) { char buffer[255]; - wavtrim(list->at(i).wavfilename.toLocal8Bit().data(),wavtrimth,buffer,255); + if(wavtrim(list->at(i).wavfilename.toLocal8Bit().data(), + wavtrimth, buffer, 255)) + { + qDebug() << "[TalkGenerator] wavtrim returned error on" + << list->at(i).wavfilename; + return eERROR; + } } emit logProgress(++m_progress,progressMax); diff --git a/rbutil/rbutilqt/base/voicefile.cpp b/rbutil/rbutilqt/base/voicefile.cpp index ebabf9e..2cc9f18 100644 --- a/rbutil/rbutilqt/base/voicefile.cpp +++ b/rbutil/rbutilqt/base/voicefile.cpp @@ -187,7 +187,7 @@ void VoiceFileCreator::downloadDone(bool error) connect(&generator,SIGNAL(logProgress(int,int)),this,SIGNAL(logProgress(int,int))); connect(this,SIGNAL(aborted()),&generator,SLOT(abort())); - if(generator.process(&m_talkList) == TalkGenerator::eERROR) + if(generator.process(&m_talkList, m_wavtrimThreshold) == TalkGenerator::eERROR) { cleanup(); emit logProgress(0,1); -- cgit v1.1