Commit 28a03325 authored by Don Gagne's avatar Don Gagne

parent cf4fba04
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment