// Now check with the player if action can be handled.
if (g_windowManager.GetActiveWindow() == WINDOW_FULLSCREEN_VIDEO ||
- (g_windowManager.GetActiveWindow() == WINDOW_DIALOG_VIDEO_OSD && (action.GetID() == ACTION_NEXT_ITEM || action.GetID() == ACTION_PREV_ITEM || action.GetID() == ACTION_CHANNEL_UP || action.GetID() == ACTION_CHANNEL_DOWN)))
+ (g_windowManager.GetActiveWindow() == WINDOW_DIALOG_VIDEO_OSD && (action.GetID() == ACTION_NEXT_ITEM || action.GetID() == ACTION_PREV_ITEM || action.GetID() == ACTION_CHANNEL_UP || action.GetID() == ACTION_CHANNEL_DOWN)) ||
+ action.GetID() == ACTION_STOP)
{
if (m_pPlayer->OnAction(action))
return true;
CApplicationMessenger::Get().Cleanup();
+ CLog::Log(LOGNOTICE, "stop player");
+ m_pPlayer->ClosePlayer();
+
StopPVRManager();
StopServices();
//Sleep(5000);
- CLog::Log(LOGNOTICE, "stop player");
- m_pPlayer->ClosePlayer();
-
#if HAS_FILESYTEM_DAAP
CLog::Log(LOGNOTICE, "stop daap clients");
g_DaapClient.Release();
m_iScreenSaveLock = 0;
ResetScreenSaverTimer();
- if (m_screenSaver->ID() == "screensaver.xbmc.builtin.dim" || m_screenSaver->ID() == "screensaver.xbmc.builtin.black" || m_screenSaver->ID().empty())
+ if (m_screenSaver->ID() == "visualization")
+ {
+ // we can just continue as usual from vis mode
+ return false;
+ }
+ else if (m_screenSaver->ID() == "screensaver.xbmc.builtin.dim" || m_screenSaver->ID() == "screensaver.xbmc.builtin.black" || m_screenSaver->ID().empty())
return true;
else if (!m_screenSaver->ID().empty())
{ // we're in screensaver window
- if (g_windowManager.GetActiveWindow() == WINDOW_SCREENSAVER
- || g_windowManager.GetActiveWindow() == WINDOW_VISUALISATION)
+ if (g_windowManager.GetActiveWindow() == WINDOW_SCREENSAVER)
g_windowManager.PreviousWindow(); // show the previous window
-
if (g_windowManager.GetActiveWindow() == WINDOW_SLIDESHOW)
CApplicationMessenger::Get().SendAction(CAction(ACTION_STOP), WINDOW_SLIDESHOW);
}
// the type of screensaver displayed
void CApplication::ActivateScreenSaver(bool forceType /*= false */)
{
+ if (m_pPlayer->IsPlayingAudio() && CSettings::Get().GetBool("screensaver.usemusicvisinstead") && !CSettings::Get().GetString("musicplayer.visualisation").empty())
+ { // just activate the visualisation if user toggled the usemusicvisinstead option
+ g_windowManager.ActivateWindow(WINDOW_VISUALISATION);
+ return;
+ }
+
m_bScreenSave = true;
// Get Screensaver Mode
if (!CAddonMgr::Get().GetAddon("screensaver.xbmc.builtin.dim", m_screenSaver))
m_screenSaver.reset(new CScreenSaver(""));
}
- // Check if we are Playing Audio and Vis instead Screensaver!
- else if (m_pPlayer->IsPlayingAudio() && CSettings::Get().GetBool("screensaver.usemusicvisinstead") && !CSettings::Get().GetString("musicplayer.visualisation").empty())
- { // activate the visualisation
- m_screenSaver.reset(new CScreenSaver("visualization"));
- // prevent music info popup if vis is already running
- if (g_windowManager.GetActiveWindow() != WINDOW_VISUALISATION)
- g_windowManager.ActivateWindow(WINDOW_VISUALISATION);
- return;
- }
}
if (m_screenSaver->ID() == "screensaver.xbmc.builtin.dim" || m_screenSaver->ID().empty())
return;
CAddonInstaller::Get().UpdateRepos();
CAEFactory::GarbageCollect();
+
}
// Global Idle Time in Seconds