annotate mp_msg.c @ 7974:db1f16543379

enable volume filter and fix nonsense default volume (still not usable because mixer.c has no mechanism to pass volume commands to libaf)
author rfelker
date Wed, 30 Oct 2002 04:11:26 +0000
parents 9d11474c39af
children b2e4f9dab7ad
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7200
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
1
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
2 //#define MSG_USE_COLORS
1562
2caba2f48026 new message printing system
arpi
parents:
diff changeset
3
2caba2f48026 new message printing system
arpi
parents:
diff changeset
4 #include <stdio.h>
2caba2f48026 new message printing system
arpi
parents:
diff changeset
5 #include <stdlib.h>
2caba2f48026 new message printing system
arpi
parents:
diff changeset
6 #include <stdarg.h>
2caba2f48026 new message printing system
arpi
parents:
diff changeset
7
1925
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
8 #include "config.h"
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
9
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
10 #ifdef HAVE_NEW_GUI
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
11 #include "Gui/mplayer/widgets.h"
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
12 extern void gtkMessageBox( int type,char * str );
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
13 extern int use_gui;
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
14 #endif
1562
2caba2f48026 new message printing system
arpi
parents:
diff changeset
15 #include "mp_msg.h"
2caba2f48026 new message printing system
arpi
parents:
diff changeset
16
6306
786ab42c10be Extend maximum mp_msg message size, some translations need it or help message will be cutted.
atmos4
parents: 6048
diff changeset
17 /* 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
18 #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
19
1562
2caba2f48026 new message printing system
arpi
parents:
diff changeset
20 static int mp_msg_levels[MSGT_MAX]; // verbose level of this module
2caba2f48026 new message printing system
arpi
parents:
diff changeset
21
2caba2f48026 new message printing system
arpi
parents:
diff changeset
22 #if 1
2caba2f48026 new message printing system
arpi
parents:
diff changeset
23
5220
4afbe13150e6 splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents: 5102
diff changeset
24 void mp_msg_init(){
4afbe13150e6 splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents: 5102
diff changeset
25 #ifdef USE_I18N
4afbe13150e6 splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents: 5102
diff changeset
26 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
27 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
28 fprintf(stdout, "Original dirname: %s\n", bindtextdomain(textdomain(NULL),NULL));
4afbe13150e6 splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents: 5102
diff changeset
29 setlocale(LC_ALL, ""); /* set from the environment variables */
4afbe13150e6 splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents: 5102
diff changeset
30 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
31 textdomain("mplayer");
4afbe13150e6 splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents: 5102
diff changeset
32 fprintf(stdout, "Current 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, "Current dirname: %s\n", bindtextdomain(textdomain(NULL),NULL));
4afbe13150e6 splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents: 5102
diff changeset
34 #endif
4afbe13150e6 splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents: 5102
diff changeset
35 mp_msg_set_level(MSGL_STATUS);
4afbe13150e6 splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents: 5102
diff changeset
36 }
4afbe13150e6 splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents: 5102
diff changeset
37
4afbe13150e6 splitted mp_msg_init and mp_msg_set_level and added i18n support to init
alex
parents: 5102
diff changeset
38 void mp_msg_set_level(int verbose){
1562
2caba2f48026 new message printing system
arpi
parents:
diff changeset
39 int i;
2caba2f48026 new message printing system
arpi
parents:
diff changeset
40 for(i=0;i<MSGT_MAX;i++){
2caba2f48026 new message printing system
arpi
parents:
diff changeset
41 mp_msg_levels[i]=verbose;
2caba2f48026 new message printing system
arpi
parents:
diff changeset
42 }
2caba2f48026 new message printing system
arpi
parents:
diff changeset
43 }
2caba2f48026 new message printing system
arpi
parents:
diff changeset
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 {
2e5c07262861 new v4l capture patch by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>:
arpi
parents: 6306
diff changeset
47 return lev <= mp_msg_levels[mod];
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
1562
2caba2f48026 new message printing system
arpi
parents:
diff changeset
50 void mp_msg_c( int x, const char *format, ... ){
5102
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
51 #if 1
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
52 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
53 char tmp[MSGSIZE_MAX];
5102
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
54
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
55 if((x&255)>mp_msg_levels[x>>8]) return; // do not display
5286
30caf02c0eae 10l - va_start needs teh pointer to stack - not the translated message
arpi
parents: 5220
diff changeset
56 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
57 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
58 va_end(va);
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
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
60
6048
4301077b29d0 HAVE_MENCODER->FOR_MENCODER (forgot to commit some weeks ago...)
arpi
parents: 5919
diff changeset
61 #if defined(HAVE_NEW_GUI) && !defined(FOR_MENCODER)
5102
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
62 if(use_gui)
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
63 {
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
64 switch(x & 255)
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
65 {
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
66 case MSGL_FATAL:
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
67 gtkMessageBox(GTK_MB_FATAL|GTK_MB_SIMPLE, tmp);
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
68 break;
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
69 case MSGL_ERR:
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
70 gtkMessageBox(GTK_MB_ERROR|GTK_MB_SIMPLE, tmp);
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
71 break;
7205
9d11474c39af WARNING message gui windows disabled, the only critical warn message (too
arpi
parents: 7200
diff changeset
72 #if 0
9d11474c39af WARNING message gui windows disabled, the only critical warn message (too
arpi
parents: 7200
diff changeset
73 // WARNING! Do NOT enable this! There are too many non-critical messages with
9d11474c39af WARNING message gui windows disabled, the only critical warn message (too
arpi
parents: 7200
diff changeset
74 // MSGL_WARN, for example: broken SPU packets, codec's bit error messages,
9d11474c39af WARNING message gui windows disabled, the only critical warn message (too
arpi
parents: 7200
diff changeset
75 // etc etc, they should not raise up a new window every time.
7200
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
76 case MSGL_WARN:
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
77 gtkMessageBox(GTK_MB_WARNING|GTK_MB_SIMPLE, tmp);
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
78 break;
7205
9d11474c39af WARNING message gui windows disabled, the only critical warn message (too
arpi
parents: 7200
diff changeset
79 #endif
5102
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
80 }
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
81 }
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
82 #endif
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
83
7200
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
84 #ifdef MSG_USE_COLORS
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
85 #if 1
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
86 { int c;
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
87 static int flag=1;
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
88 if(flag)
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
89 for(c=0;c<16;c++)
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
90 printf("\033[%d;3%dm*** COLOR TEST %d ***\n",(c>7),c&7,c);
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
91 flag=0;
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
92 }
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
93 #endif
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
94 { unsigned char v_colors[10]={9,9,11,14,15,7,6,5,5,5};
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
95 int c=v_colors[(x & 255)];
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
96 fprintf(((x & 255) <= MSGL_WARN)?stderr:stdout, "\033[%d;3%dm",(c>7),c&7);
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
97 }
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
98 #endif
7195
a5b2566f3c2b print only fatal/error/warning to stderr, others go to stdout
arpi
parents: 7058
diff changeset
99 if ((x & 255) <= MSGL_WARN){
a5b2566f3c2b print only fatal/error/warning to stderr, others go to stdout
arpi
parents: 7058
diff changeset
100 fprintf(stderr, "%s", tmp);fflush(stderr);
a5b2566f3c2b print only fatal/error/warning to stderr, others go to stdout
arpi
parents: 7058
diff changeset
101 } else {
a5b2566f3c2b print only fatal/error/warning to stderr, others go to stdout
arpi
parents: 7058
diff changeset
102 printf("%s", tmp);fflush(stdout);
a5b2566f3c2b print only fatal/error/warning to stderr, others go to stdout
arpi
parents: 7058
diff changeset
103 }
7200
9a123ba671fd - warnings enabled for GUI mode
arpi
parents: 7195
diff changeset
104
5102
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
105 #else
1562
2caba2f48026 new message printing system
arpi
parents:
diff changeset
106 va_list va;
2caba2f48026 new message printing system
arpi
parents:
diff changeset
107 if((x&255)>mp_msg_levels[x>>8]) return; // do not display
2caba2f48026 new message printing system
arpi
parents:
diff changeset
108 va_start(va, format);
6048
4301077b29d0 HAVE_MENCODER->FOR_MENCODER (forgot to commit some weeks ago...)
arpi
parents: 5919
diff changeset
109 #if defined( HAVE_NEW_GUI ) && !defined( FOR_MENCODER )
1971
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
110 if(use_gui){
3293
fc74fe43eb89 msg limit increased
arpi
parents: 1971
diff changeset
111 char tmp[16*80];
1971
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
112 vsnprintf( tmp,8*80,format,va ); tmp[8*80-1]=0;
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
113 switch( x&255 ) {
1925
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
114 case MSGL_FATAL:
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
115 fprintf( stderr,"%s",tmp );
3780
9eb4aa623ab6 fflush disappeared? .so?
arpi
parents: 3293
diff changeset
116 fflush(stderr);
1971
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
117 gtkMessageBox( GTK_MB_FATAL|GTK_MB_SIMPLE,tmp );
1925
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
118 break;
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
119 case MSGL_ERR:
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
120 fprintf( stderr,"%s",tmp );
3780
9eb4aa623ab6 fflush disappeared? .so?
arpi
parents: 3293
diff changeset
121 fflush(stderr);
1971
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
122 gtkMessageBox( GTK_MB_ERROR|GTK_MB_SIMPLE,tmp );
1925
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
123 break;
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
124 case MSGL_WARN:
4888
cb2adf32c356 Use stdout as default mencoder's output if no filename specified
nick
parents: 4176
diff changeset
125 fprintf( stderr, "%s",tmp );
3780
9eb4aa623ab6 fflush disappeared? .so?
arpi
parents: 3293
diff changeset
126 fflush(stdout);
1971
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
127 gtkMessageBox( GTK_MB_WARNING|GTK_MB_SIMPLE,tmp );
1925
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
128 break;
633a7f0d72a4 add gui error handling jol.
pontscho
parents: 1566
diff changeset
129 default:
4888
cb2adf32c356 Use stdout as default mencoder's output if no filename specified
nick
parents: 4176
diff changeset
130 fprintf(stderr, "%s",tmp );
3780
9eb4aa623ab6 fflush disappeared? .so?
arpi
parents: 3293
diff changeset
131 fflush(stdout);
1971
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
132 }
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
133 } else
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
134 #endif
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
135 if((x&255)<=MSGL_ERR){
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
136 // fprintf(stderr,"%%%%%% ");
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
137 vfprintf(stderr,format, va);
3780
9eb4aa623ab6 fflush disappeared? .so?
arpi
parents: 3293
diff changeset
138 fflush(stderr);
1971
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
139 } else {
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
140 // printf("%%%%%% ");
4888
cb2adf32c356 Use stdout as default mencoder's output if no filename specified
nick
parents: 4176
diff changeset
141 vfprintf(stderr,format, va);
3780
9eb4aa623ab6 fflush disappeared? .so?
arpi
parents: 3293
diff changeset
142 fflush(stdout);
1971
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
143 }
7d6116e415a3 cleanup
arpi
parents: 1934
diff changeset
144 va_end(va);
5102
17f97ed8259e added i18n support
alex
parents: 4888
diff changeset
145 #endif
1562
2caba2f48026 new message printing system
arpi
parents:
diff changeset
146 }
2caba2f48026 new message printing system
arpi
parents:
diff changeset
147
2caba2f48026 new message printing system
arpi
parents:
diff changeset
148 #else
2caba2f48026 new message printing system
arpi
parents:
diff changeset
149
2caba2f48026 new message printing system
arpi
parents:
diff changeset
150 FILE *mp_msg_file[MSGT_MAX]; // print message to this file (can be stdout/err)
2caba2f48026 new message printing system
arpi
parents:
diff changeset
151 static FILE* mp_msg_last_file=NULL;
2caba2f48026 new message printing system
arpi
parents:
diff changeset
152
2caba2f48026 new message printing system
arpi
parents:
diff changeset
153 // how to handle errors->stderr messages->stdout ?
2caba2f48026 new message printing system
arpi
parents:
diff changeset
154 void mp_msg( int x, const char *format, ... ){
2caba2f48026 new message printing system
arpi
parents:
diff changeset
155 if((x&255)>mp_msg_levels[x>>8] || !mp_msg_file[x>>8]) return; // do not display
2caba2f48026 new message printing system
arpi
parents:
diff changeset
156 va_list va;
2caba2f48026 new message printing system
arpi
parents:
diff changeset
157 va_start(va, format);
2caba2f48026 new message printing system
arpi
parents:
diff changeset
158 vfprintf(mp_msg_file[x>>8],format, va);
2caba2f48026 new message printing system
arpi
parents:
diff changeset
159 if(mp_msg_last_file!=mp_msg_file[x>>8]){
2caba2f48026 new message printing system
arpi
parents:
diff changeset
160 fflush(mp_msg_file[x>>8]);
2caba2f48026 new message printing system
arpi
parents:
diff changeset
161 mp_msg_last_file=mp_msg_file[x>>8];
2caba2f48026 new message printing system
arpi
parents:
diff changeset
162 }
2caba2f48026 new message printing system
arpi
parents:
diff changeset
163 va_end(va);
2caba2f48026 new message printing system
arpi
parents:
diff changeset
164 }
2caba2f48026 new message printing system
arpi
parents:
diff changeset
165
2caba2f48026 new message printing system
arpi
parents:
diff changeset
166 #endif