Mercurial > mplayer.hg
annotate mp_msg.c @ 17242:c38832db3aba
synced with 1.1184
author | gpoirier |
---|---|
date | Sun, 25 Dec 2005 20:42:27 +0000 |
parents | 637a2f4ff216 |
children | de9a36b1082c |
rev | line source |
---|---|
7200 | 1 |
17108
f9a03e3c8e23
1000l, reverting 2 more unrelated changes with last commit
ods15
parents:
17106
diff
changeset
|
2 //#define MSG_USE_COLORS |
1562 | 3 |
4 #include <stdio.h> | |
5 #include <stdlib.h> | |
6 #include <stdarg.h> | |
7 | |
1925 | 8 #include "config.h" |
9 | |
8573
b2e4f9dab7ad
codec-cfg cannot be built when the gui is enabled - it fails to link with a
jkeil
parents:
7205
diff
changeset
|
10 #if defined(FOR_MENCODER) || defined(CODECS2HTML) |
16618 | 11 #undef HAVE_NEW_GUI |
8573
b2e4f9dab7ad
codec-cfg cannot be built when the gui is enabled - it fails to link with a
jkeil
parents:
7205
diff
changeset
|
12 #endif |
b2e4f9dab7ad
codec-cfg cannot be built when the gui is enabled - it fails to link with a
jkeil
parents:
7205
diff
changeset
|
13 |
16618 | 14 #ifdef HAVE_NEW_GUI |
16374
e2e231134056
Remove many annoying GTK includes in every compile line and remove GTK
ods15
parents:
14542
diff
changeset
|
15 #include "Gui/interface.h" |
1925 | 16 extern int use_gui; |
17 #endif | |
1562 | 18 #include "mp_msg.h" |
19 | |
6306
786ab42c10be
Extend maximum mp_msg message size, some translations need it or help message will be cutted.
atmos4
parents:
6048
diff
changeset
|
20 /* maximum message length of mp_msg */ |
786ab42c10be
Extend maximum mp_msg message size, some translations need it or help message will be cutted.
atmos4
parents:
6048
diff
changeset
|
21 #define MSGSIZE_MAX 3072 |
786ab42c10be
Extend maximum mp_msg message size, some translations need it or help message will be cutted.
atmos4
parents:
6048
diff
changeset
|
22 |
17120
637a2f4ff216
Some more cola for msglevel, codec-cfg can't even call mp_msg_init or it'll
ods15
parents:
17108
diff
changeset
|
23 int mp_msg_levels[MSGT_MAX]; // verbose level of this module. inited to 2 |
637a2f4ff216
Some more cola for msglevel, codec-cfg can't even call mp_msg_init or it'll
ods15
parents:
17108
diff
changeset
|
24 int mp_msg_level_all = MSGL_STATUS; |
637a2f4ff216
Some more cola for msglevel, codec-cfg can't even call mp_msg_init or it'll
ods15
parents:
17108
diff
changeset
|
25 int verbose = 0; |
1562 | 26 |
5220
4afbe13150e6
splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents:
5102
diff
changeset
|
27 void mp_msg_init(){ |
17106
05af35012e4f
new -msglevel option, constrols msg level for every msg module
ods15
parents:
16618
diff
changeset
|
28 int i; |
5220
4afbe13150e6
splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents:
5102
diff
changeset
|
29 #ifdef USE_I18N |
10415 | 30 #ifdef MP_DEBUG |
5220
4afbe13150e6
splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents:
5102
diff
changeset
|
31 fprintf(stdout, "Using GNU internationalization\n"); |
4afbe13150e6
splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents:
5102
diff
changeset
|
32 fprintf(stdout, "Original domain: %s\n", textdomain(NULL)); |
4afbe13150e6
splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents:
5102
diff
changeset
|
33 fprintf(stdout, "Original dirname: %s\n", bindtextdomain(textdomain(NULL),NULL)); |
10415 | 34 #endif |
5220
4afbe13150e6
splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents:
5102
diff
changeset
|
35 bindtextdomain("mplayer", PREFIX"/share/locale"); |
4afbe13150e6
splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents:
5102
diff
changeset
|
36 textdomain("mplayer"); |
10415 | 37 #ifdef MP_DEBUG |
5220
4afbe13150e6
splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents:
5102
diff
changeset
|
38 fprintf(stdout, "Current domain: %s\n", textdomain(NULL)); |
10415 | 39 fprintf(stdout, "Current dirname: %s\n\n", bindtextdomain(textdomain(NULL),NULL)); |
40 #endif | |
5220
4afbe13150e6
splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents:
5102
diff
changeset
|
41 #endif |
17106
05af35012e4f
new -msglevel option, constrols msg level for every msg module
ods15
parents:
16618
diff
changeset
|
42 for(i=0;i<MSGT_MAX;i++) mp_msg_levels[i] = -2; |
1562 | 43 } |
44 | |
7058
2e5c07262861
new v4l capture patch by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>:
arpi
parents:
6306
diff
changeset
|
45 int mp_msg_test(int mod, int lev) |
2e5c07262861
new v4l capture patch by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>:
arpi
parents:
6306
diff
changeset
|
46 { |
17106
05af35012e4f
new -msglevel option, constrols msg level for every msg module
ods15
parents:
16618
diff
changeset
|
47 return lev <= (mp_msg_levels[mod] == -2 ? mp_msg_level_all + verbose : mp_msg_levels[mod]); |
7058
2e5c07262861
new v4l capture patch by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>:
arpi
parents:
6306
diff
changeset
|
48 } |
2e5c07262861
new v4l capture patch by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>:
arpi
parents:
6306
diff
changeset
|
49 |
16618 | 50 void mp_msg(int mod, int lev, const char *format, ... ){ |
5102 | 51 va_list va; |
6306
786ab42c10be
Extend maximum mp_msg message size, some translations need it or help message will be cutted.
atmos4
parents:
6048
diff
changeset
|
52 char tmp[MSGSIZE_MAX]; |
5102 | 53 |
17106
05af35012e4f
new -msglevel option, constrols msg level for every msg module
ods15
parents:
16618
diff
changeset
|
54 if (!mp_msg_test(mod, lev)) return; // do not display |
5286
30caf02c0eae
10l - va_start needs teh pointer to stack - not the translated message
arpi
parents:
5220
diff
changeset
|
55 va_start(va, format); |
6306
786ab42c10be
Extend maximum mp_msg message size, some translations need it or help message will be cutted.
atmos4
parents:
6048
diff
changeset
|
56 vsnprintf(tmp, MSGSIZE_MAX, mp_gettext(format), va); |
7195
a5b2566f3c2b
print only fatal/error/warning to stderr, others go to stdout
arpi
parents:
7058
diff
changeset
|
57 va_end(va); |
10853 | 58 tmp[MSGSIZE_MAX-2] = '\n'; |
6306
786ab42c10be
Extend maximum mp_msg message size, some translations need it or help message will be cutted.
atmos4
parents:
6048
diff
changeset
|
59 tmp[MSGSIZE_MAX-1] = 0; |
5102 | 60 |
16618 | 61 #ifdef HAVE_NEW_GUI |
5102 | 62 if(use_gui) |
16618 | 63 guiMessageBox(lev, tmp); |
5102 | 64 #endif |
65 | |
7200 | 66 #ifdef MSG_USE_COLORS |
10415 | 67 /* that's only a silly color test */ |
16379 | 68 #ifdef MP_ANNOY_ME |
7200 | 69 { int c; |
70 static int flag=1; | |
71 if(flag) | |
16379 | 72 for(c=0;c<24;c++) |
7200 | 73 printf("\033[%d;3%dm*** COLOR TEST %d ***\n",(c>7),c&7,c); |
74 flag=0; | |
75 } | |
76 #endif | |
16379 | 77 { unsigned char v_colors[10]={9,1,3,15,7,2,2,8,8,8}; |
78 static const char *lev_text[]= { | |
79 "FATAL", | |
80 "ERROR", | |
81 "WARN", | |
82 "HINT", | |
83 "INFO", | |
84 "STATUS", | |
85 "V", | |
86 "DGB2", | |
87 "DGB3", | |
88 "DGB4"}; | |
89 static const char *mod_text[]= { | |
90 "GLOBAL", | |
91 "CPLAYER", | |
92 "GPLAYER", | |
93 "VIDEOOUT", | |
94 "AUDIOOUT", | |
95 "DEMUXER", | |
96 "DS", | |
97 "DEMUX", | |
98 "HEADER", | |
99 "AVSYNC", | |
100 "AUTOQ", | |
101 "CFGPARSER", | |
102 "DECAUDIO", | |
103 "DECVIDEO", | |
104 "SEEK", | |
105 "WIN32", | |
106 "OPEN", | |
107 "DVD", | |
108 "PARSEES", | |
109 "LIRC", | |
110 "STREAM", | |
111 "CACHE", | |
112 "MENCODER", | |
113 "XACODEC", | |
114 "TV", | |
115 "OSDEP", | |
116 "SPUDEC", | |
117 "PLAYTREE", | |
118 "INPUT", | |
119 "VFILTER", | |
120 "OSD", | |
121 "NETWORK", | |
122 "CPUDETECT", | |
123 "CODECCFG", | |
124 "SWS", | |
125 "VOBSUB", | |
126 "SUBREADER", | |
127 "AFILTER", | |
128 "NETST", | |
129 "MUXER"}; | |
130 | |
16618 | 131 int c=v_colors[lev]; |
132 int c2=(mod+1)%15+1; | |
16379 | 133 static int header=1; |
16618 | 134 FILE *stream= (lev) <= MSGL_WARN ? stderr : stdout; |
16379 | 135 if(header){ |
16618 | 136 fprintf(stream, "\033[%d;3%dm%9s\033[0;37m: ",c2>>3,c2&7, mod_text[mod]); |
16379 | 137 } |
138 fprintf(stream, "\033[%d;3%dm",c>>3,c&7); | |
139 header= tmp[strlen(tmp)-1] == '\n' | |
17108
f9a03e3c8e23
1000l, reverting 2 more unrelated changes with last commit
ods15
parents:
17106
diff
changeset
|
140 /*||tmp[strlen(tmp)-1] == '\r'*/; |
7200 | 141 } |
142 #endif | |
16618 | 143 if (lev <= MSGL_WARN){ |
7195
a5b2566f3c2b
print only fatal/error/warning to stderr, others go to stdout
arpi
parents:
7058
diff
changeset
|
144 fprintf(stderr, "%s", tmp);fflush(stderr); |
a5b2566f3c2b
print only fatal/error/warning to stderr, others go to stdout
arpi
parents:
7058
diff
changeset
|
145 } else { |
a5b2566f3c2b
print only fatal/error/warning to stderr, others go to stdout
arpi
parents:
7058
diff
changeset
|
146 printf("%s", tmp);fflush(stdout); |
a5b2566f3c2b
print only fatal/error/warning to stderr, others go to stdout
arpi
parents:
7058
diff
changeset
|
147 } |
1562 | 148 } |