From 1266ca53ceca774d6445a8ed4de7338c1a692dfa Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 29 Jan 2020 23:07:49 +0100 Subject: [PATCH] [experimental, audio] try to avoid taskbar MIC flickering * sometimes the MIC icon in the windows task bar is flickering (on/off) * this workaround tries to avoid this --- src/blacksound/audioutilities.cpp | 9 +++++++++ src/blacksound/audioutilities.h | 2 ++ src/swiftguistandard/swiftguistdinit.cpp | 5 ++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/blacksound/audioutilities.cpp b/src/blacksound/audioutilities.cpp index 3973d9873..fcd930d78 100644 --- a/src/blacksound/audioutilities.cpp +++ b/src/blacksound/audioutilities.cpp @@ -8,10 +8,13 @@ #include "audioutilities.h" #include "blackmisc/audio/audiodeviceinfolist.h" +#include "blackconfig/buildconfig.h" + #include #include #include +using namespace BlackConfig; using namespace BlackMisc::Audio; namespace BlackSound @@ -245,4 +248,10 @@ namespace BlackSound return static_cast(normalize0to100(in)); } + void occupyAudioInputDevice() + { + if (!CBuildConfig::isRunningOnWindows10()) { return; } + static const QAudioInput input(QAudioDeviceInfo::defaultInputDevice()); + } + } // ns diff --git a/src/blacksound/audioutilities.h b/src/blacksound/audioutilities.h index 3a599af90..431b49e6f 100644 --- a/src/blacksound/audioutilities.h +++ b/src/blacksound/audioutilities.h @@ -41,6 +41,8 @@ namespace BlackSound BLACKSOUND_EXPORT qreal normalize0to100qr(double in); //! @} + //! Open a input device + BLACKSOUND_EXPORT void occupyAudioInputDevice(); } // ns #endif // guard diff --git a/src/swiftguistandard/swiftguistdinit.cpp b/src/swiftguistandard/swiftguistdinit.cpp index c38890988..5d69695f5 100644 --- a/src/swiftguistandard/swiftguistdinit.cpp +++ b/src/swiftguistandard/swiftguistdinit.cpp @@ -30,6 +30,7 @@ #include "blackcore/webdataservices.h" #include "blackcore/context/contextnetwork.h" #include "blackcore/context/contextsimulator.h" +#include "blacksound/audioutilities.h" #include "blackmisc/network/networkutils.h" #include "blackmisc/loghandler.h" #include "blackmisc/logmessage.h" @@ -72,9 +73,11 @@ void SwiftGuiStd::init() m_mwaStatusBar = &m_statusBar; m_mwaOverlayFrame = ui->fr_CentralFrameInside; m_mwaLogComponent = ui->comp_MainInfoArea->getLogComponent(); - sGui->initMainApplicationWidget(this); + // experimental: avoid mic flickering + if (CBuildConfig::isLocalDeveloperDebugBuild()) { BlackSound::occupyAudioInputDevice(); } + // log messages m_logSubscriber.changeSubscription(CLogPattern().withSeverityAtOrAbove(CStatusMessage::SeverityInfo));