Mercurial > mplayer.hg
changeset 17914:f9cb6fc1608a
Add an option to list the properties: -list-properties
author | albeu |
---|---|
date | Wed, 22 Mar 2006 16:35:17 +0000 |
parents | f000129a16b3 |
children | 02d7b7f2c939 |
files | cfg-mplayer.h help/help_mp-en.h m_property.c m_property.h mplayer.c |
diffstat | 5 files changed, 42 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/cfg-mplayer.h Wed Mar 22 12:23:55 2006 +0000 +++ b/cfg-mplayer.h Wed Mar 22 16:35:17 2006 +0000 @@ -397,6 +397,7 @@ #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},
--- a/help/help_mp-en.h Wed Mar 22 12:23:55 2006 +0000 +++ b/help/help_mp-en.h Wed Mar 22 16:35:17 2006 +0000 @@ -503,6 +503,10 @@ #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."
--- a/m_property.c Wed Mar 22 12:23:55 2006 +0000 +++ b/m_property.c Wed Mar 22 16:35:17 2006 +0000 @@ -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 @@ 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,
--- a/m_property.h Wed Mar 22 12:23:55 2006 +0000 +++ b/m_property.h Wed Mar 22 16:35:17 2006 +0000 @@ -33,6 +33,8 @@ 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 { \
--- a/mplayer.c Wed Mar 22 12:23:55 2006 +0000 +++ b/mplayer.c Wed Mar 22 16:35:17 2006 +0000 @@ -227,6 +227,8 @@ int enqueue=0; #endif +static int list_properties = 0; + #define MAX_OSD_LEVEL 3 #define MAX_TERM_OSD_LEVEL 1 @@ -1815,6 +1817,10 @@ 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);