Forced subs support for mencoder
[mplayer/glamo.git] / mp_msg.h
blobfecc4a8e179a6041659961a563df5b3d54fd2759
2 #ifndef _MP_MSG_H
3 #define _MP_MSG_H
5 extern int verbose; // defined in mplayer.c
7 // verbosity elevel:
9 // stuff from level MSGL_FATAL-MSGL_HINT should be translated.
11 #define MSGL_FATAL 0 // will exit/abort
12 #define MSGL_ERR 1 // continues
13 #define MSGL_WARN 2 // only warning
14 #define MSGL_HINT 3 // short help message
15 #define MSGL_INFO 4 // -quiet
16 #define MSGL_STATUS 5 // v=0
17 #define MSGL_V 6 // v=1
18 #define MSGL_DBG2 7 // v=2
19 #define MSGL_DBG3 8 // v=3
20 #define MSGL_DBG4 9 // v=4
22 // code/module:
24 #define MSGT_GLOBAL 0 // common player stuff errors
25 #define MSGT_CPLAYER 1 // console player (mplayer.c)
26 #define MSGT_GPLAYER 2 // gui player
28 #define MSGT_VO 3 // libvo
29 #define MSGT_AO 4 // libao
31 #define MSGT_DEMUXER 5 // demuxer.c (general stuff)
32 #define MSGT_DS 6 // demux stream (add/read packet etc)
33 #define MSGT_DEMUX 7 // fileformat-specific stuff (demux_*.c)
34 #define MSGT_HEADER 8 // fileformat-specific header (*header.c)
36 #define MSGT_AVSYNC 9 // mplayer.c timer stuff
37 #define MSGT_AUTOQ 10 // mplayer.c auto-quality stuff
39 #define MSGT_CFGPARSER 11 // cfgparser.c
41 #define MSGT_DECAUDIO 12 // av decoder
42 #define MSGT_DECVIDEO 13
44 #define MSGT_SEEK 14 // seeking code
45 #define MSGT_WIN32 15 // win32 dll stuff
46 #define MSGT_OPEN 16 // open.c (stream opening)
47 #define MSGT_DVD 17 // open.c (DVD init/read/seek)
49 #define MSGT_PARSEES 18 // parse_es.c (mpeg stream parser)
50 #define MSGT_LIRC 19 // lirc_mp.c and input lirc driver
52 #define MSGT_STREAM 20 // stream.c
53 #define MSGT_CACHE 21 // cache2.c
55 #define MSGT_MENCODER 22
57 #define MSGT_XACODEC 23 // XAnim codecs
59 #define MSGT_TV 24 // TV input subsystem
61 #define MSGT_OSDEP 25 // OS Dependant parts (linux/ for now)
63 #define MSGT_SPUDEC 26 // spudec.c
65 #define MSGT_PLAYTREE 27 // Playtree handeling (playtree.c, playtreeparser.c)
67 #define MSGT_INPUT 28
69 #define MSGT_VFILTER 29
71 #define MSGT_OSD 30
73 #define MSGT_NETWORK 31
75 #define MSGT_CPUDETECT 32
77 #define MSGT_CODECCFG 33
79 #define MSGT_SWS 34
81 #define MSGT_VOBSUB 35
82 #define MSGT_SUBREADER 36
84 #define MSGT_AFILTER 37 // Audio filter messages
86 #define MSGT_NETST 38 // Netstream
88 #define MSGT_MUXER 39 // muxer layer
90 #define MSGT_MAX 64
92 void mp_msg_init();
93 void mp_msg_set_level(int verbose);
94 int mp_msg_test(int mod, int lev);
96 #include "config.h"
98 #ifdef TARGET_OS2
99 // va_start/vsnprintf seems to be broken under OS2 :(
100 #define mp_msg(mod,lev, fmt, args... ) do{if((lev)<=mp_msg_levels[mod]) printf( fmt, ## args );}while(0)
101 #define mp_dbg(mod,lev, args... )
102 #else
104 #ifdef USE_I18N
105 #include <libintl.h>
106 #include <locale.h>
107 #define mp_gettext(String) gettext(String)
108 #else
109 #define mp_gettext(String) String
110 #endif
112 #ifdef __GNUC__
113 void mp_msg_c( int x, const char *format, ... ) __attribute__ ((format (printf, 2, 3)));
114 #define mp_msg(mod,lev, args... ) mp_msg_c(((mod)<<8)|(lev), ## args )
116 #ifdef MP_DEBUG
117 #define mp_dbg(mod,lev, args... ) mp_msg_c(((mod)<<8)|(lev), ## args )
118 #else
119 // these messages are only usefull for developers, disable them
120 #define mp_dbg(mod,lev, args... )
121 #endif
122 #else // not GNU C
123 void mp_msg_c( int x, const char *format, ... );
124 #define mp_msg(mod,lev, ... ) mp_msg_c(((mod)<<8)|(lev), __VA_ARGS__)
126 #ifdef MP_DEBUG
127 #define mp_dbg(mod,lev, ... ) mp_msg_c(((mod)<<8)|(lev), __VA_ARGS__)
128 #else
129 // these messages are only usefull for developers, disable them
130 #define mp_dbg(mod,lev, ... )
131 #endif
132 #endif
134 #endif
135 #endif