00001 00002 #ifndef LAME_ID3_H 00003 #define LAME_ID3_H 00004 00005 00006 #define CHANGED_FLAG (1U << 0) 00007 #define ADD_V2_FLAG (1U << 1) 00008 #define V1_ONLY_FLAG (1U << 2) 00009 #define V2_ONLY_FLAG (1U << 3) 00010 #define SPACE_V1_FLAG (1U << 4) 00011 #define PAD_V2_FLAG (1U << 5) 00012 00013 enum { 00014 MIMETYPE_NONE = 0, 00015 MIMETYPE_JPEG, 00016 MIMETYPE_PNG, 00017 MIMETYPE_GIF, 00018 }; 00019 00020 struct id3tag_spec { 00021 /* private data members */ 00022 int flags; 00023 int year; 00024 char *title; 00025 char *artist; 00026 char *album; 00027 char *comment; 00028 int track_id3v1; 00029 int genre_id3v1; 00030 char *track_id3v2; 00031 char *genre_id3v2; 00032 unsigned char *albumart; 00033 int albumart_size; 00034 int albumart_mimetype; 00035 char **values; 00036 int num_values; 00037 }; 00038 00039 00040 /* write tag into stream at current position */ 00041 extern int id3tag_write_v2(lame_global_flags * gfp); 00042 extern int id3tag_write_v1(lame_global_flags * gfp); 00043 /* 00044 * NOTE: A version 2 tag will NOT be added unless one of the text fields won't 00045 * fit in a version 1 tag (e.g. the title string is longer than 30 characters), 00046 * or the "id3tag_add_v2" or "id3tag_v2_only" functions are used. 00047 */ 00048 00049 #endif