summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY1
-rw-r--r--mg_menu.c2
-rw-r--r--vdr_player.c38
-rw-r--r--vdr_player.h2
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