From 2d277a2abd0125a9c98ba00768ef49f722706e7b Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Fri, 17 Jul 2015 11:28:25 -0700 Subject: [PATCH] Fix https://app.asana.com/0/30233891560551/41734486809354/f --- libraries/audio/src/AudioInjector.cpp | 4 ++++ libraries/audio/src/AudioInjector.h | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libraries/audio/src/AudioInjector.cpp b/libraries/audio/src/AudioInjector.cpp index f49d51bb8b..057836fb75 100644 --- a/libraries/audio/src/AudioInjector.cpp +++ b/libraries/audio/src/AudioInjector.cpp @@ -93,6 +93,7 @@ void AudioInjector::injectAudio() { } void AudioInjector::restart() { + _isPlaying = true; connect(this, &AudioInjector::finished, this, &AudioInjector::restartPortionAfterFinished); if (!_isStarted || _isFinished) { emit finished(); @@ -270,6 +271,7 @@ void AudioInjector::injectToMixer() { } setIsFinished(true); + _isPlaying = !_isFinished; // Which can be false if a restart was requested } void AudioInjector::stop() { @@ -277,6 +279,7 @@ void AudioInjector::stop() { if (_options.localOnly) { // we're only a local injector, so we can say we are finished right away too + _isPlaying = false; setIsFinished(true); } } @@ -334,6 +337,7 @@ AudioInjector* AudioInjector::playSound(const QByteArray& buffer, const AudioInj injectorThread->setObjectName("Audio Injector Thread"); AudioInjector* injector = new AudioInjector(buffer, options); + injector->_isPlaying = true; injector->setLocalAudioInterface(localInterface); injector->moveToThread(injectorThread); diff --git a/libraries/audio/src/AudioInjector.h b/libraries/audio/src/AudioInjector.h index 806a4ea33e..88d3f1e151 100644 --- a/libraries/audio/src/AudioInjector.h +++ b/libraries/audio/src/AudioInjector.h @@ -62,7 +62,7 @@ public slots: void setCurrentSendPosition(int currentSendPosition) { _currentSendPosition = currentSendPosition; } float getLoudness() const { return _loudness; } - bool isPlaying() const { return !_isFinished; } + bool isPlaying() const { return _isPlaying; } void restartPortionAfterFinished(); signals: @@ -78,6 +78,7 @@ private: AudioInjectorOptions _options; bool _shouldStop = false; float _loudness = 0.0f; + bool _isPlaying = false; bool _isStarted = false; bool _isFinished = false; bool _shouldDeleteAfterFinish = false;