changeset 17021:ded1cc937221

Make the osd command only switch between enabled/disabled when using the term osd. Also put a define to test for the term osd without #ifdef.
author albeu
date Sun, 20 Nov 2005 23:44:46 +0000
parents dde990d47ce8
children 2627a9e6570c
files mplayer.c
diffstat 1 files changed, 14 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/mplayer.c	Sat Nov 19 14:35:45 2005 +0000
+++ b/mplayer.c	Sun Nov 20 23:44:46 2005 +0000
@@ -225,6 +225,7 @@
 #endif
 
 #define MAX_OSD_LEVEL 3
+#define MAX_TERM_OSD_LEVEL 1
 
 int osd_level=1;
 int osd_level_saved=-1;
@@ -1150,6 +1151,14 @@
     return NULL;
 }
 
+// Make a define to test if we are using the term osd without having
+// to #ifdef USE_OSD all the time.
+#ifdef USE_OSD
+#define use_term_osd (term_osd && !sh_video)
+#else
+#define use_term_osd (term_osd)
+#endif
+
 /**
  * \brief Display the OSD bar.
  *
@@ -2966,11 +2975,7 @@
         // small hack to display the pause message in the osd line
         // The pause string is: "\n == PAUSE == \r" so we need to
         // take the first and the last char out
-#ifdef USE_OSD
-	if(term_osd && !sh_video) {
-#else
-	if(term_osd) {
-#endif
+	if(use_term_osd) {
 	  char msg[128] = MSGTR_Paused;
 	  int mlen = strlen(msg);
 	  msg[mlen-1] = '\0';
@@ -3232,10 +3237,12 @@
     } break;
     case MP_CMD_OSD :  {
 	int v = cmd->args[0].v.i;
+	int max = use_term_osd ? MAX_TERM_OSD_LEVEL : MAX_OSD_LEVEL;
+	if(osd_level > max) osd_level = max;
 	if(v < 0)
-	  osd_level=(osd_level+1)%(MAX_OSD_LEVEL+1);
+	  osd_level=(osd_level+1)%(max+1);
 	else
-	  osd_level= v > MAX_OSD_LEVEL ? MAX_OSD_LEVEL : v;
+	  osd_level= v > max ? max : v;
 	/* Show OSD state when disabled, but not when an explicit
 	   argument is given to the osd command, i.e. in slave mode. */
 	if (v == -1 && osd_level <= 1)