1 /* 2 id3: ID3v2.3 and ID3v2.4 parsing (a relevant subset) 3 4 copyright 2006-2007 by the mpg123 project - free software under the terms of the LGPL 2.1 5 see COPYING and AUTHORS files in distribution or http://mpg123.org 6 initially written by Thomas Orgis 7 */ 8 9 #ifndef MPG123_ID3_H 10 #define MPG123_ID3_H 11 12 /* really need it _here_! */ 13 #include "frame.h" 14 15 #ifdef NO_ID3V2 16 # ifdef init_id3 17 # undef init_id3 18 # endif 19 # define init_id3(fr) 20 # ifdef exit_id3 21 # undef exit_id3 22 # endif 23 # define exit_id3(fr) 24 # ifdef reset_id3 25 # undef reset_id3 26 # endif 27 # define reset_id3(fr) 28 # ifdef id3_link 29 # undef id3_link 30 # endif 31 # define id3_link(fr) 32 #else 33 void init_id3(mpg123_handle *fr); 34 void exit_id3(mpg123_handle *fr); 35 void reset_id3(mpg123_handle *fr); 36 void id3_link(mpg123_handle *fr); 37 #endif 38 int parse_new_id3(mpg123_handle *fr, unsigned long first4bytes); 39 /* Convert text from some ID3 encoding to UTf-8. 40 On error, sb->fill is 0. The noquiet flag enables warning/error messages. */ 41 void id3_to_utf8(mpg123_string *sb, unsigned char encoding, const unsigned char *source, size_t source_size, int noquiet); 42 43 #endif 44