Skip to content
Snippets Groups Projects
Commit 28a03325 authored by Don Gagne's avatar Don Gagne
Browse files

No speech during unit tests
parent cf4fba04
No related branches found
No related tags found
No related merge requests found
......@@ -17,9 +17,17 @@
#include "SettingsManager.h"
AudioOutput::AudioOutput(QGCApplication* app, QGCToolbox* toolbox)
: QGCTool(app, toolbox)
, _tts(new QTextToSpeech(this))
: QGCTool (app, toolbox)
, _tts (nullptr)
{
if (qgcApp()->runningUnitTests()) {
// Cloud based unit tests don't have speech capabilty. If you try to crank up
// speech engine it will pop a qWarning which prevents usage of QT_FATAL_WARNINGS
return;
}
_tts = new QTextToSpeech(this);
//-- Force TTS engine to English as all incoming messages from the autopilot
// are in English and not localized.
#ifdef Q_OS_LINUX
......@@ -28,8 +36,13 @@ AudioOutput::AudioOutput(QGCApplication* app, QGCToolbox* toolbox)
connect(_tts, &QTextToSpeech::stateChanged, this, &AudioOutput::_stateChanged);
}
bool AudioOutput::say(const QString& inText)
void AudioOutput::say(const QString& inText)
{
if (!_tts) {
qDebug() << "say" << inText;
return;
}
bool muted = qgcApp()->toolbox()->settingsManager()->appSettings()->audioMuted()->rawValue().toBool();
muted |= qgcApp()->runningUnitTests();
if (!muted && !qgcApp()->runningUnitTests()) {
......@@ -46,7 +59,6 @@ bool AudioOutput::say(const QString& inText)
_tts->say(text);
}
}
return true;
}
void AudioOutput::_stateChanged(QTextToSpeech::State state)
......
......@@ -29,7 +29,7 @@ public:
static QString fixTextMessageForAudio (const QString& string);
public slots:
bool say (const QString& text);
void say (const QString& text);
private slots:
void _stateChanged (QTextToSpeech::State state);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment