20 #include "compat/compat.h"
41 #define MI_NUM_CINFO 8
42 #define MI_CINFO_ARTIST 0
43 #define MI_CINFO_ALBUM 1
44 #define MI_CINFO_TITLE 2
45 #define MI_CINFO_TRACK 3
46 #define MI_CINFO_YEAR 4
47 #define MI_CINFO_GENRE 5
48 #define MI_CINFO_LENGTH 6
49 #define MI_CINFO_COMMENT 7
54 char *cinfo[MI_NUM_CINFO];
67 extern const char *MI_CINFO_NAMES[MI_NUM_CINFO];
74 void mi_fwrite(
meta_info *mi, FILE *fout);
78 meta_info* mi_extract(
const char *filename);
94 void str_sanitize(
char *s);
109 #define MI_MAX_QUERY_TOKENS 255
111 char *tokens[MI_MAX_QUERY_TOKENS];
112 char match[MI_MAX_QUERY_TOKENS];
118 extern bool mi_query_match_filename;
121 void mi_query_init();
122 bool mi_query_isset();
123 void mi_query_clear();
124 void mi_query_add_token(
const char *token);
126 void mi_query_setraw(
const char *query);
127 const char *mi_query_getraw();
131 bool str_match_query(
const char *s);
146 int order[MI_NUM_CINFO];
147 bool descending[MI_NUM_CINFO];
153 void mi_sort_clear();
154 int mi_sort_set(
const char *str,
const char **errmsg);
157 int mi_compare(
const void *a,
const void *b);
169 int order[MI_NUM_CINFO];
170 int widths[MI_NUM_CINFO];
171 Direction align[MI_NUM_CINFO];
176 void mi_display_init();
177 int mi_display_set(
const char *str,
const char **errmsg);
178 void mi_display_reset();
181 char *mi_display_tostr();
184 int mi_display_getwidth();