2 //#define MSG_USE_COLORS
10 #if defined(FOR_MENCODER) || defined(CODECS2HTML)
15 #include "Gui/interface.h"
20 /* maximum message length of mp_msg */
21 #define MSGSIZE_MAX 3072
23 int mp_msg_levels
[MSGT_MAX
]; // verbose level of this module. inited to -2
24 int mp_msg_level_all
= MSGL_STATUS
;
27 void mp_msg_init(void){
29 char *env
= getenv("MPLAYER_VERBOSE");
34 fprintf(stdout
, "Using GNU internationalization\n");
35 fprintf(stdout
, "Original domain: %s\n", textdomain(NULL
));
36 fprintf(stdout
, "Original dirname: %s\n", bindtextdomain(textdomain(NULL
),NULL
));
38 bindtextdomain("mplayer", PREFIX
"/share/locale");
39 textdomain("mplayer");
41 fprintf(stdout
, "Current domain: %s\n", textdomain(NULL
));
42 fprintf(stdout
, "Current dirname: %s\n\n", bindtextdomain(textdomain(NULL
),NULL
));
45 for(i
=0;i
<MSGT_MAX
;i
++) mp_msg_levels
[i
] = -2;
48 int mp_msg_test(int mod
, int lev
)
50 return lev
<= (mp_msg_levels
[mod
] == -2 ? mp_msg_level_all
+ verbose
: mp_msg_levels
[mod
]);
53 void mp_msg(int mod
, int lev
, const char *format
, ... ){
55 char tmp
[MSGSIZE_MAX
];
57 if (!mp_msg_test(mod
, lev
)) return; // do not display
59 vsnprintf(tmp
, MSGSIZE_MAX
, mp_gettext(format
), va
);
61 tmp
[MSGSIZE_MAX
-2] = '\n';
62 tmp
[MSGSIZE_MAX
-1] = 0;
66 guiMessageBox(lev
, tmp
);
70 /* that's only a silly color test */
76 printf("\033[%d;3%dm*** COLOR TEST %d ***\n",(c
>7),c
&7,c
);
80 { unsigned char v_colors
[10]={9,1,3,15,7,2,2,8,8,8};
81 static const char *lev_text
[]= {
92 static const char *mod_text
[]= {
137 FILE *stream
= (lev
) <= MSGL_WARN
? stderr
: stdout
;
139 fprintf(stream
, "\033[%d;3%dm%9s\033[0;37m: ",c2
>>3,c2
&7, mod_text
[mod
]);
141 fprintf(stream
, "\033[%d;3%dm",c
>>3,c
&7);
142 header
= tmp
[strlen(tmp
)-1] == '\n'
143 ||tmp
[strlen(tmp
)-1] == '\r';
146 if (lev
<= MSGL_WARN
){
147 fprintf(stderr
, "%s", tmp
);fflush(stderr
);
149 printf("%s", tmp
);fflush(stdout
);