diff options
Diffstat (limited to 'utils/storage/tag_utility.h')
-rw-r--r-- | utils/storage/tag_utility.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/utils/storage/tag_utility.h b/utils/storage/tag_utility.h index b852ad5..77c639b 100644 --- a/utils/storage/tag_utility.h +++ b/utils/storage/tag_utility.h @@ -51,4 +51,24 @@ bool taglib_pop_state(); bool taglib_fini(); +/* Useful macros to ease taglib_add_tag call, + * or else need to use C++0x-features. + */ + +#define TAGLIB_BEGIN_ADD_TAG(line_type, line_tag, num_of_values) \ + { \ + const int line_type_saved = line_type; \ + const char * line_tag_saved = line_tag; \ + const int num_of_values_saved = num_of_values; \ + ; + +#define TAGLIB_REQUIRED_TAGS const char * required_tags_saved[] +/* #define TAGLIB_OPTIONAL_TAGS const char * optional_tags_saved */ +#define TAGLIB_IGNORED_TAGS const char * ignored_tags_saved[] + +#define TAGLIB_END_ADD_TAG \ + taglib_add_tag(line_type_saved, line_tag_saved, num_of_values_saved, \ + required_tags_saved, ignored_tags_saved); \ + }; + #endif |