# HG changeset patch # User albeu # Date 1132530286 0 # Node ID ded1cc937221fd8a51d323a15ae90ecc3e4a37c1 # Parent dde990d47ce8e1b966781ef2724e7e2dd70fea93 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. diff -r dde990d47ce8 -r ded1cc937221 mplayer.c --- 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)