From ddb040eaf7a40d9afb09db6eba45bb36c16f6186 Mon Sep 17 00:00:00 2001 From: Wayne Chen Date: Thu, 18 Apr 2019 07:48:59 -0700 Subject: [PATCH 1/3] adding settingsLoaded bool check --- interface/src/scripting/Audio.cpp | 5 +++-- interface/src/scripting/Audio.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/interface/src/scripting/Audio.cpp b/interface/src/scripting/Audio.cpp index caae946116..0a29152c7c 100644 --- a/interface/src/scripting/Audio.cpp +++ b/interface/src/scripting/Audio.cpp @@ -174,7 +174,7 @@ void Audio::setPTTDesktop(bool enabled) { _pttDesktop = enabled; } }); - if (!enabled) { + if (!enabled && _settingsLoaded) { // Set to default behavior (unmuted for Desktop) on Push-To-Talk disable. setMutedDesktop(true); } else { @@ -202,7 +202,7 @@ void Audio::setPTTHMD(bool enabled) { _pttHMD = enabled; } }); - if (!enabled) { + if (!enabled && _settingsLoaded) { // Set to default behavior (unmuted for HMD) on Push-To-Talk disable. setMutedHMD(false); } else { @@ -231,6 +231,7 @@ void Audio::loadData() { auto client = DependencyManager::get().data(); QMetaObject::invokeMethod(client, "setMuted", Q_ARG(bool, isMuted()), Q_ARG(bool, false)); + _settingsLoaded = true; } bool Audio::getPTTHMD() const { diff --git a/interface/src/scripting/Audio.h b/interface/src/scripting/Audio.h index 00da566b30..f7116ced3a 100644 --- a/interface/src/scripting/Audio.h +++ b/interface/src/scripting/Audio.h @@ -409,6 +409,7 @@ protected: private: + bool _settingsLoaded { false }; float _inputVolume { 1.0f }; float _inputLevel { 0.0f }; float _localInjectorGain { 0.0f }; // in dB From 3bb8da3f290bf860a4a088a4125dad757e82efd0 Mon Sep 17 00:00:00 2001 From: Wayne Chen Date: Thu, 18 Apr 2019 14:46:08 -0700 Subject: [PATCH 2/3] real fix --- interface/src/scripting/Audio.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/interface/src/scripting/Audio.cpp b/interface/src/scripting/Audio.cpp index 0a29152c7c..ce340f2665 100644 --- a/interface/src/scripting/Audio.cpp +++ b/interface/src/scripting/Audio.cpp @@ -174,9 +174,11 @@ void Audio::setPTTDesktop(bool enabled) { _pttDesktop = enabled; } }); - if (!enabled && _settingsLoaded) { - // Set to default behavior (unmuted for Desktop) on Push-To-Talk disable. - setMutedDesktop(true); + if (!enabled) { + if (_settingsLoaded) { + // Set to default behavior (unmuted for Desktop) on Push-To-Talk disable. + setMutedDesktop(true); + } } else { // Should be muted when not pushing to talk while PTT is enabled. setMutedDesktop(true); @@ -202,9 +204,11 @@ void Audio::setPTTHMD(bool enabled) { _pttHMD = enabled; } }); - if (!enabled && _settingsLoaded) { - // Set to default behavior (unmuted for HMD) on Push-To-Talk disable. - setMutedHMD(false); + if (!enabled) { + if (_settingsLoaded) { + // Set to default behavior (unmuted for HMD) on Push-To-Talk disable. + setMutedHMD(false); + } } else { // Should be muted when not pushing to talk while PTT is enabled. setMutedHMD(true); @@ -358,11 +362,6 @@ void Audio::onContextChanged() { changed = true; } }); - if (isHMD) { - setMuted(getMutedHMD()); - } else { - setMuted(getMutedDesktop()); - } if (changed) { emit contextChanged(isHMD ? Audio::HMD : Audio::DESKTOP); } From 474041d5d1524d45c9e79cf6b2f7b32a9f03391d Mon Sep 17 00:00:00 2001 From: Wayne Chen Date: Thu, 18 Apr 2019 21:00:15 -0700 Subject: [PATCH 3/3] simplify PTT logic --- interface/src/scripting/Audio.cpp | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/interface/src/scripting/Audio.cpp b/interface/src/scripting/Audio.cpp index ce340f2665..bceafc3c42 100644 --- a/interface/src/scripting/Audio.cpp +++ b/interface/src/scripting/Audio.cpp @@ -174,16 +174,10 @@ void Audio::setPTTDesktop(bool enabled) { _pttDesktop = enabled; } }); - if (!enabled) { - if (_settingsLoaded) { - // Set to default behavior (unmuted for Desktop) on Push-To-Talk disable. - setMutedDesktop(true); - } - } else { - // Should be muted when not pushing to talk while PTT is enabled. + if (enabled || _settingsLoaded) { + // Set to default behavior (muted for Desktop) on Push-To-Talk disable or when enabled. Settings also need to be loaded. setMutedDesktop(true); } - if (changed) { emit pushToTalkChanged(enabled); emit pushToTalkDesktopChanged(enabled); @@ -204,14 +198,9 @@ void Audio::setPTTHMD(bool enabled) { _pttHMD = enabled; } }); - if (!enabled) { - if (_settingsLoaded) { - // Set to default behavior (unmuted for HMD) on Push-To-Talk disable. - setMutedHMD(false); - } - } else { - // Should be muted when not pushing to talk while PTT is enabled. - setMutedHMD(true); + if (enabled || _settingsLoaded) { + // Set to default behavior (unmuted for HMD) on Push-To-Talk disable or muted for when PTT is enabled. + setMutedHMD(enabled); } if (changed) {