From: Darren S. <ds...@us...> - 2006-12-19 21:12:46
|
Update of /cvsroot/xine/xine-lib/include In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1102/include Modified Files: xine.h.in Log Message: Mark string-type configuration items according to whether they're plain strings or names of files, device nodes or directories. This information is available to front ends (via .num_value) so that they can present file/dir-open dialogue boxes if they so choose. Subtitle font selection is split up due to this. Index: xine.h.in =================================================================== RCS file: /cvsroot/xine/xine-lib/include/xine.h.in,v retrieving revision 1.160 retrieving revision 1.161 diff -u -r1.160 -r1.161 --- xine.h.in 28 Oct 2006 18:51:08 -0000 1.160 +++ xine.h.in 19 Dec 2006 21:12:44 -0000 1.161 @@ -1313,6 +1313,12 @@ #define XINE_CONFIG_TYPE_NUM 4 #define XINE_CONFIG_TYPE_BOOL 5 +/* For the string type (1.1.4 and later). These are stored in num_value. */ +#define XINE_CONFIG_STRING_IS_STRING 0 +#define XINE_CONFIG_STRING_IS_FILENAME 1 +#define XINE_CONFIG_STRING_IS_DEVICE_NAME 2 +#define XINE_CONFIG_STRING_IS_DIRECTORY_NAME 3 + typedef struct xine_cfg_entry_s xine_cfg_entry_t; typedef void (*xine_config_cb_t) (void *user_data, @@ -1334,7 +1340,10 @@ void *dummy; #endif - /* common to range, enum, num, bool: */ + /* common to range, enum, num, bool; + * num_value is also used by string to indicate what's required: + * plain string, file name, device name, directory name + */ int num_value; int num_default; @@ -1377,6 +1386,16 @@ xine_config_cb_t changed_cb, void *cb_data) XINE_PROTECTED; +const char *xine_config_register_filename (xine_t *self, + const char *key, + const char *def_value, + int req_type, /* XINE_CONFIG_STRING_IS_* */ + const char *description, + const char *help, + int exp_level, + xine_config_cb_t changed_cb, + void *cb_data) XINE_PROTECTED; + int xine_config_register_range (xine_t *self, const char *key, int def_value, |