mirror of
https://github.com/mpv-player/mpv
synced 2025-02-09 16:37:24 +00:00
Enable runtime control for colorful and/or module name output
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26402 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
c3f944e14a
commit
b74750a948
@ -692,6 +692,14 @@ debug level 4
|
|||||||
.PD 1
|
.PD 1
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
|
.B \-msgcolor
|
||||||
|
Enable colorful console output on terminals that support ANSI color.
|
||||||
|
.
|
||||||
|
.TP
|
||||||
|
.B \-msgmodule
|
||||||
|
Prepend module name in front of each console message.
|
||||||
|
.
|
||||||
|
.TP
|
||||||
.B "\-quiet\ "
|
.B "\-quiet\ "
|
||||||
Make console output less verbose; in particular, prevents the status line
|
Make console output less verbose; in particular, prevents the status line
|
||||||
(i.e.\& A: 0.7 V: 0.6 A-V: 0.068 ...) from being displayed.
|
(i.e.\& A: 0.7 V: 0.6 A-V: 0.068 ...) from being displayed.
|
||||||
|
@ -9,6 +9,8 @@
|
|||||||
{"really-quiet", &verbose, CONF_TYPE_FLAG, CONF_GLOBAL, 0, -10, NULL},
|
{"really-quiet", &verbose, CONF_TYPE_FLAG, CONF_GLOBAL, 0, -10, NULL},
|
||||||
{"v", cfg_inc_verbose, CONF_TYPE_FUNC, CONF_GLOBAL|CONF_NOSAVE, 0, 0, NULL},
|
{"v", cfg_inc_verbose, CONF_TYPE_FUNC, CONF_GLOBAL|CONF_NOSAVE, 0, 0, NULL},
|
||||||
{"msglevel", msgl_config, CONF_TYPE_SUBCONFIG, CONF_GLOBAL, 0, 0, NULL},
|
{"msglevel", msgl_config, CONF_TYPE_SUBCONFIG, CONF_GLOBAL, 0, 0, NULL},
|
||||||
|
{"msgcolor", &mp_msg_color, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
|
||||||
|
{"msgmodule", &mp_msg_module, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
|
||||||
#ifdef USE_ICONV
|
#ifdef USE_ICONV
|
||||||
{"msgcharset", &mp_msg_charset, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL},
|
{"msgcharset", &mp_msg_charset, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL},
|
||||||
#endif
|
#endif
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
extern char *mp_msg_charset;
|
extern char *mp_msg_charset;
|
||||||
|
extern int mp_msg_color;
|
||||||
|
extern int mp_msg_module;
|
||||||
|
|
||||||
// codec/filter opts: (defined at libmpcodecs/vd.c)
|
// codec/filter opts: (defined at libmpcodecs/vd.c)
|
||||||
extern float screen_size_xy;
|
extern float screen_size_xy;
|
||||||
|
15
configure
vendored
15
configure
vendored
@ -411,7 +411,6 @@ Miscellaneous options:
|
|||||||
\$LINGUAS is also honored) [en]
|
\$LINGUAS is also honored) [en]
|
||||||
(Available: $LANGUAGES all)
|
(Available: $LANGUAGES all)
|
||||||
--with-install=PATH path to a custom install program
|
--with-install=PATH path to a custom install program
|
||||||
--enable-color-console enable color console output (UNSUPPORTED) [disable]
|
|
||||||
|
|
||||||
Advanced options:
|
Advanced options:
|
||||||
--enable-mmx enable MMX [autodetect]
|
--enable-mmx enable MMX [autodetect]
|
||||||
@ -672,7 +671,6 @@ _w32threads=auto
|
|||||||
_ass=auto
|
_ass=auto
|
||||||
_rpath=no
|
_rpath=no
|
||||||
_asmalign_pot=auto
|
_asmalign_pot=auto
|
||||||
_color_console=no
|
|
||||||
_stream_cache=yes
|
_stream_cache=yes
|
||||||
_def_stream_cache="#define USE_STREAM_CACHE 1"
|
_def_stream_cache="#define USE_STREAM_CACHE 1"
|
||||||
_need_shmem=yes
|
_need_shmem=yes
|
||||||
@ -1118,8 +1116,6 @@ for ac_option do
|
|||||||
--disable-ass) _ass=no ;;
|
--disable-ass) _ass=no ;;
|
||||||
--enable-rpath) _rpath=yes ;;
|
--enable-rpath) _rpath=yes ;;
|
||||||
--disable-rpath) _rpath=no ;;
|
--disable-rpath) _rpath=no ;;
|
||||||
--enable-color-console) _color_console=yes ;;
|
|
||||||
--disable-color-console) _color_console=no ;;
|
|
||||||
|
|
||||||
--enable-fribidi) _fribidi=yes ;;
|
--enable-fribidi) _fribidi=yes ;;
|
||||||
--disable-fribidi) _fribidi=no ;;
|
--disable-fribidi) _fribidi=no ;;
|
||||||
@ -7544,14 +7540,6 @@ fi
|
|||||||
echores "$_maemo"
|
echores "$_maemo"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echocheck "color console output"
|
|
||||||
if test "$_color_console" = yes ; then
|
|
||||||
_def_color_console='#define MSG_USE_COLORS 1'
|
|
||||||
else
|
|
||||||
_def_color_console='#undef MSG_USE_COLORS'
|
|
||||||
fi
|
|
||||||
echores "$_color_console"
|
|
||||||
|
|
||||||
# linker paths should be the same for mencoder and mplayer
|
# linker paths should be the same for mencoder and mplayer
|
||||||
_ld_tmp=""
|
_ld_tmp=""
|
||||||
for I in $_libs_mplayer ; do
|
for I in $_libs_mplayer ; do
|
||||||
@ -8003,9 +7991,6 @@ $_def_crash_debug
|
|||||||
/* Toggles debugging informations */
|
/* Toggles debugging informations */
|
||||||
$_def_debug
|
$_def_debug
|
||||||
|
|
||||||
/* Toggles color console output */
|
|
||||||
$_def_color_console
|
|
||||||
|
|
||||||
/* Indicates that libcdio is available for VCD and CD-DA playback */
|
/* Indicates that libcdio is available for VCD and CD-DA playback */
|
||||||
$_def_libcdio
|
$_def_libcdio
|
||||||
|
|
||||||
|
173
mp_msg.c
173
mp_msg.c
@ -1,6 +1,3 @@
|
|||||||
|
|
||||||
//#define MSG_USE_COLORS
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
@ -30,6 +27,8 @@ int use_gui;
|
|||||||
int mp_msg_levels[MSGT_MAX]; // verbose level of this module. initialized to -2
|
int mp_msg_levels[MSGT_MAX]; // verbose level of this module. initialized to -2
|
||||||
int mp_msg_level_all = MSGL_STATUS;
|
int mp_msg_level_all = MSGL_STATUS;
|
||||||
int verbose = 0;
|
int verbose = 0;
|
||||||
|
int mp_msg_color = 0;
|
||||||
|
int mp_msg_module = 0;
|
||||||
#ifdef USE_ICONV
|
#ifdef USE_ICONV
|
||||||
char *mp_msg_charset = NULL;
|
char *mp_msg_charset = NULL;
|
||||||
static char *old_charset = NULL;
|
static char *old_charset = NULL;
|
||||||
@ -86,9 +85,92 @@ int mp_msg_test(int mod, int lev)
|
|||||||
return lev <= (mp_msg_levels[mod] == -2 ? mp_msg_level_all + verbose : mp_msg_levels[mod]);
|
return lev <= (mp_msg_levels[mod] == -2 ? mp_msg_level_all + verbose : mp_msg_levels[mod]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void set_msg_color(FILE* stream, int lev)
|
||||||
|
{
|
||||||
|
static const unsigned char v_colors[10] = {9, 1, 3, 15, 7, 2, 2, 8, 8, 8};
|
||||||
|
int c = v_colors[lev];
|
||||||
|
#ifdef MP_ANNOY_ME
|
||||||
|
/* that's only a silly color test */
|
||||||
|
{
|
||||||
|
int c;
|
||||||
|
static int flag = 1;
|
||||||
|
if (flag)
|
||||||
|
for(c = 0; c < 24; c++)
|
||||||
|
printf("\033[%d;3%dm*** COLOR TEST %d ***\n", c>7, c&7, c);
|
||||||
|
flag = 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if (mp_msg_color)
|
||||||
|
fprintf(stream, "\033[%d;3%dm", c >> 3, c & 7);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void print_msg_module(FILE* stream, int mod)
|
||||||
|
{
|
||||||
|
static const char *module_text[MSGT_MAX] = {
|
||||||
|
"GLOBAL",
|
||||||
|
"CPLAYER",
|
||||||
|
"GPLAYER",
|
||||||
|
"VIDEOOUT",
|
||||||
|
"AUDIOOUT",
|
||||||
|
"DEMUXER",
|
||||||
|
"DS",
|
||||||
|
"DEMUX",
|
||||||
|
"HEADER",
|
||||||
|
"AVSYNC",
|
||||||
|
"AUTOQ",
|
||||||
|
"CFGPARSER",
|
||||||
|
"DECAUDIO",
|
||||||
|
"DECVIDEO",
|
||||||
|
"SEEK",
|
||||||
|
"WIN32",
|
||||||
|
"OPEN",
|
||||||
|
"DVD",
|
||||||
|
"PARSEES",
|
||||||
|
"LIRC",
|
||||||
|
"STREAM",
|
||||||
|
"CACHE",
|
||||||
|
"MENCODER",
|
||||||
|
"XACODEC",
|
||||||
|
"TV",
|
||||||
|
"OSDEP",
|
||||||
|
"SPUDEC",
|
||||||
|
"PLAYTREE",
|
||||||
|
"INPUT",
|
||||||
|
"VFILTER",
|
||||||
|
"OSD",
|
||||||
|
"NETWORK",
|
||||||
|
"CPUDETECT",
|
||||||
|
"CODECCFG",
|
||||||
|
"SWS",
|
||||||
|
"VOBSUB",
|
||||||
|
"SUBREADER",
|
||||||
|
"AFILTER",
|
||||||
|
"NETST",
|
||||||
|
"MUXER",
|
||||||
|
"OSDMENU",
|
||||||
|
"IDENTIFY",
|
||||||
|
"RADIO",
|
||||||
|
"ASS",
|
||||||
|
"LOADER",
|
||||||
|
"STATUSLINE",
|
||||||
|
};
|
||||||
|
int c2 = (mod + 1) % 15 + 1;
|
||||||
|
|
||||||
|
if (!mp_msg_module)
|
||||||
|
return;
|
||||||
|
if (mp_msg_color)
|
||||||
|
fprintf(stream, "\033[%d;3%dm", c2 >> 3, c2 & 7);
|
||||||
|
fprintf(stream, "%9s", module_text[mod]);
|
||||||
|
if (mp_msg_color)
|
||||||
|
fprintf(stream, "\033[0;37m");
|
||||||
|
fprintf(stream, ": ");
|
||||||
|
}
|
||||||
|
|
||||||
void mp_msg(int mod, int lev, const char *format, ... ){
|
void mp_msg(int mod, int lev, const char *format, ... ){
|
||||||
va_list va;
|
va_list va;
|
||||||
char tmp[MSGSIZE_MAX];
|
char tmp[MSGSIZE_MAX];
|
||||||
|
FILE *stream = lev <= MSGL_WARN ? stderr : stdout;
|
||||||
|
static int header = 1;
|
||||||
|
|
||||||
if (!mp_msg_test(mod, lev)) return; // do not display
|
if (!mp_msg_test(mod, lev)) return; // do not display
|
||||||
va_start(va, format);
|
va_start(va, format);
|
||||||
@ -133,82 +215,11 @@ void mp_msg(int mod, int lev, const char *format, ... ){
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef MSG_USE_COLORS
|
if (header)
|
||||||
/* that's only a silly color test */
|
print_msg_module(stream, mod);
|
||||||
#ifdef MP_ANNOY_ME
|
set_msg_color(stream, lev);
|
||||||
{ int c;
|
header = tmp[strlen(tmp)-1] == '\n' || tmp[strlen(tmp)-1] == '\r';
|
||||||
static int flag=1;
|
|
||||||
if(flag)
|
fprintf(stream, "%s", tmp);
|
||||||
for(c=0;c<24;c++)
|
fflush(stream);
|
||||||
printf("\033[%d;3%dm*** COLOR TEST %d ***\n",(c>7),c&7,c);
|
|
||||||
flag=0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
{ unsigned char v_colors[10]={9,1,3,15,7,2,2,8,8,8};
|
|
||||||
static const char *mod_text[MSGT_MAX]= {
|
|
||||||
"GLOBAL",
|
|
||||||
"CPLAYER",
|
|
||||||
"GPLAYER",
|
|
||||||
"VIDEOOUT",
|
|
||||||
"AUDIOOUT",
|
|
||||||
"DEMUXER",
|
|
||||||
"DS",
|
|
||||||
"DEMUX",
|
|
||||||
"HEADER",
|
|
||||||
"AVSYNC",
|
|
||||||
"AUTOQ",
|
|
||||||
"CFGPARSER",
|
|
||||||
"DECAUDIO",
|
|
||||||
"DECVIDEO",
|
|
||||||
"SEEK",
|
|
||||||
"WIN32",
|
|
||||||
"OPEN",
|
|
||||||
"DVD",
|
|
||||||
"PARSEES",
|
|
||||||
"LIRC",
|
|
||||||
"STREAM",
|
|
||||||
"CACHE",
|
|
||||||
"MENCODER",
|
|
||||||
"XACODEC",
|
|
||||||
"TV",
|
|
||||||
"OSDEP",
|
|
||||||
"SPUDEC",
|
|
||||||
"PLAYTREE",
|
|
||||||
"INPUT",
|
|
||||||
"VFILTER",
|
|
||||||
"OSD",
|
|
||||||
"NETWORK",
|
|
||||||
"CPUDETECT",
|
|
||||||
"CODECCFG",
|
|
||||||
"SWS",
|
|
||||||
"VOBSUB",
|
|
||||||
"SUBREADER",
|
|
||||||
"AFILTER",
|
|
||||||
"NETST",
|
|
||||||
"MUXER",
|
|
||||||
"OSDMENU",
|
|
||||||
"IDENTIFY",
|
|
||||||
"RADIO",
|
|
||||||
"ASS",
|
|
||||||
"LOADER",
|
|
||||||
"STATUSLINE",
|
|
||||||
};
|
|
||||||
|
|
||||||
int c=v_colors[lev];
|
|
||||||
int c2=(mod+1)%15+1;
|
|
||||||
static int header=1;
|
|
||||||
FILE *stream= (lev) <= MSGL_WARN ? stderr : stdout;
|
|
||||||
if(header){
|
|
||||||
fprintf(stream, "\033[%d;3%dm%9s\033[0;37m: ",c2>>3,c2&7, mod_text[mod]);
|
|
||||||
}
|
|
||||||
fprintf(stream, "\033[%d;3%dm",c>>3,c&7);
|
|
||||||
header= tmp[strlen(tmp)-1] == '\n'
|
|
||||||
||tmp[strlen(tmp)-1] == '\r';
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if (lev <= MSGL_WARN){
|
|
||||||
fprintf(stderr, "%s", tmp);fflush(stderr);
|
|
||||||
} else {
|
|
||||||
printf("%s", tmp);fflush(stdout);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user