From c680f663c09bc388590dabe9e1fce4bbff04d93d Mon Sep 17 00:00:00 2001 From: woro Date: Mon, 21 Apr 2008 08:08:00 +0000 Subject: fix image modes Black and TV git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@1202 e10066b5-e1e2-0310-b819-94efdf66514b --- HISTORY | 1 + mg_menu.c | 2 +- vdr_player.c | 38 +++++++++++++++++++++++--------------- vdr_player.h | 2 ++ 4 files changed, 27 insertions(+), 16 deletions(-) diff --git a/HISTORY b/HISTORY index 44b3b4a..670a5f6 100644 --- a/HISTORY +++ b/HISTORY @@ -360,3 +360,4 @@ XXXXXXXXXX: Version 0.0.8-ALPHA - when showing covers as bitmaps, honour the image show duration from setup - after changing into lyrics mode, the lyrics for the first song were not automatically loaded from the internet +- fix image modes TV and Black: They also showed the cover image diff --git a/mg_menu.c b/mg_menu.c index 1d496ae..d6ed7c3 100644 --- a/mg_menu.c +++ b/mg_menu.c @@ -360,7 +360,7 @@ eOSState mgOsd::ProcessKey (eKeys key) { case kPause: { mgPlayerControl *c = PlayerControl(); if (c) { - result=c->ProcessKey(key); + result=c->ProcessPlayerKey(key); goto pr_exit; } break; diff --git a/vdr_player.c b/vdr_player.c index fcb481d..abf3b09 100644 --- a/vdr_player.c +++ b/vdr_player.c @@ -381,7 +381,7 @@ mgPlayerControl::InitLayout(void) { else CoverWidth--; } - } else if (the_setup.ImgMode==imgCoverBig) { + } else { CoverWidth=0; CoverX = osdwidth; CoverX /=4; @@ -917,17 +917,7 @@ mgPlayerControl::ShowCommandMenu() { cmdOsd->Display(); } -eOSState mgPlayerControl::ProcessKey(eKeys Key) { - if (Key!=kNone) - flushtime=0; // react immediately - if (m_img_provider) { - if (m_img_provider->updateItem(CurrentItem())) { - // if the images are cached, we want them ASAP - m_current_image.clear(); - m_imageshowtime=0; - } - CheckImage(); - } +eOSState mgPlayerControl::ProcessPlayerKey(eKeys Key) { switch(Key) { case kFastRew: case kFastRew|k_Repeat: @@ -962,9 +952,25 @@ eOSState mgPlayerControl::ProcessKey(eKeys Key) { Stop(); return osEnd; default: - break; + return osUnknown; } - +} + +eOSState mgPlayerControl::ProcessKey(eKeys Key) { + if (Key!=kNone) + flushtime=0; // react immediately + if (m_img_provider) { + if (m_img_provider->updateItem(CurrentItem())) { + // if the images are cached, we want them ASAP + m_current_image.clear(); + m_imageshowtime=0; + } + CheckImage(); + } + eOSState result = ProcessPlayerKey(Key); + if (result!=osUnknown) + return result; + if (cmdOsd) { eOSState st=cmdOsd->ProcessKey(Key); if (st==osBack) { @@ -1436,7 +1442,9 @@ mgPlayerControl::CheckImage() { if ( !m_current_imagesource.empty() ) { TransferImageTFT( m_current_imagesource ); } - if ( !m_current_image.empty() ) + if (the_setup.ImgMode==imgCoverSmall + || the_setup.ImgMode==imgCoverBig) + if ( !m_current_image.empty() ) player->ShowMPGFile(m_current_image); m_imageshowtime=time(0); } diff --git a/vdr_player.h b/vdr_player.h index 735ef40..2208bfa 100644 --- a/vdr_player.h +++ b/vdr_player.h @@ -257,5 +257,7 @@ class mgPlayerControl:public cControl, cStatus //! \brief process key events eOSState ProcessKey (eKeys key); + eOSState ProcessPlayerKey(eKeys Key); + }; #endif //___VDR_PLAYER_H -- cgit v1.2.3