From 0e3cb118631a83ce3f811bd0b0edca719be2d018 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 4 Dec 2013 16:58:21 -0800 Subject: [PATCH] use invokeMethod for Audio reset --- interface/src/Application.cpp | 8 ++++++-- interface/src/Audio.h | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index c09a1f704c..7e098085e8 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -4023,14 +4023,18 @@ void Application::resetSensors() { _webcam.reset(); _faceshift.reset(); LeapManager::reset(); - OculusManager::reset(); + + if (OculusManager::isConnected()) { + OculusManager::reset(); + } + QCursor::setPos(_headMouseX, _headMouseY); _myAvatar.reset(); _myTransmitter.resetLevels(); _myAvatar.setVelocity(glm::vec3(0,0,0)); _myAvatar.setThrust(glm::vec3(0,0,0)); - _audio.reset(); + QMetaObject::invokeMethod(&_audio, "reset", Qt::QueuedConnection); } static void setShortcutsEnabled(QWidget* widget, bool enabled) { diff --git a/interface/src/Audio.h b/interface/src/Audio.h index 933a4d0206..41b6c21f8f 100644 --- a/interface/src/Audio.h +++ b/interface/src/Audio.h @@ -39,8 +39,7 @@ class Audio : public QObject { public: // setup for audio I/O Audio(int16_t initialJitterBufferSamples, QObject* parent = 0); - - void reset(); + void render(int screenWidth, int screenHeight); void addReceivedAudioToBuffer(unsigned char* receivedData, int receivedBytes); @@ -67,6 +66,7 @@ public: public slots: void start(); void handleAudioInput(); + void reset(); private: QAudioInput* _audioInput;