mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-31 09:21:18 +02:00
MoviePlayer: Rework enable/disable of osd time, file time and mute icon
This commit is contained in:
@@ -83,6 +83,8 @@ extern CVolume* g_volume;
|
||||
|
||||
#define TIMESHIFT_SECONDS 3
|
||||
#define ISO_MOUNT_POINT "/media/iso"
|
||||
#define MUTE true
|
||||
#define NO_MUTE false
|
||||
|
||||
CMoviePlayerGui* CMoviePlayerGui::instance_mp = NULL;
|
||||
CMoviePlayerGui* CMoviePlayerGui::instance_bg = NULL;
|
||||
@@ -204,6 +206,8 @@ void CMoviePlayerGui::Init(void)
|
||||
blockedFromPlugin = false;
|
||||
m_screensaver = false;
|
||||
m_idletime = time(NULL);
|
||||
m_mode = CTimeOSD::MODE_HIDE;
|
||||
m_restore = false;
|
||||
}
|
||||
|
||||
void CMoviePlayerGui::cutNeutrino()
|
||||
@@ -458,10 +462,31 @@ void CMoviePlayerGui::ClearQueue()
|
||||
milist.clear();
|
||||
}
|
||||
|
||||
void CMoviePlayerGui::EnableClockAndMute(bool enable)
|
||||
|
||||
void CMoviePlayerGui::enableOsdElements(bool mute)
|
||||
{
|
||||
CAudioMute::getInstance()->enableMuteIcon(enable);
|
||||
CInfoClock::getInstance()->enableInfoClock(enable);
|
||||
if (mute)
|
||||
CAudioMute::getInstance()->enableMuteIcon(true);
|
||||
|
||||
CInfoClock::getInstance()->enableInfoClock(true);
|
||||
|
||||
if (m_restore) {
|
||||
FileTime.setMode(m_mode);
|
||||
FileTime.update(position, duration);
|
||||
}
|
||||
}
|
||||
|
||||
void CMoviePlayerGui::disableOsdElements(bool mute)
|
||||
{
|
||||
if (mute)
|
||||
CAudioMute::getInstance()->enableMuteIcon(false);
|
||||
|
||||
CInfoClock::getInstance()->enableInfoClock(false);
|
||||
|
||||
m_mode = FileTime.getMode();
|
||||
m_restore = FileTime.IsVisible();
|
||||
if (m_restore)
|
||||
FileTime.kill();
|
||||
}
|
||||
|
||||
void CMoviePlayerGui::makeFilename()
|
||||
@@ -565,7 +590,7 @@ bool CMoviePlayerGui::SelectFile()
|
||||
}
|
||||
#endif
|
||||
else if (isMovieBrowser) {
|
||||
EnableClockAndMute(false);
|
||||
disableOsdElements(MUTE);
|
||||
if (moviebrowser->exec(Path_local.c_str())) {
|
||||
Path_local = moviebrowser->getCurrentDir();
|
||||
CFile *file = NULL;
|
||||
@@ -585,9 +610,9 @@ bool CMoviePlayerGui::SelectFile()
|
||||
ret = prepareFile(&p_movie_info->file);
|
||||
} else
|
||||
menu_ret = moviebrowser->getMenuRet();
|
||||
EnableClockAndMute(true);
|
||||
enableOsdElements(MUTE);
|
||||
} else { // filebrowser
|
||||
EnableClockAndMute(false);
|
||||
disableOsdElements(MUTE);
|
||||
while (ret == false && filebrowser->exec(Path_local.c_str()) == true) {
|
||||
Path_local = filebrowser->getCurrentDir();
|
||||
CFile *file = NULL;
|
||||
@@ -609,7 +634,7 @@ bool CMoviePlayerGui::SelectFile()
|
||||
}
|
||||
}
|
||||
menu_ret = filebrowser->getMenuRet();
|
||||
EnableClockAndMute(true);
|
||||
enableOsdElements(MUTE);
|
||||
}
|
||||
g_settings.network_nfs_moviedir = Path_local;
|
||||
|
||||
@@ -1199,7 +1224,7 @@ bool CMoviePlayerGui::PlayFileStart(void)
|
||||
if (is_file_player)
|
||||
selectAutoLang();
|
||||
|
||||
EnableClockAndMute(true);
|
||||
enableOsdElements(MUTE);
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -1400,7 +1425,7 @@ void CMoviePlayerGui::PlayFileLoop(void)
|
||||
if (timeshift == TSHIFT_MODE_OFF)
|
||||
callInfoViewer();
|
||||
} else if (!filelist.empty()) {
|
||||
EnableClockAndMute(false);
|
||||
disableOsdElements(MUTE);
|
||||
CFileBrowser *playlist = new CFileBrowser();
|
||||
CFile *pfile = NULL;
|
||||
pfile = &(*filelist_it);
|
||||
@@ -1423,7 +1448,7 @@ void CMoviePlayerGui::PlayFileLoop(void)
|
||||
filelist_it = filelist.begin() + selected;
|
||||
}
|
||||
delete playlist;
|
||||
EnableClockAndMute(true);
|
||||
enableOsdElements(MUTE);
|
||||
}
|
||||
} else if (msg == (neutrino_msg_t) g_settings.mpkey_pause) {
|
||||
if (playstate == CMoviePlayerGui::PAUSE) {
|
||||
@@ -1524,14 +1549,12 @@ void CMoviePlayerGui::PlayFileLoop(void)
|
||||
SetPosition(1000 * (hh * 3600 + mm * 60 + ss), true);
|
||||
|
||||
} else if (msg == CRCInput::RC_help) {
|
||||
disableOsdElements(NO_MUTE);
|
||||
showHelp();
|
||||
enableOsdElements(NO_MUTE);
|
||||
} else if (msg == CRCInput::RC_info) {
|
||||
if (fromInfoviewer) {
|
||||
CTimeOSD::mode m_mode = FileTime.getMode();
|
||||
bool restore = FileTime.IsVisible();
|
||||
if (restore)
|
||||
FileTime.kill();
|
||||
CInfoClock::getInstance()->enableInfoClock(false);
|
||||
disableOsdElements(NO_MUTE);
|
||||
#ifdef ENABLE_LUA
|
||||
if (isLuaPlay && haveLuaInfoFunc) {
|
||||
int xres = 0, yres = 0, aspectRatio = 0, framerate = -1;
|
||||
@@ -1550,11 +1573,7 @@ void CMoviePlayerGui::PlayFileLoop(void)
|
||||
}
|
||||
#endif
|
||||
fromInfoviewer = false;
|
||||
CInfoClock::getInstance()->enableInfoClock(true);
|
||||
if (restore) {
|
||||
FileTime.setMode(m_mode);
|
||||
FileTime.update(position, duration);
|
||||
}
|
||||
enableOsdElements(NO_MUTE);
|
||||
}
|
||||
else
|
||||
callInfoViewer();
|
||||
@@ -2167,19 +2186,9 @@ void CMoviePlayerGui::handleMovieBrowser(neutrino_msg_t msg, int /*position*/)
|
||||
}
|
||||
}
|
||||
} else if (msg == NeutrinoMessages::SHOW_EPG && p_movie_info) {
|
||||
CTimeOSD::mode m_mode = FileTime.getMode();
|
||||
bool restore = FileTime.IsVisible();
|
||||
if (restore)
|
||||
FileTime.kill();
|
||||
CInfoClock::getInstance()->enableInfoClock(false);
|
||||
|
||||
disableOsdElements(NO_MUTE);
|
||||
g_EpgData->show_mp(p_movie_info, position, duration);
|
||||
|
||||
CInfoClock::getInstance()->enableInfoClock(true);
|
||||
if (restore) {
|
||||
FileTime.setMode(m_mode);
|
||||
FileTime.update(position, duration);
|
||||
}
|
||||
enableOsdElements(NO_MUTE);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
Reference in New Issue
Block a user