mpegplayer: make button timeout half the OSD update interval so that it updates the indicators properly when not holding a key. Add capability to show OSD without changing volume, seeking, etc. Enable this functionality on Gigabeat S using the back (<--)  button since it wasn't used in playback mode at all.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25872 a1c6a512-1295-4272-9138-f99709370657
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 8bd506d..c963287 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -173,6 +173,7 @@
 #define MPEG_RW2        BUTTON_PREV
 #define MPEG_FF         BUTTON_DOWN
 #define MPEG_FF2        BUTTON_NEXT
+#define MPEG_SHOW_OSD   BUTTON_BACK
 
 #define MPEG_RC_MENU    BUTTON_RC_DSP
 #define MPEG_RC_STOP    (BUTTON_RC_PLAY | BUTTON_REPEAT)
@@ -1551,7 +1552,7 @@
         int button;
 
         mpeg_menu_sysevent_clear();
-        button = rb->button_get_w_tmo(WVS_MIN_UPDATE_INTERVAL);
+        button = rb->button_get_w_tmo(WVS_MIN_UPDATE_INTERVAL/2);
 
         button = mpeg_menu_sysevent_callback(button, NULL);
 
@@ -1655,6 +1656,16 @@
             break;
             } /* MPEG_MENU: */
 
+#ifdef MPEG_SHOW_OSD
+        case MPEG_SHOW_OSD:
+        case MPEG_SHOW_OSD | BUTTON_REPEAT:
+            /* Show if not visible */
+            wvs_show(WVS_SHOW);
+            /* Make sure it refreshes */
+            wvs_refresh(WVS_REFRESH_DEFAULT);
+            break;
+#endif
+
         case MPEG_STOP:
 #ifdef MPEG_RC_STOP
         case MPEG_RC_STOP: