Mercurial > mplayer.hg
comparison mp_msg.c @ 16618:bad73cd81b23
mp_msg cleanup.
author | ods15 |
---|---|
date | Thu, 29 Sep 2005 05:21:12 +0000 |
parents | cdd8c0dfc19b |
children | 05af35012e4f |
comparison
equal
deleted
inserted
replaced
16617:bc9bf383f0f7 | 16618:bad73cd81b23 |
---|---|
6 #include <stdarg.h> | 6 #include <stdarg.h> |
7 | 7 |
8 #include "config.h" | 8 #include "config.h" |
9 | 9 |
10 #if defined(FOR_MENCODER) || defined(CODECS2HTML) | 10 #if defined(FOR_MENCODER) || defined(CODECS2HTML) |
11 #undef ENABLE_GUI_CODE | 11 #undef HAVE_NEW_GUI |
12 #elif defined(HAVE_NEW_GUI) | |
13 #define ENABLE_GUI_CODE HAVE_NEW_GUI | |
14 #else | |
15 #undef ENABLE_GUI_CODE | |
16 #endif | 12 #endif |
17 | 13 |
18 #if ENABLE_GUI_CODE | 14 #ifdef HAVE_NEW_GUI |
19 #include "Gui/interface.h" | 15 #include "Gui/interface.h" |
20 extern int use_gui; | 16 extern int use_gui; |
21 #endif | 17 #endif |
22 #include "mp_msg.h" | 18 #include "mp_msg.h" |
23 | 19 |
24 /* maximum message length of mp_msg */ | 20 /* maximum message length of mp_msg */ |
25 #define MSGSIZE_MAX 3072 | 21 #define MSGSIZE_MAX 3072 |
26 | 22 |
27 static int mp_msg_levels[MSGT_MAX]; // verbose level of this module | 23 static int mp_msg_levels[MSGT_MAX]; // verbose level of this module |
28 | |
29 #if 1 | |
30 | 24 |
31 void mp_msg_init(){ | 25 void mp_msg_init(){ |
32 #ifdef USE_I18N | 26 #ifdef USE_I18N |
33 #ifdef MP_DEBUG | 27 #ifdef MP_DEBUG |
34 fprintf(stdout, "Using GNU internationalization\n"); | 28 fprintf(stdout, "Using GNU internationalization\n"); |
55 int mp_msg_test(int mod, int lev) | 49 int mp_msg_test(int mod, int lev) |
56 { | 50 { |
57 return lev <= mp_msg_levels[mod]; | 51 return lev <= mp_msg_levels[mod]; |
58 } | 52 } |
59 | 53 |
60 void mp_msg_c( int x, const char *format, ... ){ | 54 void mp_msg(int mod, int lev, const char *format, ... ){ |
61 #if 1 | |
62 va_list va; | 55 va_list va; |
63 char tmp[MSGSIZE_MAX]; | 56 char tmp[MSGSIZE_MAX]; |
64 | 57 |
65 if((x&255)>mp_msg_levels[x>>8]) return; // do not display | 58 if (lev > mp_msg_levels[mod]) return; // do not display |
66 va_start(va, format); | 59 va_start(va, format); |
67 vsnprintf(tmp, MSGSIZE_MAX, mp_gettext(format), va); | 60 vsnprintf(tmp, MSGSIZE_MAX, mp_gettext(format), va); |
68 va_end(va); | 61 va_end(va); |
69 tmp[MSGSIZE_MAX-2] = '\n'; | 62 tmp[MSGSIZE_MAX-2] = '\n'; |
70 tmp[MSGSIZE_MAX-1] = 0; | 63 tmp[MSGSIZE_MAX-1] = 0; |
71 | 64 |
72 #if ENABLE_GUI_CODE | 65 #ifdef HAVE_NEW_GUI |
73 if(use_gui) | 66 if(use_gui) |
74 guiMessageBox(x&255, tmp); | 67 guiMessageBox(lev, tmp); |
75 #endif | 68 #endif |
76 | 69 |
77 #ifdef MSG_USE_COLORS | 70 #ifdef MSG_USE_COLORS |
78 /* that's only a silly color test */ | 71 /* that's only a silly color test */ |
79 #ifdef MP_ANNOY_ME | 72 #ifdef MP_ANNOY_ME |
137 "SUBREADER", | 130 "SUBREADER", |
138 "AFILTER", | 131 "AFILTER", |
139 "NETST", | 132 "NETST", |
140 "MUXER"}; | 133 "MUXER"}; |
141 | 134 |
142 int c=v_colors[(x & 255)]; | 135 int c=v_colors[lev]; |
143 int c2=((x>>8)+1)%15+1; | 136 int c2=(mod+1)%15+1; |
144 static int header=1; | 137 static int header=1; |
145 FILE *stream= (x & 255) <= MSGL_WARN ? stderr : stdout; | 138 FILE *stream= (lev) <= MSGL_WARN ? stderr : stdout; |
146 if(header){ | 139 if(header){ |
147 fprintf(stream, "\033[%d;3%dm%9s\033[0;37m: ",c2>>3,c2&7, mod_text[x>>8]); | 140 fprintf(stream, "\033[%d;3%dm%9s\033[0;37m: ",c2>>3,c2&7, mod_text[mod]); |
148 } | 141 } |
149 fprintf(stream, "\033[%d;3%dm",c>>3,c&7); | 142 fprintf(stream, "\033[%d;3%dm",c>>3,c&7); |
150 header= tmp[strlen(tmp)-1] == '\n' | 143 header= tmp[strlen(tmp)-1] == '\n' |
151 /*||tmp[strlen(tmp)-1] == '\r'*/; | 144 /*||tmp[strlen(tmp)-1] == '\r'*/; |
152 } | 145 } |
153 #endif | 146 #endif |
154 if ((x & 255) <= MSGL_WARN){ | 147 if (lev <= MSGL_WARN){ |
155 fprintf(stderr, "%s", tmp);fflush(stderr); | 148 fprintf(stderr, "%s", tmp);fflush(stderr); |
156 } else { | 149 } else { |
157 printf("%s", tmp);fflush(stdout); | 150 printf("%s", tmp);fflush(stdout); |
158 } | 151 } |
159 | |
160 #else | |
161 va_list va; | |
162 if((x&255)>mp_msg_levels[x>>8]) return; // do not display | |
163 va_start(va, format); | |
164 #if ENABLE_GUI_CODE | |
165 if(use_gui){ | |
166 char tmp[16*80]; | |
167 vsnprintf( tmp,8*80,format,va ); tmp[8*80-1]=0; | |
168 switch( x&255 ) { | |
169 case MSGL_FATAL: | |
170 fprintf( stderr,"%s",tmp ); | |
171 fflush(stderr); | |
172 gtkMessageBox( GTK_MB_FATAL|GTK_MB_SIMPLE,tmp ); | |
173 break; | |
174 case MSGL_ERR: | |
175 fprintf( stderr,"%s",tmp ); | |
176 fflush(stderr); | |
177 gtkMessageBox( GTK_MB_ERROR|GTK_MB_SIMPLE,tmp ); | |
178 break; | |
179 case MSGL_WARN: | |
180 fprintf( stderr, "%s",tmp ); | |
181 fflush(stdout); | |
182 gtkMessageBox( GTK_MB_WARNING|GTK_MB_SIMPLE,tmp ); | |
183 break; | |
184 default: | |
185 fprintf(stderr, "%s",tmp ); | |
186 fflush(stdout); | |
187 } | |
188 } else | |
189 #endif | |
190 if((x&255)<=MSGL_ERR){ | |
191 // fprintf(stderr,"%%%%%% "); | |
192 vfprintf(stderr,format, va); | |
193 fflush(stderr); | |
194 } else { | |
195 // printf("%%%%%% "); | |
196 vfprintf(stderr,format, va); | |
197 fflush(stdout); | |
198 } | |
199 va_end(va); | |
200 #endif | |
201 } | 152 } |
202 | |
203 #else | |
204 | |
205 FILE *mp_msg_file[MSGT_MAX]; // print message to this file (can be stdout/err) | |
206 static FILE* mp_msg_last_file=NULL; | |
207 | |
208 // how to handle errors->stderr messages->stdout ? | |
209 void mp_msg( int x, const char *format, ... ){ | |
210 if((x&255)>mp_msg_levels[x>>8] || !mp_msg_file[x>>8]) return; // do not display | |
211 va_list va; | |
212 va_start(va, format); | |
213 vfprintf(mp_msg_file[x>>8],format, va); | |
214 if(mp_msg_last_file!=mp_msg_file[x>>8]){ | |
215 fflush(mp_msg_file[x>>8]); | |
216 mp_msg_last_file=mp_msg_file[x>>8]; | |
217 } | |
218 va_end(va); | |
219 } | |
220 | |
221 #endif |