summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.qmake.conf2
-rw-r--r--qtspeech.pro1
-rw-r--r--src/doc/doc.pro10
-rw-r--r--src/doc/qtspeech.qdocconf4
-rw-r--r--src/plugins/tts/android/jar/jar.pro1
-rw-r--r--src/plugins/tts/common/common.pri3
-rw-r--r--src/plugins/tts/common/qtexttospeechprocessor.cpp18
-rw-r--r--src/plugins/tts/common/qtexttospeechprocessor_p.h8
-rw-r--r--src/plugins/tts/flite/flite.pro8
-rw-r--r--src/plugins/tts/flite/qtexttospeech_flite.h2
-rw-r--r--src/plugins/tts/flite/qtexttospeech_flite_plugin.h2
-rw-r--r--src/plugins/tts/flite/qtexttospeech_flite_processor.h2
-rw-r--r--src/plugins/tts/ios/ios.pro1
-rw-r--r--src/plugins/tts/ios/qtexttospeech_ios.mm11
-rw-r--r--src/plugins/tts/osx/qtexttospeech_osx.mm13
-rw-r--r--src/plugins/tts/speechdispatcher/qtexttospeech_speechd.cpp23
-rw-r--r--src/src.pro5
-rw-r--r--src/tts/qvoice.cpp4
-rw-r--r--tests/auto/texttospeech/BLACKLIST2
19 files changed, 63 insertions, 57 deletions
diff --git a/.qmake.conf b/.qmake.conf
index e0f2b95..312e14e 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -2,4 +2,4 @@ load(qt_build_config)
CONFIG += qt_example_installs
CONFIG += warning_clean
-MODULE_VERSION = 5.11.3
+MODULE_VERSION = 5.12.0
diff --git a/qtspeech.pro b/qtspeech.pro
index 57563dc..0ae27e2 100644
--- a/qtspeech.pro
+++ b/qtspeech.pro
@@ -1,4 +1,3 @@
-lessThan(QT_MAJOR_VERSION, 5): error("The QtSpeech library only supports Qt 5.")
load(configure)
qtCompileTest(flite)
qtCompileTest(flite_alsa)
diff --git a/src/doc/doc.pro b/src/doc/doc.pro
new file mode 100644
index 0000000..b6168b6
--- /dev/null
+++ b/src/doc/doc.pro
@@ -0,0 +1,10 @@
+TEMPLATE = aux
+
+CONFIG += force_qt
+QT += core-private
+
+QMAKE_DOCS = $$PWD/qtspeech.qdocconf
+
+OTHER_FILES += \
+ $$PWD/src/*.qdoc \
+ $$PWD/QtSpeechDoc
diff --git a/src/doc/qtspeech.qdocconf b/src/doc/qtspeech.qdocconf
index 4259272..b77de7e 100644
--- a/src/doc/qtspeech.qdocconf
+++ b/src/doc/qtspeech.qdocconf
@@ -14,9 +14,7 @@ exampledirs += \
moduleheader = QtSpeechDoc
-includepaths = -I . \
- -I $QT_INSTALL_HEADERS \
- -I $QT_INSTALL_HEADERS/QtCore
+includepaths = -I .
examplesinstallpath = speech
diff --git a/src/plugins/tts/android/jar/jar.pro b/src/plugins/tts/android/jar/jar.pro
index 27a9447..01cac5d 100644
--- a/src/plugins/tts/android/jar/jar.pro
+++ b/src/plugins/tts/android/jar/jar.pro
@@ -2,6 +2,7 @@ TARGET = QtTextToSpeech
load(qt_build_paths)
CONFIG += java
+API_VERSION = android-21
DESTDIR = $$MODULE_BASE_OUTDIR/jar
diff --git a/src/plugins/tts/common/common.pri b/src/plugins/tts/common/common.pri
new file mode 100644
index 0000000..44e506b
--- /dev/null
+++ b/src/plugins/tts/common/common.pri
@@ -0,0 +1,3 @@
+HEADERS += $$PWD/qtexttospeechprocessor_p.h
+SOURCES += $$PWD/qtexttospeechprocessor.cpp
+
diff --git a/src/plugins/tts/common/qtexttospeechprocessor.cpp b/src/plugins/tts/common/qtexttospeechprocessor.cpp
index 0a68c7d..5ce4756 100644
--- a/src/plugins/tts/common/qtexttospeechprocessor.cpp
+++ b/src/plugins/tts/common/qtexttospeechprocessor.cpp
@@ -46,9 +46,9 @@ QTextToSpeechProcessor::QTextToSpeechProcessor():
m_paused(false),
m_rate(0),
m_pitch(0),
- m_volume(100),
- m_audio(0),
- m_audioBuffer(0)
+ m_volume(1.0),
+ m_audio(nullptr),
+ m_audioBuffer(nullptr)
{
}
@@ -186,8 +186,8 @@ void QTextToSpeechProcessor::run()
if (isInterruptionRequested()) {
if (m_audio) {
delete m_audio;
- m_audio = 0;
- m_audioBuffer = 0;
+ m_audio = nullptr;
+ m_audioBuffer = nullptr;
}
m_lock.unlock();
break;
@@ -227,8 +227,8 @@ bool QTextToSpeechProcessor::audioStart(int sampleRate, int channelCount, QStrin
*errorString = QLatin1String("Failed to start audio output (error ")
+ QString::number(m_audio->error()) + QLatin1Char(')');
delete m_audio;
- m_audio = 0;
- m_audioBuffer = 0;
+ m_audio = nullptr;
+ m_audioBuffer = nullptr;
return false;
}
@@ -282,8 +282,8 @@ void QTextToSpeechProcessor::audioStop(bool abort)
m_audio->stop();
}
delete m_audio;
- m_audio = 0;
- m_audioBuffer = 0;
+ m_audio = nullptr;
+ m_audioBuffer = nullptr;
}
}
diff --git a/src/plugins/tts/common/qtexttospeechprocessor_p.h b/src/plugins/tts/common/qtexttospeechprocessor_p.h
index 5ad80d3..67b850e 100644
--- a/src/plugins/tts/common/qtexttospeechprocessor_p.h
+++ b/src/plugins/tts/common/qtexttospeechprocessor_p.h
@@ -66,7 +66,7 @@ public:
QVoice::Age age;
};
QTextToSpeechProcessor();
- ~QTextToSpeechProcessor();
+ ~QTextToSpeechProcessor() override;
void say(const QString &text, int voiceId);
void stop();
void pause();
@@ -89,8 +89,8 @@ protected:
// These methods can be used for audio output.
// audioOutput() blocks until all the audio has been written or processing
// is interrupted.
- bool audioStart(int sampleRate, int channelCount, QString *errorString = 0);
- bool audioOutput(const char* data, qint64 dataSize, QString *errorString = 0);
+ bool audioStart(int sampleRate, int channelCount, QString *errorString = nullptr);
+ bool audioOutput(const char* data, qint64 dataSize, QString *errorString = nullptr);
void audioStop(bool abort = false);
// These methods should be re-implemented if the parameters need
@@ -119,7 +119,7 @@ private:
volatile bool m_paused;
double m_rate;
double m_pitch;
- int m_volume;
+ double m_volume;
QSemaphore m_speakSem;
QString m_nextText;
int m_nextVoice;
diff --git a/src/plugins/tts/flite/flite.pro b/src/plugins/tts/flite/flite.pro
index b1fe08b..3a5af39 100644
--- a/src/plugins/tts/flite/flite.pro
+++ b/src/plugins/tts/flite/flite.pro
@@ -5,17 +5,17 @@ PLUGIN_TYPE = texttospeech
PLUGIN_CLASS_NAME = QTextToSpeechEngineFlite
load(qt_plugin)
+include(../common/common.pri)
+
HEADERS += \
qtexttospeech_flite.h \
qtexttospeech_flite_plugin.h \
- qtexttospeech_flite_processor.h \
- ../common/qtexttospeechprocessor_p.h
+ qtexttospeech_flite_processor.h
SOURCES += \
qtexttospeech_flite.cpp \
qtexttospeech_flite_plugin.cpp \
- qtexttospeech_flite_processor.cpp \
- ../common/qtexttospeechprocessor.cpp
+ qtexttospeech_flite_processor.cpp
OTHER_FILES += \
flite_plugin.json
diff --git a/src/plugins/tts/flite/qtexttospeech_flite.h b/src/plugins/tts/flite/qtexttospeech_flite.h
index dc5dd02..cab71d5 100644
--- a/src/plugins/tts/flite/qtexttospeech_flite.h
+++ b/src/plugins/tts/flite/qtexttospeech_flite.h
@@ -56,7 +56,7 @@ class QTextToSpeechEngineFlite : public QTextToSpeechEngine
public:
QTextToSpeechEngineFlite(const QVariantMap &parameters, QObject *parent);
- virtual ~QTextToSpeechEngineFlite();
+ ~QTextToSpeechEngineFlite() override;
// Plug-in API:
QVector<QLocale> availableLocales() const override;
diff --git a/src/plugins/tts/flite/qtexttospeech_flite_plugin.h b/src/plugins/tts/flite/qtexttospeech_flite_plugin.h
index fe9ed64..6873858 100644
--- a/src/plugins/tts/flite/qtexttospeech_flite_plugin.h
+++ b/src/plugins/tts/flite/qtexttospeech_flite_plugin.h
@@ -58,7 +58,7 @@ public:
QTextToSpeechEngine *createTextToSpeechEngine(
const QVariantMap &parameters,
QObject *parent,
- QString *errorString) const;
+ QString *errorString) const override;
};
QT_END_NAMESPACE
diff --git a/src/plugins/tts/flite/qtexttospeech_flite_processor.h b/src/plugins/tts/flite/qtexttospeech_flite_processor.h
index 710db0c..0288cd9 100644
--- a/src/plugins/tts/flite/qtexttospeech_flite_processor.h
+++ b/src/plugins/tts/flite/qtexttospeech_flite_processor.h
@@ -58,7 +58,7 @@ class QTextToSpeechProcessorFlite : public QTextToSpeechProcessor {
public:
static QSharedPointer<QTextToSpeechProcessorFlite> instance();
- ~QTextToSpeechProcessorFlite();
+ ~QTextToSpeechProcessorFlite() override;
const QVector<VoiceInfo> &voices() const override;
private:
diff --git a/src/plugins/tts/ios/ios.pro b/src/plugins/tts/ios/ios.pro
index 5500162..6f04e55 100644
--- a/src/plugins/tts/ios/ios.pro
+++ b/src/plugins/tts/ios/ios.pro
@@ -9,7 +9,6 @@ LIBS += -framework Foundation -framework AVFoundation
HEADERS += \
qtexttospeech_ios_plugin.h \
- qtexttospeech_ios.h \
OBJECTIVE_HEADERS += \
qtexttospeech_ios.h \
diff --git a/src/plugins/tts/ios/qtexttospeech_ios.mm b/src/plugins/tts/ios/qtexttospeech_ios.mm
index ca885a5..6da3ff3 100644
--- a/src/plugins/tts/ios/qtexttospeech_ios.mm
+++ b/src/plugins/tts/ios/qtexttospeech_ios.mm
@@ -38,16 +38,17 @@
#include "qtexttospeech_ios.h"
-@interface QIOSSpeechSynthesizerDelegate : NSObject <AVSpeechSynthesizerDelegate> {
- QTextToSpeechEngineIos *_engine;
-}
+@interface QIOSSpeechSynthesizerDelegate : NSObject <AVSpeechSynthesizerDelegate>
@end
@implementation QIOSSpeechSynthesizerDelegate
+{
+ QTextToSpeechEngineIos *_engine;
+}
-- (id)initWithQIOSTextToSpeechEngineIos:(QTextToSpeechEngineIos *)engine
+- (instancetype)initWithQIOSTextToSpeechEngineIos:(QTextToSpeechEngineIos *)engine
{
- if (self = [super init]) {
+ if ((self = [self init])) {
_engine = engine;
}
return self;
diff --git a/src/plugins/tts/osx/qtexttospeech_osx.mm b/src/plugins/tts/osx/qtexttospeech_osx.mm
index f2251a2..fe6a260 100644
--- a/src/plugins/tts/osx/qtexttospeech_osx.mm
+++ b/src/plugins/tts/osx/qtexttospeech_osx.mm
@@ -39,15 +39,18 @@
#include <qdebug.h>
@interface QT_MANGLE_NAMESPACE(StateDelegate) : NSObject <NSSpeechSynthesizerDelegate>
+@end
+
+@implementation QT_MANGLE_NAMESPACE(StateDelegate)
{
QT_PREPEND_NAMESPACE(QTextToSpeechEngineOsx) *speechPrivate;
}
-@end
-@implementation QT_MANGLE_NAMESPACE(StateDelegate)
-- (id)initWithSpeechPrivate:(QTextToSpeechEngineOsx *) priv {
- self = [super init];
- speechPrivate = priv;
+- (instancetype)initWithSpeechPrivate:(QTextToSpeechEngineOsx *) priv
+{
+ if ((self = [self init])) {
+ speechPrivate = priv;
+ }
return self;
}
- (void)speechSynthesizer:(NSSpeechSynthesizer *)sender didFinishSpeaking:(BOOL)success {
diff --git a/src/plugins/tts/speechdispatcher/qtexttospeech_speechd.cpp b/src/plugins/tts/speechdispatcher/qtexttospeech_speechd.cpp
index 4210e43..5fd3bc2 100644
--- a/src/plugins/tts/speechdispatcher/qtexttospeech_speechd.cpp
+++ b/src/plugins/tts/speechdispatcher/qtexttospeech_speechd.cpp
@@ -64,7 +64,7 @@ QLocale QTextToSpeechEngineSpeechd::localeForVoice(SPDVoice *voice) const
}
QTextToSpeechEngineSpeechd::QTextToSpeechEngineSpeechd(const QVariantMap &, QObject *)
- : speechDispatcher(0)
+ : speechDispatcher(nullptr)
{
backends->append(this);
connectToSpeechDispatcher();
@@ -85,7 +85,7 @@ bool QTextToSpeechEngineSpeechd::connectToSpeechDispatcher()
if (speechDispatcher)
return true;
- speechDispatcher = spd_open("QTextToSpeech", "main", 0, SPD_MODE_THREADED);
+ speechDispatcher = spd_open("QTextToSpeech", "main", nullptr, SPD_MODE_THREADED);
if (speechDispatcher) {
speechDispatcher->callback_begin = speech_finished_callback;
spd_set_notification_on(speechDispatcher, SPD_BEGIN);
@@ -118,11 +118,10 @@ bool QTextToSpeechEngineSpeechd::connectToSpeechDispatcher()
m_currentLocale = QLocale::system();
updateVoices();
return true;
- } else {
- qWarning() << "Connection to speech-dispatcher failed";
- m_state = QTextToSpeech::BackendError;
- return false;
}
+
+ qWarning() << "Connection to speech-dispatcher failed";
+ m_state = QTextToSpeech::BackendError;
return false;
}
@@ -212,9 +211,7 @@ bool QTextToSpeechEngineSpeechd::setRate(double rate)
return false;
int result = spd_set_voice_rate(speechDispatcher, static_cast<int>(rate * 100));
- if (result == 0)
- return true;
- return false;
+ return result == 0;
}
double QTextToSpeechEngineSpeechd::rate() const
@@ -236,9 +233,7 @@ bool QTextToSpeechEngineSpeechd::setVolume(double volume)
// convert from 0.0..1.0 to -100..100
int result = spd_set_volume(speechDispatcher, (volume - 0.5) * 200);
- if (result == 0)
- return true;
- return false;
+ return result == 0;
}
double QTextToSpeechEngineSpeechd::volume() const
@@ -317,12 +312,12 @@ void QTextToSpeechEngineSpeechd::updateVoices()
#endif
QVoice originalVoice;
char **module = modules;
- while (module != NULL && module[0] != NULL) {
+ while (module != nullptr && module[0] != nullptr) {
spd_set_output_module(speechDispatcher, module[0]);
SPDVoice **voices = spd_list_synthesis_voices(speechDispatcher);
int i = 0;
- while (voices != NULL && voices[i] != NULL) {
+ while (voices != nullptr && voices[i] != nullptr) {
QLocale locale = localeForVoice(voices[i]);
if (!m_locales.contains(locale))
m_locales.append(locale);
diff --git a/src/src.pro b/src/src.pro
index f79ef8e..16ec641 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -1,8 +1,5 @@
TEMPLATE = subdirs
-QMAKE_DOCS = $$PWD/doc/qtspeech.qdocconf
-load(qt_docs)
-
-SUBDIRS = tts plugins
+SUBDIRS = tts plugins doc
plugins.depends = tts
diff --git a/src/tts/qvoice.cpp b/src/tts/qvoice.cpp
index 2c19aff..5eb2984 100644
--- a/src/tts/qvoice.cpp
+++ b/src/tts/qvoice.cpp
@@ -98,7 +98,7 @@ void QVoice::operator=(const QVoice &other)
}
/*!
- Compares the \l name, \l gender, and \l age of this voice with \l other.
+ Compares the \l name, \l gender, and \l age of this voice with \a other.
Returns \c true if all of them match.
*/
bool QVoice::operator==(const QVoice &other)
@@ -112,7 +112,7 @@ bool QVoice::operator==(const QVoice &other)
}
/*!
- Compares the \l name, \l gender, and \l age of this voice with \l other.
+ Compares the \l name, \l gender, and \l age of this voice with \a other.
Returns \c true if they are not identical.
*/
bool QVoice::operator!=(const QVoice &other)
diff --git a/tests/auto/texttospeech/BLACKLIST b/tests/auto/texttospeech/BLACKLIST
index 9515c1b..fb184bc 100644
--- a/tests/auto/texttospeech/BLACKLIST
+++ b/tests/auto/texttospeech/BLACKLIST
@@ -11,4 +11,4 @@ b2qt
redhatenterpriselinuxworkstation-6.6
ubuntu-16.04
opensuse-42.3
-
+opensuse-15.0