mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-31 01:11:12 +02:00
- audioplayer/screensaver: refresh screensaver picture when title was changed
Signed-off-by: Thilo Graf <dbt@novatux.de>
This commit is contained in:
@@ -2127,6 +2127,10 @@ void CAudioPlayerGui::play(unsigned int pos)
|
||||
m_time_total = m_playlist[m_current].MetaData.total_time;
|
||||
m_state = CAudioPlayerGui::PLAY;
|
||||
m_curr_audiofile = m_playlist[m_current];
|
||||
|
||||
if (m_screensaver && g_settings.audioplayer_cover_as_screensaver)
|
||||
CScreenSaver::getInstance()->forceRefresh();
|
||||
|
||||
// Play
|
||||
CAudioPlayer::getInstance()->play(&m_curr_audiofile, g_settings.audioplayer_highprio == 1);
|
||||
|
||||
|
@@ -60,6 +60,7 @@ CScreenSaver::CScreenSaver()
|
||||
clr.i_color = COL_DARK_GRAY;
|
||||
pip_channel_id = 0;
|
||||
idletime = time(NULL);
|
||||
force_refresh = false;
|
||||
}
|
||||
|
||||
CScreenSaver::~CScreenSaver()
|
||||
@@ -158,11 +159,20 @@ void* CScreenSaver::ScreenSaverPrg(void* arg)
|
||||
{
|
||||
PScreenSaver->ReadDir();
|
||||
PScreenSaver->paint();
|
||||
sleep(g_settings.screensaver_timeout);
|
||||
int t = g_settings.screensaver_timeout;
|
||||
while (t--)
|
||||
{
|
||||
sleep(1);
|
||||
if (PScreenSaver->force_refresh)
|
||||
{
|
||||
PScreenSaver->force_refresh = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
PScreenSaver->paint(); //just paint first found picture
|
||||
PScreenSaver->paint();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -41,6 +41,7 @@ class CScreenSaver : public sigc::trackable
|
||||
std::vector<std::string> v_bg_files;
|
||||
unsigned int index;
|
||||
t_channel_id pip_channel_id;
|
||||
bool force_refresh;
|
||||
bool status_mute;
|
||||
|
||||
bool ReadDir();
|
||||
@@ -77,6 +78,7 @@ class CScreenSaver : public sigc::trackable
|
||||
|
||||
void resetIdleTime() { idletime = time(NULL); }
|
||||
time_t getIdleTime() { return idletime; }
|
||||
void forceRefresh() { force_refresh = true; }
|
||||
};
|
||||
|
||||
#endif // __CSCREENSAVER_H__
|
||||
|
Reference in New Issue
Block a user