diff options
-rw-r--r-- | .qmake.conf | 2 | ||||
-rw-r--r-- | qtspeech.pro | 1 | ||||
-rw-r--r-- | src/doc/doc.pro | 10 | ||||
-rw-r--r-- | src/doc/qtspeech.qdocconf | 4 | ||||
-rw-r--r-- | src/plugins/tts/android/jar/jar.pro | 1 | ||||
-rw-r--r-- | src/plugins/tts/common/common.pri | 3 | ||||
-rw-r--r-- | src/plugins/tts/common/qtexttospeechprocessor.cpp | 18 | ||||
-rw-r--r-- | src/plugins/tts/common/qtexttospeechprocessor_p.h | 8 | ||||
-rw-r--r-- | src/plugins/tts/flite/flite.pro | 8 | ||||
-rw-r--r-- | src/plugins/tts/flite/qtexttospeech_flite.h | 2 | ||||
-rw-r--r-- | src/plugins/tts/flite/qtexttospeech_flite_plugin.h | 2 | ||||
-rw-r--r-- | src/plugins/tts/flite/qtexttospeech_flite_processor.h | 2 | ||||
-rw-r--r-- | src/plugins/tts/ios/ios.pro | 1 | ||||
-rw-r--r-- | src/plugins/tts/ios/qtexttospeech_ios.mm | 11 | ||||
-rw-r--r-- | src/plugins/tts/osx/qtexttospeech_osx.mm | 13 | ||||
-rw-r--r-- | src/plugins/tts/speechdispatcher/qtexttospeech_speechd.cpp | 23 | ||||
-rw-r--r-- | src/src.pro | 5 | ||||
-rw-r--r-- | src/tts/qvoice.cpp | 4 | ||||
-rw-r--r-- | tests/auto/texttospeech/BLACKLIST | 2 |
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 ¶meters, 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 ¶meters, 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 |