From d45ca5be2bae6204de74c1d5170e317d7f86472f Mon Sep 17 00:00:00 2001 From: vanhofen Date: Tue, 16 Feb 2021 00:52:39 +0100 Subject: [PATCH] neutrino: fix blank screen in radio mode; avoid screensaver in blank screen mode Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/9628af9b69a4e0c3c214300c37a62adab9170d80 Author: vanhofen Date: 2021-02-16 (Tue, 16 Feb 2021) Origin message was: ------------------ - neutrino: fix blank screen in radio mode; avoid screensaver in blank screen mode ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/neutrino.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/neutrino.cpp b/src/neutrino.cpp index f44827051..f2ca6e9f9 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -3214,7 +3214,7 @@ void CNeutrinoApp::RealRun() { if (msg == CRCInput::RC_timeout || msg == NeutrinoMessages::EVT_TIMER) { - if (CScreenSaver::getInstance()->canStart() && !CScreenSaver::getInstance()->isActive()) + if (!blank_screen && CScreenSaver::getInstance()->canStart() && !CScreenSaver::getInstance()->isActive()) { CScreenSaver::getInstance()->Start(); } @@ -3245,11 +3245,15 @@ void CNeutrinoApp::RealRun() if (!videoDecoder->getBlank()) { INFO("blank_screen auto off"); blank_screen = false; + if (mode == NeutrinoModes::mode_radio || mode == NeutrinoModes::mode_webradio) + frameBuffer->showFrame("radiomode.jpg"); } else if (msg <= CRCInput::RC_MaxRC) { INFO("blank_screen manual off"); blank_screen = false; videoDecoder->setBlank(blank_screen); + if (mode == NeutrinoModes::mode_radio || mode == NeutrinoModes::mode_webradio) + frameBuffer->showFrame("radiomode.jpg"); //eat key - just leave blank screen g_RCInput->clearRCMsg(); continue; @@ -5278,6 +5282,15 @@ int CNeutrinoApp::exec(CMenuTarget* parent, const std::string & actionKey) else if (actionKey == "blank_screen") { INFO("blank_screen on"); blank_screen = true; + frameBuffer->paintBackground(); //clear entire screen +#if HAVE_ARM_HARDWARE + /* + Hack to get sure we have a blank screen. + stopFrame()-function seems not work correctly on ARM_HARDWARE + */ + frameBuffer->showFrame("blackscreen.jpg"); +#endif + frameBuffer->stopFrame(); videoDecoder->setBlank(blank_screen); returnval = menu_return::RETURN_EXIT_ALL; }