mirror of https://github.com/mpv-player/mpv
Add an option to list the properties: -list-properties
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17915 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
528ec79cc2
commit
0fd651ff1a
|
@ -397,6 +397,7 @@ m_option_t mplayer_opts[]={
|
|||
#include "cfg-common.h"
|
||||
#undef MAIN_CONF
|
||||
|
||||
{"list-properties", &list_properties, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
|
||||
{"identify", &identify, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
|
||||
{"-help", help_text, CONF_TYPE_PRINT, CONF_NOCFG|CONF_GLOBAL, 0, 0, NULL},
|
||||
{"help", help_text, CONF_TYPE_PRINT, CONF_NOCFG|CONF_GLOBAL, 0, 0, NULL},
|
||||
|
|
|
@ -503,6 +503,10 @@ static char help_text[]=
|
|||
#define MSGTR_UnknownProfile "Unknown profile '%s'.\n"
|
||||
#define MSGTR_Profile "Profile %s: %s\n"
|
||||
|
||||
// m_property.c
|
||||
#define MSGTR_PropertyListHeader "\n Name Type Min Max\n\n"
|
||||
#define MSGTR_TotalProperties "\nTotal: %d properties\n"
|
||||
|
||||
// open.c, stream.c:
|
||||
#define MSGTR_CdDevNotfound "CD-ROM Device '%s' not found.\n"
|
||||
#define MSGTR_ErrTrackSelect "Error selecting VCD track."
|
||||
|
|
29
m_property.c
29
m_property.c
|
@ -9,6 +9,7 @@
|
|||
|
||||
#include "m_option.h"
|
||||
#include "m_property.h"
|
||||
#include "mp_msg.h"
|
||||
#include "help_mp.h"
|
||||
|
||||
#define ROUND(x) ((int)((x)<0 ? (x)-0.5 : (x)+0.5))
|
||||
|
@ -142,6 +143,34 @@ char* m_properties_expand_string(m_option_t* prop_list,char* str) {
|
|||
return ret;
|
||||
}
|
||||
|
||||
void m_properties_print_help_list(m_option_t* list) {
|
||||
char min[50],max[50];
|
||||
int i,count = 0;
|
||||
|
||||
mp_msg(MSGT_CFGPARSER, MSGL_INFO, MSGTR_PropertyListHeader);
|
||||
for(i = 0 ; list[i].name ; i++) {
|
||||
m_option_t* opt = &list[i];
|
||||
if(opt->flags & M_OPT_MIN)
|
||||
sprintf(min,"%-8.0f",opt->min);
|
||||
else
|
||||
strcpy(min,"No");
|
||||
if(opt->flags & M_OPT_MAX)
|
||||
sprintf(max,"%-8.0f",opt->max);
|
||||
else
|
||||
strcpy(max,"No");
|
||||
mp_msg(MSGT_CFGPARSER, MSGL_INFO, " %-20.20s %-15.15s %-10.10s %-10.10s\n",
|
||||
opt->name,
|
||||
opt->type->name,
|
||||
min,
|
||||
max,
|
||||
opt->flags & CONF_GLOBAL ? "Yes" : "No",
|
||||
opt->flags & CONF_NOCMD ? "No" : "Yes",
|
||||
opt->flags & CONF_NOCFG ? "No" : "Yes");
|
||||
count++;
|
||||
}
|
||||
mp_msg(MSGT_CFGPARSER, MSGL_INFO, MSGTR_TotalProperties, count);
|
||||
}
|
||||
|
||||
// Some generic property implementations
|
||||
|
||||
int m_property_int_ro(m_option_t* prop,int action,
|
||||
|
|
|
@ -33,6 +33,8 @@ char* m_property_print(m_option_t* prop);
|
|||
|
||||
int m_property_parse(m_option_t* prop, char* txt);
|
||||
|
||||
void m_properties_print_help_list(m_option_t* list);
|
||||
|
||||
char* m_properties_expand_string(m_option_t* prop_list,char* str);
|
||||
|
||||
#define M_PROPERTY_CLAMP(prop,val) do { \
|
||||
|
|
|
@ -227,6 +227,8 @@ int use_gui=0;
|
|||
int enqueue=0;
|
||||
#endif
|
||||
|
||||
static int list_properties = 0;
|
||||
|
||||
#define MAX_OSD_LEVEL 3
|
||||
#define MAX_TERM_OSD_LEVEL 1
|
||||
|
||||
|
@ -1815,6 +1817,10 @@ if(!codecs_file || !parse_codec_cfg(codecs_file)){
|
|||
mp_msg(MSGT_CPLAYER, MSGL_INFO, "\n");
|
||||
opt_exit = 1;
|
||||
}
|
||||
if(list_properties) {
|
||||
m_properties_print_help_list(mp_properties);
|
||||
opt_exit = 1;
|
||||
}
|
||||
|
||||
if(opt_exit)
|
||||
exit_player(NULL);
|
||||
|
|
Loading…
Reference in New Issue