📄 id3tag.h
字号:
/************************************************** * * id3tag.h * * CVS ID: $Id: id3tag.h,v 1.15 2007/09/11 16:00:52 belardi Exp $ * Author: Jiri Sedmik [JS] - STM * Date: $Date: 2007/09/11 16:00:52 $ * Revision: $Revision: 1.15 $ * * Description: * * *************************************************** * * COPYRIGHT (C) ST Microelectronics 2005 * All Rights Reserved * **************************************************** * * STM CVS Log: * * $Log: id3tag.h,v $ * Revision 1.15 2007/09/11 16:00:52 belardi * removed unused struct and comments * * Revision 1.14 2007/09/10 17:59:15 trubac * using modified macro names for MAX_TEXT_SIZE * * Revision 1.13 2007/06/29 13:18:13 belardi * Added support for Track Number in ID3 v1.1 and v2.x * * Revision 1.12 2006/10/17 09:54:46 trubac * new id3 tag strings handling + new tag infos in song_info * * Revision 1.11 2006/09/18 09:55:22 belardi * Corrected CVS keyword usage * * Revision 1.10 2006/09/18 09:23:18 belardi * Added Log CVS keyword into file header * * ***************************************************/#ifndef _ID3TAG_H_#define _ID3TAG_H_#include "xfile.h"#include "tag.h"#define ID3_BUFFER_LENGTH TAG_BUFFER_LENGTH //[LL] replaced (0x800)/* ID3 tag V1 definitions */#define ID3_TAG_V1 0x544147 /* "TAG" representation in hex */#define ID3_TAG_V1_ITEM_LENGTH (0x1e)#define ID3_TAG_V1_TITLE_POSITION (0x00 + 0x03) /* 3 is lenght of ID3 identifier */#define ID3_TAG_V1_ARTIST_POSITION (ID3_TAG_V1_TITLE_POSITION + ID3_TAG_V1_ITEM_LENGTH)#define ID3_TAG_V1_ALBUM_POSITION (ID3_TAG_V1_ARTIST_POSITION + ID3_TAG_V1_ITEM_LENGTH)#define ID3_TAG_V1_YEAR_POSITION (ID3_TAG_V1_ALBUM_POSITION + ID3_TAG_V1_ITEM_LENGTH)#define ID3_TAG_V1_COMMENT_POSITION (ID3_TAG_V1_YEAR_POSITION + 0x04) //year len is 4 chars#define ID3_TAG_V1_GENRE_POSITION (ID3_TAG_V1_COMMENT_POSITION + ID3_TAG_V1_ITEM_LENGTH)#define ISO8859 (0)/* ID3 tag V2 definitions */#define ID3_TAG_V2 0x494433 /* "ID3" representation in hex */#define ID3_TAG_V2_MAX_NB_FIELDS 6 /* how many headers have to be found */#define ID3_TAG_V2_VERSION_POSITION (0x03)#define ID3_TAG_V2_FLAGS_POSITION (0x05)#define ID3_TAG_V2_LENGTH_POSITION (0x06)#define ID3_TAG_V2_HEADER_LENGTH 10 /* ID3 Tag Header length *///id3v2.2#define TXT_TAL 0x54414C /* Album/Movie/Show title */#define TXT_TT2 0x545432 /* Title/Songname/Content description */#define TXT_TP1 0x545031 /* Lead artist(s)/Lead performer(s)/Soloist(s)/Performing group */#define TXT_COM 0x434F4D /* Comments */#define TXT_TYE 0x545945 /* Year */#define TXT_TCO 0x54434F /* Content type */#define TXT_TRK 0x54524B /* Track number*///id3v2.3 or v2.4#define TXT_TALB 0x54414C42 /* Album name */#define TXT_TIT2 0x54495432 /* Song title */#define TXT_TPE1 0x54504531 /* Artist name */#define TXT_COMM 0x434F4D4D /* Comments */#define TXT_TYER 0x54594552 /* Year */#define TXT_TCON 0x54434F4E /* Content type */#define TXT_APIC 0x41504943 /* Picture */#define TXT_TRCK 0x5452434B /* Track number */typedef enum{ ID3_V2_OLD_STYLE, ID3_V2_NEW_STYLE} FRAME_NAMES_STYLE;typedef enum{ ID3_NOT_PRESENT = 0, ID3_V1 = 1, ID3_V22 = 2, ID3_V23 = 4, ID3_V24 = 8} ID3_VERSION;typedef enum{ ID32_FIND_FRAME, ID32_READ_DATA, ID32_FRAME_SKIP, ID32_TERMINATE} ID32_PROCESSING_ENUM;GRESULT GetBitRate(t_SongInfos *songi);int ID3_TagDecode(t_SongInfos *song_info, uint32 count_down);int ID3_ExtractID3v1(t_SongInfos *song_info, uint8 *buffer);int ID3_ExtractID3v2(t_SongInfos *song_info, uint8 *buffer, uint32 count_down);//uint16 id3_v1_len(uint8 * buffer, uint16 maxsize); //[LL] moved to tag.h#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -